wiki:ApertureLicense

Version 15 (modified by anonymous, 19 years ago) (diff)

--

License

The Aperture project is published with the following licensing policy.

The core parts (APIs and closely associated classes) are free to use and to extend. They should be as open as possible so that anyone can include Aperture in a project, commercial, closed source or not. Especially, people should not be required (or even think they are required) to disclose their own implementations for accessing proprietary document formats, data sources, etc.

Besides a framework, Aperture contains a number of concrete adapter and extractor implementations. A lot of time and effort has been put in their creation and maintenance and they are therefore licensed under a reciprocal license, meaning that changes to this code, such as functional extentions, bugfixes, performance improvements, that are redistributed in one way or another way, have to be made available to the community under the same open source license.

Aduna Perspective

We at Aduna have internally formulated a number of requirements we believe the Aperture license should have. We are still open to discussion on these requirements though. These are our requirements:

Judicially clear license - The license should provide a clear view and contain a judicially sound formulation of what rights a user is being given. Read e.g. this document for a discussion on the sloppiness of the (L)GPL in this matter and what this could lead to in court case.

Politically neutral - so no moral preamble like the (L)GPL, which serves us of no practical use.

Reciprocal license - Improvements to our work (politically correct: work performed by the community) should be given back to that community.

Limited reciprocity - on the other hand, if you create your own components that are to be placed inside the framework, e.g. an Extractor for a proprietary document format, you should not be required to make this available to the community. Rationale: this code may necessarily contain trade secrets and you don't want to scare away such users. Also, people seem to have a natural tendency for more generically applicable component to make them available to the project team, if only because they get free expert feedback and, once incorporated into the project, free code maintainance.

Built-in patent license - when you contribute code to the project, you automatically give people a royalty-free parent license for using that code, in case the code would otherwise infringe one of your patents. This prevents contributors from contributing code and coming back later to collect royalties. This patent license should be formulated in a fair way, e.g. should cover both Aperture and derivative works.

Built-in patent defense - when you sue someone (either a developer or a user) for a patent infringement related to this code, all your rights (patent- and copyright-related) for this codebase should be withdrawn. This defense should be formulated in a fair way, e.g. it should not involve infringements by a contributor outside this project.

External deployment - making a derivate work available as a service on a network to others outside your organisation should be considered as a form of distribution. The license should demand that under these circumstances the derivative should also be made available under the used open source license.

Local jurisdiction - we prefer a local court (i.e. Dutch or German, depending on who is involved) rather than one in California (MPL) or New York (CPL).

So far, all these demands are (not coincidentally) met by the OSL. Still, we fear that people may think that, due to how the OSL is formulated, people may still be tempted to think that their own implementations of core APIs such as DataSource and Extractor should always be made available to the community. We believe this is not the same under the OSL (this type of extension does not qualify as a derivative work under copyright law). However, to prevent all confusion and discussion in the first place, we propose to publish all core APIs and possibly some classes that cannot be separated from it under the ASL and all concrete implementations under the OSL.

To Discuss

still open: AFL or BSD for core: If BSD is similiar to AFL, Leo would recommend BSD as it is more commonly used.

The core project interfaces and architecture is published using the AFL http://www.opensource.org/licenses/afl-2.1.php OR BSD: http://www.opensource.org/licenses/bsd-license.php

The implementations of adapters are licensed under the OSL (Open Software License). http://www.opensource.org/licenses/osl-2.1.php

Background Info