Purpose and Intended Audience

This page provides a history of the answers to questions asked on the legal-discuss@ mailing list, and the scope of those answers. As each answer is as much dictated by Apache Software Foundation (ASF) policy as any other interpretation, it is of most value to ASF projects.

Software License Criteria

The following criteria serve as guidelines for the answers on this page.

  1. The license must meet the Open Source Definition.
  2. The license must not place restrictions on the distribution of independent works that simply use or contain the covered work.
  3. The license must not place restrictions on the distribution of larger works, other than to require that the covered component still complies with the conditions of its license.

Asking Questions

Please submit questions to the Legal Affair Committee JIRA space.

Previously Asked Questions

For the purposes of being a dependency to an Apache product, which licenses are considered to be similar in terms to the Apache License 2.0?

Works under the following licenses may be included within Apache products:

Many of these licenses have specific attribution terms that need to be adhered to, for example CC-A, often by adding them to the NOTICE file. Ensure you are doing this when including these works. Note, this list is colloquially known as the Category A list.

Which licenses may NOT be included within Apache products?

This list is colloquially known as the Category X list. Further discussion of disallowed licenses:

BCL
The Binary Code License falls far short of the Open Source Definition, thereby violating the first criterion for license approval.
NPL
The NPL is simply the Mozilla Public License (MPL) plus amendments that are specific to Netscape. Unfortunately, these amendments allow "Netscape" (now part of Time Warner) to avoid the reciprocity requirement that all other licensees must adhere to. This disqualifies the license from meeting Open Source Definition #5 ("No Discrimination Against Persons or Groups"). Therefore, the NPL is listed as an excluded license.
GNU GPL
Discussion of Apache License v2.0 and GPL Compatibility merits a separate page.
GNU LGPL
The LGPL is ineligible primarily due to the restrictions it places on larger works, violating the third license criterion. Therefore, LGPL-licensed works must not be included in Apache products.
Special exceptions to the GNU GPL
Some copyright holders have licensed their works under the GPL with special exceptions. Although these exceptions may appear to be addressing the restrictions disallowed by the ASF's first and second license criteria, the exceptions may only apply to software not "derived from or based on" the covered work. This references terms defined in the GPL that include works that "use" or "contain" the work.
CPOL
Due to restrictions (see 5.d and 5.f), falls short of the Open Source Definition, thereby violating the first criterion for license approval.
Field of use restrictions
Some licenses restrict the uses to which software licensed under them may be be used. An example is the Microsoft Limited Public License which limits the software or derivatives to the Windows platform. Java licenses have often forbidden the use of the software in particular environments (air traffic control, nuclear facilities etc).

Can Apache projects have external dependencies on Ruby licensed works?

A project written primarily and obviously in Ruby can have a dependency either on Matz's Ruby Interpreter (MRI), or on any Gem which is licensed under the Ruby license.
Of course Gems written under other licenses (such as MIT) may also be OK, depending on the license.

Can Apache projects include Creative Commons Attribution-Share Alike works?

Unmodified media under the Creative Commons Attribution-Share Alike 2.5 and Creative Commons Attribution-Share Alike 3.0 licenses may be included in Apache products, subject to the licenses attribution clauses which may require LICENSE/NOTICE/README changes. For any other type of CC-SA licensed work, please contact the Legal PMC.

How should so-called "Weak Copyleft" Licenses be handled?

Each license in this category requires some degree of reciprocity; this may mean that additional action is warranted in order to minimize the chance that a user of an Apache product will create a derivative work of a reciprocally-licensed portion of an Apache product without being aware of the applicable requirements.

Software under the following licenses may be included in binary form within an Apache product if the inclusion is appropriately labeled:

By including only the object/binary form, there is less exposed surface area of the third-party work from which a work might be derived; this addresses the second guiding principle of this policy. By attaching a prominent label to the distribution and requiring an explicit action by the user to get the reciprocally-licensed source, users are less likely to be unaware of restrictions significantly different from those of the Apache License. Please include the URL to the product's homepage in the prominent label.

For small amounts of source that is directly consumed by the ASF product at runtime in source form, and for which that source is unmodified and unlikely to be changed anyway (say, by virtue of being specified by a standard), inclusion of appropriately labeled source is also permitted. An example of this is the web-facesconfig_1_0.dtd, whose inclusion is mandated by the JSR 127: JavaServer Faces specification.

This is colloquially known as the Category B list.

Can Apache products include works licensed under the JSON license?

The JSON Java library may be included. Please contact legal-discuss@ for other products under this license.

Doug Lea's concurrent library is public domain, but contains some Sun files which are not public domain. Can this be included in an Apache product?

