On 14 January 2013 05:00, <mar...@apache.org> wrote: > Author: marvin > Date: Mon Jan 14 05:00:28 2013 > New Revision: 1432804 > > URL: http://svn.apache.org/viewvc?rev=1432804&view=rev > Log: > INCUBATOR-125 Initial version of howto. > > Create a howto describing a formulaic approach to assembling the > LICENSE and NOTICE files for an Apache product.
V. Useful. > Added: > incubator/public/branches/license_howto/licensing_howto.mdtext > > Added: incubator/public/branches/license_howto/licensing_howto.mdtext > URL: > http://svn.apache.org/viewvc/incubator/public/branches/license_howto/licensing_howto.mdtext?rev=1432804&view=auto > ============================================================================== > --- incubator/public/branches/license_howto/licensing_howto.mdtext (added) > +++ incubator/public/branches/license_howto/licensing_howto.mdtext Mon Jan 14 > 05:00:28 2013 > @@ -0,0 +1,151 @@ > +Title: Assembling LICENSE and NOTICE. > + > +[TOC] > + > +Assembling LICENSE and NOTICE > +============================= > + > +Intended Audience > +----------------- > + > +This document is a "how to" guide aimed at Apache Committers assembling > +`LICENSE` and `NOTICE` files for an Apache product. The focus is on > +mechanics; complete requirements for these files are described > +[elsewhere](http://www.apache.org/legal). > + > +Location Within the Source Tree > +------------------------------- > + > +`LICENSE` and `NOTICE` belong at the top level of the source tree. They may > +be named `LICENSE.txt` and `NOTICE.txt`, but the bare names are preferred. > + > +The Simple Case -- No Bundled Dependencies > +------------------------------------------ > + > +For a source tree which consists entirely of code licensed to the ASF by the > +copyright holders and which has no bundled dependencies, `LICENSE` should > +contain the text of the [ALv2](http://apache.org/licenses/LICENSE-2.0.txt) -- > +no more, no less. > + > +`NOTICE` should contain only the following text, adapted with the product's > +name and copyright dates: > + > + Apache Foo > + Copyright XXXX-20XX The Apache Software Foundation > + > + This product includes software developed at > + The Apache Software Foundation (http://www.apache.org/). > + > +Bundling Permissively-Licensed Dependencies > +=========================================== > + > +Bundling a dependency which is issued under one of the following licenses is > +straightforward, assuming that said license applies uniformly to all files > +within the dependency: > + > +* BSD (without advertising clause). Including variants: > + * DOM4J License > +* MIT/X11 > +* ICU > +* University of Illinois/NCSA > +* W3C Software License > +* X.Net > +* zlib/libpng > +* FSF autoconf license > +* DejaVu Fonts (Bitstream Vera/Arev licenses) > +* Academic Free License 3.0 > +* Service+Component+Architecture+Specifications > +* OOXML XSD ECMA License > +* Microsoft Public License (MsPL) > +* Creative Commons Attribution (CC-A) > +* Creative Commons Copyright-Only Dedication > +* Python Software Foundation License > +* Adobe Postcript(R) AFM files > +* Boost Software License Version 1.0 > +* Eclipse Distribution License 1.0 > +* License for CERN packages in COLT but note that this applies only to CERN > + packages in COLT and not others The above list presumably relates to http://www.apache.org/legal/resolved.html#category-a If so, this link should be documented (bilaterally) please. > + > +In `LICENSE`, add a pointer to the dependency's location within the source > tree > +and a short note summarizing its licensing: > + > + This product bundles SuperWidget, which is available under a "3-clause > + BSD" license. For details, see deps/superwidget/. > + The license text itself (i.e. BSD) should be included in the LICENSE file. The user should not have to wander around the source tree. Where several components have an identical license, they can share the text. Best practise is to include the component version info, e.g. SuperWidget 1.234. It's not unknown for licenses to change. > +Under normal circumstances, there is no need to modify `NOTICE`. > + > +(TODO: Clarify with Roy that this "pointer" text satisfies his intent.) > + > +(TODO: Ensure that pointers suffice for binary distributions.) > + > +(TODO: Verify that guidance is accurate for each license in the list.) > + > +Bundling an Apache-2.0-licensed Dependency > +------------------------------------------ > + > +Assuming once again that that the dependency subtree contains no bundled > +subcomponents under other licenses and thus the ALv2 applies uniformly to all > +files, there is no need to modify `LICENSE`. > + > +If the dependency supplies a `NOTICE` file, its contents must be analyzed and > +the relevant portions bubbled up into the top-level `NOTICE` file. > + > +### Bundling Other ASF Products > + > +It is not necessary to duplicate the line "This product includes software > +developed at the Apache Software Foundation...", though the ASF copyright > line > +and any other portions of `NOTICE` must be considered for propagation. > + > + > +Modifications to NOTICE > +======================= > + > +Aside from Apache-licensed dependencies which supply `NOTICE` files of their > +own, it is rare for a dependency to require additions to `NOTICE`. `NOTICE` > +is reserved for a certain subset of legally required notifications which are > +not satisfied by either the text of `LICENSE` or the presence of licensing > +information embedded within the dependency subtree. Elements such as the > +copyright notifications embedded within BSD and MIT licenses need not be > +duplicated in `NOTICE` -- it suffices to leave those notices in their > original > +locations. > + > +It is important to keep `NOTICE` as brief and simple as possible, as each > +addition places a burden on downstream consumers. _Do not add anything to > +`NOTICE` which is not legally required._ > + > + > +Non-bundled Dependencies > +======================== > + > +Dependencies which are not included within the distribution MUST NOT be added > +to `LICENSE` and `NOTICE`. As far as `LICENSE` and `NOTICE` are concerned, > +_only bundled bits matter._ > + [Though there is no harm (apart from file size) if the LICENSE file contains unnecessary text.] It is important that the NOTICE file is not cluttered with irrelevant text. > + > +Binary Distributions with Additional Bundled Dependencies > +========================================================= > + > +It is common for binary packages distributed alongside canonical source > +packages to bundle additional dependencies. If that is the case, the > +`LICENSE` and `NOTICE` files for the compiled package and the source package > +must be treated separately. Licensing information for dependencies which are > +bundled only with the binary distribution _must not_ be included in `LICENSE` > +and `NOTICE` for the source package. > + > +One technique to achieve this goal is to keep separate files within the > source > +tree, e.g. `dev/BINARY_NOTICE` and `dev/BINARY_LICENSE`, and to have a build > +script swap them into place when the binary package is assembled. > + > +Dependencies of Dependencies > +============================ > + > +Dependencies of dependencies (including so-called "transitive dependencies") > +are no different from first-order dependencies for the purposes of assembling > +`LICENSE` and `NOTICE`: `LICENSE` and `NOTICE` need only be modified to > +accommodate them _if and only if their bits are bundled_. > + > + > +Bundling "Weak Copyleft" Dependencies > +===================================== > + > +TODO > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: cvs-unsubscr...@incubator.apache.org > For additional commands, e-mail: cvs-h...@incubator.apache.org > --------------------------------------------------------------------- To unsubscribe, e-mail: general-unsubscr...@incubator.apache.org For additional commands, e-mail: general-h...@incubator.apache.org