Skip to Main Content

Course & Subject Guides

Open Licenses: Creative Commons and other options for sharing your work

Balancing the rights of creators and users. Open licenses grant users some permissions to use and distribute a work, permission not granted by the default "all rights reserved" of copyright.

Apache License

Developed by the Apache Software Foundation and introduced in 2004, the Apache 2.0 License is a is a permissive free software license. The license permits use of the software for any purpose, users are able to distribute it, to modify it, and to distribute modified versions of the software. Unlike Copyleft licenses, Apache 2.0 permits derivative works to be distributed under a different, more restrictive, license. However, all unmodified components must use the Apache 2.0 license. 

Apache license conditions

The Apache 2.0 license is quite detailed. The basics of the license is that anyone who uses open source software licensed under Apache 2.0 must include the following in their copy of the code, whether they have modified it or not:

  1. The original copyright notice
  2. A copy of the license itself
  3. If applicable, a statement of any significant changes made to the original code
  4. A copy of the NOTICE file with attribution notes (if the original library has one)

The requirement to list any significant changes to the original code is a major difference between the other popular permissive licenses, such as the MIT and BSD licenses. Unlike with Copyleft licenses you don't have to release the code, just disclose the changes you made.

Using Apache 2.0 licensed code

You can use licensed code commercially, including in proprietary software that you sell 

Alter the the code

Distribute copies or modification of the code

Sub-license modified versions of the code under a different license

Place a warranty on the code

Apache 2.0 compatability

There are a number of licenses that the Apache Software Foundation considers to be compatible with Apache 2.0, these include much of the BSD family of licenses so long as they do not include the advertising clause. Apache 2.0 software can also be included as derivative works in GNU GPLv.3 projects, so long as thee resulting software is licensed under the GNU GPLv.3. The reverse is not true, which means that GNU GPLv.3 licensed code can not be used in a project where the final software code has an Apache 2.0 License.

There is also concern within the Apache 2.0 community about the interoperability between the Apache 2.0 License and the Creative Commons Attribution License (CC-BY) because of the clause allowing for the circumvention of "Effective Technological Measures"

The Apache Software Foundation maintains a listing of the compatibility of the Apache License with 3rd party licenses. ASF also has a statement on the compatibility issues  with the GNU GPLv.3 license.

 

Apache 2.0: Grant of Patent License

The Apache 2.0 license contains a patent grant that ensure that authors that contribute code to an Apache 2.0 licensed project cannot restrict others from using the contribution by claiming their use infringes on a patent they hold. As outlined in section 3 of the license.

3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted.

Jeffery Kaufman at Opensource.com has a useful post on understanding the Apache 2.0 patent grant.