The Apache Software Foundation

 Applying the Apache License, Version 2.0

 Understanding the 2.0 license

The ALv2 consists of a set of copyright and patent licensing terms that are documented in the LICENSE-2.0.txt file. One of those terms provides for attribution notices to be included with a work in a NOTICE file, such that the attribution notices will remain, in some form, within any derivative works. The license terms are written in such a way that they can be used by anyone, not just the ASF, and can be applied by reference to the versioned license terms.

 Applying the license to new software

To apply the ALv2 to a new software distribution, include one copy of the license text by copying the file:

http://www.apache.org/licenses/LICENSE-2.0.txt

into a file called LICENSE in the top directory of your distribution. If the distribution is a jar or tar file, try to add the LICENSE file first in order to place it at the top of the archive.

In addition, a NOTICE file should be included in the same directory as the LICENSE file. The NOTICE should include only those attribution notices that are required by any part of the entire distribution. For Apache projects and those redistributing ASF software, the NOTICE file must contain the sentence:

   This product includes software developed by
   The Apache Software Foundation (http://www.apache.org/).

The license is applied to each source file (code and documentation, but excluding the LICENSE and NOTICE files) by including a short copyright notice at the top, as demonstrated by the boilerplate notice provided in the appendix.

Source files contributed to or developed as part of an ASF project should begin with a copyright notice like

   Copyright 2004 The Apache Software Foundation.
or
   Copyright 1999-2004 The Apache Software Foundation.
or
   Copyright 2002,2004 The Apache Software Foundation.

where the years given start with the first publication year of the file contents (the authored expression) and include a range of years for each year that new significant content (derivative work) is published within the file. Since the ASF publishes its code in public source repositories (using Subversion), we generally want to include a range of years starting with the year of origin. Do not worry about consistency in the first year -- it is not supposed to be uniform and should never be dated prior to the year of first creation.

If the distribution also contains source files not owned by the ASF, such as third-party libraries, then be sure to leave their licenses intact. In some cases, you may want to ask the author(s) of third-party code to relicense it under the 2.0 license, since that will simplify the distribution. Otherwise, you should append their license(s) to the LICENSE file at the top of the distribution, or at least put a pointer in the LICENSE file to the third-party license. In all cases, be sure to obey the licensing constraints of the original author. If that is not possible, then do not redistribute their work.

 Applying the license to existing software

You want to achieve a final distribution as described above for applying the license to new software. There is at least one tool for automatically converting an existing 1.1-licensed file (or tree of files) to the new license. It is available to committers under the committers/relicense module in the source repository. Please be careful to preserve the existing copyright dates and avoid applying the license to third-party files. For Apache software, we strongly recommend checking the diffs of each file and commit only one directory at a time (bottom-up) so that the changes can be verified without overwhelming reviewers.

 Frequently Asked Questions

Do I have to convert Apache 1.1 licenses to 2.0 licenses in source code?

If the code is owned or distributed by the Apache Software Foundation, then the answer is Yes. The 2.0 license was approved by the ASF board in their January 2004 meeting. As part of that meeting, the board mandated that all ASF software distributions must be converted to the new license by March 1, 2004.

If the code is not owned by the ASF, then the decision is up to the copyright owner. Naturally, we strongly recommend that you upgrade to the new license.

Where do I find a copy of the new license?

When do I have to convert ASF code to the new license?

All code released after 1 March 2004 must have been converted.

Do I have to convert old versions and branches of code to the new license?

Only if you want the ASF to make a new release of that code after 1 March 2004. "Dead" branches of code do not have to be updated

Does that mean live branches of code all have to be updated by 1 March 2004?

Code has to be updated prior to any release after 1 March 2004. However code in the source repository can remain under the old 1.1 license until such time as you are ready to perform a release. Note that this applies to any kind of release after 1 March 2004 - including bug fixes.

Do I have to have a copy of the license in each source file?

Only one full copy of the license is needed per distribution. Each source file only needs to contain the boilerplate notice at:

   http://www.apache.org/licenses/LICENSE-2.0.html#apply

In my current source files I have attribution notices for other works. Do I put this in each source file now?

No. The new license allows for a NOTICE file that contains such attribution notices (including the Apache attribution notice). See

   http://www.apache.org/licenses/example-NOTICE.txt

for an example that provides all of the notices applicable to the httpd-2.0 distribution.

Can/Should individual committers claim any copyright in the NOTICE or source code files?

No. The only ASF related copyright notice should be for The Apache Software Foundation.

The following text is extracted from an e-mail from Sander Striker. It describes some of the issues with multiple copyrights. The original e-mail can be found here.

The number of copyright lines has to be kept down to as few as possible. A single line with 'Copyright Apache Software Foundation' is prefered. While multiple copyright lines can coexist, they are undesirable for the following reasons:

Legal protection

When personal copyrights are mentioned, the ASF can do very little when it comes to legal protection (nothing we can do when someone is sued on personal title).

Social aspects

Acknowledgement of contributions per file has shown not to promote colloborative development.

There is the pattern where people try and touch as many files as possible to get their name in as many files as possible.

There is also the creation of personal islands within the codebase. The acknowledgements make this sentiment stronger. It will be less likely that someone touches a file that is marked as someone elses domain. This is bad.

Can the LICENSE and NOTICE files be called LICENSE.txt and NOTICE.txt?

This is permitted. However the preference is that the files be called LICENSE and NOTICE.

Should the license be included in source files for documentation (e.g. XML that is transformed to HTML)?

Yes. All source files should include the copyright notice boilerplate that indicates it is owned by the ASF and that it is distributed under the Apache License, Version 2.0.