The Apache License is very similar to the BSD and MIT Licenses already described. The Apache License, Version 1.1, follows substantially the same pattern as the BSD License in premising distribution and modification upon compliance with relatively unrestrictive terms. Version 2.0, a top-down rewriting of the license, was first published in 2004 and is described in detail later.
Version 1.1 is slightly longer than the licenses discussed earlier in the chapter, but it operates in much the same way.
Copyright (c) 2000 The Apache Software Foundation.
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
The copyright notice, the clause introducing the limitations on distribution, and the first two limitations are substantially identical to those in the BSD License.
3. The end-user documentation included with the redistribution, if any, must include the following acknowledgment: "This product includes software developed by the Apache Software Foundation (http://www.apache.org/)."
Alternately, this acknowledgment may appear in the software itself, if and wherever such third-party acknowledgments normally appear.
The Apache License does not have the cumbersome advertising clause in the rescinded version of the BSD License, but it requires an acknowledgment of the creator's contribution to the work being distributed.
4. The names "Apache" and "Apache Software Foundation" must not be used to endorse or promote products derived from this software without prior written permission. For written permission, please contact apache@apache.org.
Like the BSD License, the Apache License contains a non-attribution provision, which protects the reputation of the creator.
5. Products derived from this software may not be called "Apache" nor may "Apache" appear in their name, without prior written permission of the Apache Software Foundation.
Like the provision just discussed, this provision prevents the possibly damaging association of the creator with derivative works created from the original code.
Finally, the Apache License includes a warranty disclaimer provision substantially similar to those already described.
THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
The license closes with clauses identifying the contributors to the code being distributed. These are not, strictly speaking, parts of the license as they impose no obligation on the user.
This software consists of voluntary contributions made by many individuals on behalf of the Apache Software Foundation. For more information on the Apache Software Foundation, please see <http://www.apache.org/>.
Portions of this software are based upon public domain software originally written at the National Center for Supercomputing Applications, University of Illinois, Urbana-Champaign.
Released in January, 2004, the Apache License, v2.0, is a thorough revision of the Apache License. While the Apache License, v1.1, operates much like a BSD or MIT License with a non-endorsement provision barring the use of the Apache name without permission, v2.0 is a fuller and more complex license, laying out in more specific detail the rights granted. In particular, v2.0 differs in that it expressly addresses both patent rights being granted by the license and the use of other licenses for derivative works based on works licensed under v2.0. Perhaps most importantly, v2.0 provides for "Contributions" to the licensed work that are made with the express understanding that they will become part of the licensed work and will be governed by v2.0.
After the introductory phrases, definitions appear.
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
"License" shall mean the terms and conditions for use, reproduction and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.
These terms are both self-explanatory. The "License" is this document. The Licensor is that person with ability and inclination to grant the rights described in the License.
"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.
"Legal Entity", substantially similar to the Mozilla Public License described in the next chapter, provides that complexly structured organizations, such as many large corporations, are considered to be one entity for the purposes of this license.[1]
"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License.
"You" is equivalent to the licensee, i.e., the party that is bound by the license.
"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files.
This definition is a slightly more expansive form of the term "source code," expanded to include documentation, source, and configuration, including all information necessary or useful in modifying or creating a derivative work from a piece of code.
"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types.
This definition is also a more expansive form of what is generally referred to as the executable form of code, compiled so that, when run, the code performs a function or functions.
"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below).
This term "Work" is substantially similar to work as that term is used in copyright law and throughout this book. "Work" is the copyrighted work that is the subject of the license.
"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.
This definition, " Derivative Works," is also substantially similar to the term derivative work as used in copyright law and in this book. It means a work that is a modification of or otherwise derived from the original work. This definition excludes certain combinations of works: when another work merely links to the interfaces of the "Work" it does not become a "Derivative Work," as that term is used in this license. This is an important distinction, as specific limitations apply under the License to Derivative Works, explained later.
"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution."
A "Contribution" is a specific modification to the Work that is provided to the original Licensor for the explicit purpose of being included in the Work. A Licensee under the License may choose to modify the Work and to create a separate Derivative Work subject to the terms of the License. A licensee may also choose to submit that modification to the Licensor in the form of a Contribution, and, if accepted, that Contribution becomes part of the original Work, under the copyright and control of the Licensor. The original work with any such "Contributions," obviously, will continue to be licensed under v2.0.
"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work.
This is a common sense reflection of Contribution: a Licensee who makes a Contribution is a Contributor. The original Licensor is also a Contributor, as that term is used in the License.
2. Grant of Copyright 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 copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form.
This provision is, as described in its title, the grant of copyright license. The license granted is irrevocable and royalty free and grants Licensees all the rights available under copyright, including the right to reproduce and distribute the Work and Derivative Works. As part of making a Contribution, a Contributor has consented to making a grant of rights as to the Contribution on the same terms as the original Work.
Unlike the BSD, MIT, and the Apache License, v1.1, the Apache License, v2.0, also explicitly grants rights under a patent claims that may exist in the original Work.
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. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.
This patent license only grants the irrevocable, royalty-free license to the extent that such patent rights are necessary to use the original Work (and Contributions thereto). This grant does not extend to patent rights that may inhere in the Work separate and apart from the Work itself. Like the Academic Free License, described in the next section, in the event that a Licensee initiates patent litigation against any Contributor on the basis that any part of the Work infringes on a patent, the License terminates as to that Licensee as of the date that litigation is filed. This prevents the situation in which a party is getting the benefit of the rights to the Work under the License while at the same time suing the Licensor or Contributor under a claim of patent infringement.[2]
Redistribution of the Work or Derivative Works created by the licensee therefrom is permitted to that licensee subject to certain, relatively limited, restrictions.
You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:
1. You must give any other recipients of the Work or Derivative Works a copy of this License; and
2. You must cause any modified files to carry prominent notices stating that You changed the files; and
3. You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and
4. If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License.
These terms give fair notice to the licensee's distributees—those people receiving a copy of the Work or a Derivative Work from a licensee—of the terms of the license applicable to the Work; the modifications, if any, made to the Work; the copyright, patent, and trademark notices present in the original Work; and, if applicable, the Notice file distributed with the Work.
The last paragraph of this section makes explicit what is implicit in the MIT, BSD, and Apache License, v1.1, which is that the creator of a Derivative Work based on the Work may license that Derivative Work under a license other than that applicable to the original work.
You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.
The application of different license terms (which may include proprietary license terms) is permitted so long as the terms of that license comply with the License. There is no requirement that the Licensor of such a Derivative Work make available the source code for the Derivative Work or otherwise license it under an open source or free software license.
5. Submission of Contributions.
Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.
This section makes clear what was implicit in the definition of Contribution already described. By making a Contribution, the Contributor agrees that the Contribution shall be governed by the terms of the License unless another, specific agreement is made with the Licensor.
This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.
As was the case with the Apache License, v1.1, licensees are not granted any trademark rights and are prohibited from associating the name of the Licensor with their Derivative Works (or their distribution of the original Work), except as necessary to give notice of the source of the work.
Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License.
In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages.
These two provisions operate the same way as those provisions in the MIT, BSD, and Apache License, v1.1, in disclaiming warranties and limiting liabilities, except under circumstances where a Contributor has explicitly undertaken to provide a warranty.
9. Accepting Warranty or Additional Liability.
While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability.
This section explicitly permits a licensee to enter into a separate warranty arrangement with others for the Work or Derivative Works. This makes clear what is implicit in Sections 7 and 8, that such a warranty obligation only extends to the party making that warranty and not to any Contributor. Any licensee making such a warranty agrees to "indemnify, defend, and hold harmless" any Contributor in connection with any claim against such a Contributor. This means that the party giving the warranty agrees to pay any and all costs associated with defending such a claim, including attorney's fees and the costs of paying a judgment, if a judgment is entered against such a Contributor.
Following the end of the "terms and conditions" is a short appendix with a boilerplate notice indicating that a given Work is subject to the terms of this License.
The Apache License, v2.0, operates substantially like the MIT, BSD, and Apache License, v1.1, with some additional benefits. First, it makes clear that the licensing of Derivative Works under other licenses is permitted so long as the terms of the Apache License, v2.0, are complied with. This is implied but not specifically spelled out in the MIT and BSD Licenses. Second, the Apache License, v2.0, provides clearly marked pathways for both open development and non-open development of code licensed under it. By making a Contribution, a licensee is agreeing to have that addition to the Work licensed under the same, open, terms applicable to the original Work. Particularly for dynamic well-organized open developments like Apache, this is likely a common result for modifications to the Work. But there is no obligation to make a Contribution: licensees are free to take their Derivative Work and license it under a different license. While this approach does not resolve the tension between open and closed development of software, at least it makes what the options are clear.
[1] As discussed in Chapter 3, such a provision may simplify compliance by the licensee with the terms of the license but may not be enforceable in every case.
[2] This treatment of patent litigation renders v2.0 incompatible with the GNU General Public License described in the next chapter. See http://www.apache.org/licenses/GPL-compatibility.html.
Get Understanding Open Source and Free Software Licensing now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.