Yes, treat it much as you currently would the Category B licenses above - "it may be included in binary form within an Apache product if the inclusion is appropriately labeled". If using the source, remove the files Sun licensed to Doug and treat as Category A (or get it from Harmony).

Can OSGi metadata be added to weak copyleft binaries - thus modifying the binary jar file?

Insertion of OSGi metadata into 'Category B' licensed jars is permitted; even though that metadata becomes licensed under the 3rd party license when it is put in the jar, assuming that a note that this has occurred is included in the prominent labeling that the Category B language calls for.

Can Cobertura reports be included in Apache distributions?

Yes.

Does it matter what platform an Apache product is created to work with?

It does not matter, unless the terms for that platform affect the Apache product's licensing. For example, creating a product that runs on Windows or Java, uses a web service such as Google Services or Yahoo Search, or is a plugin for a product such as JBoss or JIRA is fine, whereas creating a Linux kernel module is not fine because the Apache product itself would have to be licensed under something other than the Apache License, version 2.0.

Note that this does not mean the platform code itself can be redistributed. That of course will depend on the licensing of said code. Also, if you have any doubts as to whether the licensing of the platform would affect the Apache code, we recommend that you check the legal-discuss@ archives to see if it has come up before, and if not email legal-discuss@ to find out.

Can Apache projects rely on components under prohibited licenses?

Apache projects cannot distribute any such components. As with the previous question on platforms, the component can be relied on if the component's licence terms do not affect the Apache product's licensing. For example, using a GPL'ed tool during the build is OK.

Can Apache projects rely on components whose licensing affects the Apache product?

Apache projects cannot distribute any such components. However, if the component is only needed for optional features, a project can provide the user with instructions on how to obtain and install the non-included work. Optional means that the component is not required for standard use of the product or for the product to achieve a desirable level of quality. The question to ask yourself in this situation is:

  • "Will the majority of users want to use my product without adding the optional components?"

Does the Yahoo! DomainKeys Patent License Agreement v1.2 raise any concerns?

No.

Is IP clearance required for library dependencies?

No.

IP clearance is used to import code bases from outside Apache for future development here.

How should licenses that prevent modification be handled?

There are licenses that give broad rights for redistribution of unmodified copies. Such licenses are not open source, but they do satisfy the second and third guiding principles above.

Apache projects must not include material under such licenses in version control or in released source packages. It is however acceptable for a build process to automatically download such non-software materials like fonts and standardized data and include them in the resulting binaries. Such use makes it clear that these dependencies are not a part of the open source code of the project.

Material under the following licenses may be used as described above:

Can build tools be included in ASF distributions?

Many languages have developed an ecosystem of associated tools that aid in the building of artifacts for distribution. While such tools may not always be made available under an otherwise compatible license, specific tools have been OK'ed for inclusion in Apache distribution when used for that specific purpose.

The most important criteria to be included in this category is that such tools are not customarily part of distributions of running code, unless such deliverables include source anyway. Other criteria for inclusion include: having been around for years, being defacto standards in their respective communities, being made available under are under "library" or "lesser" licenses or otherwise containing an exception which ensures that usage of this tool does not affect the license of the code against which it is run.

To date, the following tools have been approved for such usage:

How should works for which multiple mutually exclusive licenses are available be handled?

When including that work's licensing, state which license is being used and include only the license that you have chosen. Prefer Category A to Category B to Category X. You don't need to modify the work itself if, for example, it mentions the various licensing options in the source headers.

Can Works Placed In The Public Domain Be Included In Apache Products?

Works in the public domain (or covered by a license treated similarly) may be included within Apache products. Attribution is required (in a similar fashion to permissive licenses).

A work should be treated as being in the public domain when one of the following applies:

  • the work is covered by
    • the Creative Commons Public Domain Mark, or
    • a suitable dedication (to the public domain) by the authors; or
  • clear evidence exists that US copyright for the work
    • has expired, or
    • cannot be claimed.

Licenses that should be treated as similar to public domain:

Note that whether a work falls in the public domain may be a difficult, even controversial, subject. Questions have been raised about the effectiveness of attempts by authors to place works into the public domain (under modern copyright laws). Determining whether the copyright in a work has expired may often be non-trivial and may vary between jurisdictions.

What Are Required Third-party Notices?

When a release contains third party works, the licenses covering those works may ask that consumers are informed in certain specific fashions. These third party notices vary from license to license. Apache releases should contain a copy of each license, usually contained in the LICENSE document. For many licenses this is a sufficient notice. For some licenses some additional notice is required. In many cases, this will be included within the dependent artifact.

A required third-party notice is any third party notice which isn't covered by the above cases.