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: - Label source headers of contributed source, - Treat copyright and licensing of third-party works, and - Use the NOTICE file to collect copyright notices and required attributions.

This document also includes: - Frequently Asked Questions,

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


  1. This section refers only to works submitted directly to the ASF by the copyright owner or owner's agent.
  2. If the source file is submitted with a copyright notice included in it, the copyright owner (or owner's agent) must either:
    1. remove such notices, or
    2. move them to the NOTICE file associated with each applicable project release, or
    3. provide written permission for the ASF to make such removal or relocation of the notices.
  3. Each source file should include the following license header -- note that there should be no copyright notice in the header:

    Licensed to the Apache Software Foundation (ASF) under one
    or more contributor license agreements.  See the NOTICE file
    distributed with this work for additional information
    regarding copyright ownership.  The ASF licenses this file
    to you under the Apache License, Version 2.0 (the
    "License"); you may not use this file except in compliance
    with the License.  You may obtain a copy of the License at
    
      http://www.apache.org/licenses/LICENSE-2.0
    
    Unless required by applicable law or agreed to in writing,
    software distributed under the License is distributed on an
    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
    KIND, either express or implied.  See the License for the
    specific language governing permissions and limitations
    under the License.
    

Treatment of Third-Party Works


  1. The term "third-party work" refers to a work not submitted directly to the ASF by the copyright owner or owner's agent.
  2. Do not modify or remove any copyright notices or licenses within third-party works.
  3. Do ensure that every third-party work includes its associated license, even if that requires adding a copy of the license from the third-party download site into the distribution.
  4. Do not add the standard Apache License header to the top of third-party source files.
  5. Minor modifications/additions to third-party source files should typically be licensed under the same terms as the rest of the rest of the third-party source for convenience.
  6. Major modifications/additions to third-party should be dealt with on a case-by-case basis by the PMC.

NOTICE file


  1. Every Apache distribution should include a NOTICE file in the top directory, along with the standard LICENSE file.
  2. The top of each NOTICE file should include the following text, suitably modified to reflect the product name and year(s) of distribution of the current and past versions of the product:

    Apache [PRODUCT_NAME]
    Copyright [yyyy] The Apache Software Foundation
    
    This product includes software developed at
    The Apache Software Foundation (http://www.apache.org/).
    

  3. The remainder of the NOTICE file is to be used for required third-party notices.
    The NOTICE file may also include copyright notices moved from source files submitted to the ASF.
  4. See also Modifications to NOTICE

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?

See the httpd project NOTICE example.

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.