Purpose and Intended Audience

This document describes how Apache committers and PMC members should handle source file licensing and copyright notices. It does not apply to developers outside the ASF who are applying the Apache License to their work. The appendix to the Apache License describes how others can apply the license to their work. This page also does not describe requirements for what goes in the standard LICENSE file distributed with each Apache product release, nor what are the acceptable licenses for distribution of third-party components.

Overview

Apache products are composed of lots of pieces of code across numerous source files, licensed to the ASF by various authors who maintain ownership of their contributions. When a PMC goes through the process of selecting, coordinating, and arranging all these various contributions into a single product, the collective work is also protected by copyright law and is owned by the ASF -- even though each individual piece of code is still owned by the contributor. An Apache product may also include other components that were not submitted directly to the ASF, but are licensed in such a way that is consistent with the ASF's licensing practices.

Considering all of these factors, this document describes how to:

This document also includes: which will be updated as new questions come up on the legal-discuss mailing list.

Notification of Updates to this Page

Updates to this page are sent to the legal-discuss mailing list.

Source File Headers for Code Developed at the ASF

Treatment of Third-Party Works

NOTICE file

Frequently Asked Questions

When must Apache projects comply with this policy?

All releases created and distributed after November 1, 2006 must comply with this policy.

Why is this change required?

Since contributors maintain their copyright ownership in the works they submit, it is misleading to place the ASF copyright at the top of each source file. The previous ASF copyright notice represented the ASF's ownership in the collective work of the entire distribution, but placing it at the top of each source file was causing a lot of confusion. To avoid this confusion, we are placing all copyright notices in a single file and leaving only the licensing information within each source file.

Is it sufficient just to change the headers on files in trunk and active branches?

Yes. Only active branches from which releases are cut need to be updated.

Should a project move non-ASF copyright notices from Apache source files to the NOTICE file?

No. If the copyright owner is still involved with the project, they should move the notice themselves or permit us to do so. If the owner cannot be found, the copyright notice should be left as is, but the new licensing header should be added or substituted for any existing Apache license header.

What scripts are available to update existing source headers?

See https://svn.apache.org/repos/private/committers/ for some examples. In particular, the following files have been updated to reflect the latest header requirement:

  • tools/copy2license.pl, and
  • relicense/src/perl/{relicense.txt | insert_license.pl | update-AL20.pl}
However, be sure to check that these scripts work for your project's code base. See a post on legal-discuss on this topic.

Where can I find an example of the NOTICE file that is required to be included in every ASF release?
Does this policy apply to documentation files included in a release?

Yes.

Does this policy also apply to content displayed on our web sites?

No. Our web sites do not have an associated NOTICE file. Instead we may soon be making the terms of such content explicit through a "Terms of Use" or "Legal Information" link in the footer of web pages. At this point, no action is required for Apache web sites.

What if my project includes its web site within a product distribution?

With few exceptions, all human-readable Apache-developed files that are included within a distribution must include the header text. Documentation, including web site documentation distributed with the release, may include the header text within some form of metadata (such as HTML comments) or as a header or footer appearing in the visible documentation.

What files in an Apache release do not require a license header?

A file without any degree of creativity in either its literal elements or its structure is not protected by copyright law; therefore, such a file does not require a license header. If in doubt about the extent of the file's creativity, add the license header to the file.

Does the policy apply to binary/object files, such as executables or JAR files?

Yes. Even if there are no source files within the release, the LICENSE file and NOTICE file are still both required within every ASF distribution -- whether the unit of distribution is a .jar, .msi, .tar/.?gz, .zip, .exe installer, or any other file format used for distributions. For example, Windows .exe files must not be used as a unit of distribution unless they are installers and include the LICENSE and NOTICE files in their installation.

Does this policy apply to third-party binary/object files included within an ASF release?

Yes. See the policy's third-party works section, particularly the requirement to ensure a license exists for each third-party work.

Do images or other media require a copyright line in the NOTICE file?

If the media was contributed directly to an ASF project, the contributor has the option to insert their copyright notice in the NOTICE file, as is described for source files. If the media comes from a third-party source (not contributed directly to the project), then any copyright notice that is obviously associated with the media should be copied into the NOTICE file.

Why is a licensing header necessary?

License headers allow someone examining the file to know the terms for the work, even when it is distributed without the rest of the distribution. Without a licensing notice, it must be assumed that the author has reserved all rights, including the right to copy, modify, and redistribute.

Does this policy apply to projects outside the ASF that use the Apache License?

No. This is strictly an ASF policy. Other projects using the Apache License should still refer to the license's appendix for guidance on applying a header to their source files.