OpenNTF
Intellectual Property Policy
Revised July 28, 2011
1. Overview
This Intellectual Property (“IP”) Policy governs the management of intellectual property by OpenNTF Inc. (“OpenNTF”), It describes the process of publishing contributions on the OpenNTF website, and how OpenNTF will accept, manage and license contributions.
The IP Policy has been designed to support a flexible approach to project development to meet the needs of both developers and consumers of the OpenNTF contributions. The Project Repository is essentially a continuation of the OpenNTF Repository that has existed since the turn of the century – but with a few additional constraints on the licensing side. The Catalog provides a home for Releases that have gone through an additional process that includes certain IP and other checks that are detailed below. The Catalog is divided into two sections, one for code contributed under GNU General Public License Version 3, GNU Lesser General Public License Version 3, or GNU Affero General Public License Version 3 (collectively “GPL3”) and related licenses – and the other for code contributed under Apache License Version 2 and compatible licenses.
In accordance with the OpenNTF Terms of Use, the code in the OpenNTF code bases, whether located in the Project Repository or the Catalog, is provided on an “as is” basis, without warranties or conditions of any kind, either expressed or implied, including, without limitation, any warranties or conditions of title, non-infringement, merchantability or fitness for a particular purpose. The licensee of any code from any of the OpenNTF code repositories is solely responsible for determining the appropriateness of the licenses associated with the OpenNTF code for licensee’s intended purpose. The licensee is also solely responsible for determining the appropriateness of using and distributing the code and assumes all risks associated with its use of the code, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and unavailability or interruption of operations.
2. People
For the purposes of this IP Policy, we use a number of terms that define an individual’s role, responsibilities and obligations in OpenNTF. These roles range from someone who simply downloads software from the site to those who are active in maintaining and updating OpenNTF software.
2.1. Unregistered Users
Unregistered Users are those who are using the OpenNTF site, downloading software, but who have not registered. Such people are subject to the Terms of Use, and the software licenses associated with the code they download.
2.2. Registered Users
Registered Users are those who have Registered on the site, with their real name. In addition to downloading software, Registered Users may participate in the forums, submit bug reports etc.
2.3. Project Observer
Project Observers are Registered Users who have been invited, by the Project Lead, to participate in an Incubator Release (defined below). Project Observers may download the Project, and participate in the discussions on the Project, but may not contribute code to the Project.
2.4. Contributor
To become a Contributor, a Registered User must either:
- complete an Individual Contributor License Agreement; or
- be listed in Schedule A of an Employer’s Corporate Contribution License Agreement.
Contributors who are listed in the Schedule A of a CCLA may only act as Contributors for those projects covered by the CCLA, unless they have executed an ICLA as well. However, optionally, CCLA’s may cover all OpenNTF work for the listed employees – not be limited to specific projects.
On acceptance of the ICLA by OpenNTF, Contributors may be invited by one or more Project Leads to contribute code to Projects under the control of those Project Leads. In addition, Contributors may contribute code for consideration by other Projects and may establish a new Project.
2.5. Project Lead
A Project Lead is a Contributor who has established a new Project, or who has been appointed to the position by the OpenNTF Board of Directors, the Technical Committee or has been asked to co-lead a project by an acting Project Lead.
Project Leads are responsible for project schedules, deciding on the project functionality, coordinating work, and coordinating the release. Project Leads may assign write Perms to Contributors to contribute code to the project. They may also allow any Registered User to be a Project Observer, even if that Registered User is not a Contributor.
2.6. Committer
Committers are Contributors who have applied to be a Committer, and who have been accepted either by a vote of the Board or by a vote of the current set of Committers.
Committers are the gate keepers to the Catalog (described below), and must follow the due diligence release process for any software that is placed into that Repository.
2.7. IP Managers
IP Managers are appointed by the Board to help OpenNTF manage IP and corporate governance issues. These are people with a background in open source licensing, software release procedures, and IP risk mitigation. There are three distinct IPManager roles:
- Corporate Governance;
- IP Management for the Apache Repositories (see details below);
- IP Management for the GPL Repositories (see details below).
One person may occupy one or two of these roles, but it is recommended that separate people perform the IP Management for the Apache and GPL Repositories.
3. Contribution Repositories
OpenNTF has established a hierarchical repository system. Projects may start out making Incubator Releases – where access is limited to the Contributors and Project Observers approved by the Project Lead. Once an Incubator Release meets the requirements listed in Section 3.1 below, it is made Visible, and can be downloaded by any User. Upon request of the Project Lead, the Release may then be submitted for IP Review, and once the conditions listed in Section 3.2 are met, the Release will be added to the Catalog.
3.1. Project Repository
The Project Repository contains Incubator and Visible releases where the former are visible only to those Contributors and Project Observers who have been approved by the Project Lead. Once a project meets the following conditions, it will become Visible:
- Those contributing to the Project are covered by ICLAs or CCLAs;
- The license under which the contribution is to be made available is compatible with either OpenNTF’s Apache or GPL licensing models (see Section 4);
- The licensing and Notice information is clearly noted (see Section 4);
- The code was entirely written by the Contributor(s) or, if there is material from third parties, that the Contributor has written permission or a license to include such material;
- The Project Lead has the IP Manager's approval for any encryption code that is in the Release.
3.2. Catalog
At any point of time, a Project Lead may initiate a process to have a Release of the project placed into the Catalog. The Catalog is divided into two lists of Releases - one for GPL-licensed code and one for Apache-licensed code. At this stage, a Committer, who was not part of the original development team, in cooperation with the IP Manager, must check the following aspects of the project:
- Verify that the contributors have completed an ICLA or been listed on an appropriate CCLA;
- Verify that all code appears to come from the original Contributors;
- This should be verified through visually scanning the code (in the case of a short submission), or an automated code scan conducted by the IP Manager;
- The IP Manager should ensure that all other sources of the code been accounted for and that their licenses are compatible?
- Check that all the licenses and notices properly included in the project distribution files;
- Check if there is any encryption code;
- Ensure that the release properly documented.
A release checklist is available to assist the Committer complete the release process. Note that Committers working on GPL code may not approve the release of Apache code, and vice versa.
Once the checklist has been completed, and, in the Committer’s opinion, all issues have been resolved, then the Release may be placed into the Catalog.
3.3. Legacy Releases
Releases on the OpenNTF site, that predate the implementation of this IP Policy, may continue to reside on the OpenNTF site, subject to Section 3.4 below, but will be flagged as Legacy Releases. Project Leads of Legacy Releases may request that the Release be analyzed for placement into the Catalog. Otherwise, no IP verification will be carried out on these Releases, except at the discretion of the IP Manager.
3.4. Removing a project.
The IP Manager may, at his or her sole discretion, remove, or set to Incubator status, projects for IP issues, or for breaching the spirit of open source. Specific reasons for taking such action may include:
Projects whose execution requires registration
Projects that do not contain all required source
Projects that are in clear breach of the conditions of the open source licenses
Projects that contain source under a non-approved license (except as noted in Section 4.3 below)
The IP Manager will give the Project Lead one weeks notice of his intention to take down, or render invisible a project, specifying the reasons for that action. Notwithstanding Section 3.3, Legacy Releases may be subject to such take down in the same manner.
4. Licensing.
As mentioned above, the OpenNTF permits two licensing models, one based on the Apache License Version 2, the other based on GPL v3.
4.1. Apache licensing.
Under the Apache licensing model, the contributions to OpenNTF are made, where possible, under the Apache License Version 2. (ALv2).
Third party contributions may be included under different licenses as long as:
- The third party license is compatible with Apache as listed here http://www.apache.org/legal/resolved.html or as approved by the IP Manager/Apache;
- The Contributor ensures that all the terms of the third party license are adhered to;
- That the root directory of any distribution includes the third party licenses (or where a root directory is not present, another standard mechanism may be used to include the licenses)
- The Notices File for the project contains licensing details for each 3rd party component that is under a license other than ALv2.
In addition, we have prepared a document http://openntf.org/home.nsf/dx/Applying_Apache_License that instructs how developers should add the appropriate header files to their Apache-licensed code, and how to name other 3rd party component licenses. Note that this process differs from the approach taken by the Apache Foundation. OpenNTF does not require the replacement of the original copyright statement by an OpenNTF Copyright. We request that contribution copyright statements reflect the copyrights of the Contributors.
Notice Files, as defined by the ALv2 may include credits for project Contributors and for additional included third party code.
4.2. GPL Licensing
Under the GPL Licensing model, Contributions to OpenNTF are made, where possible, under GPL v3, LGPL v3, or Affero GPL v3
GPL licensing compatibility is somewhat complex, and use of earlier versions of GPL licenses may be required to maintain compatibility with third party components (or earlier OpenNTF projects) that are under these earlier GPL licenses. Further details on compatibility among GPL licenses may be found here - http://www.fsf.org/licensing/licenses/gpl-faq.html#AllCompatibility.
Third party contributions may be included under different licenses as long as:
- The third party license is compatible with GPL as approved by the IP Manager/GPL;
- Any modifications to GPL v3 to manage the inter-license compatibilities are limited to that permitted under Section 7 and there is a clear indication of such Section 7-based modifications – see http://www.fsf.org/licensing/licenses/gpl-faq.html#GPLIncompatibleLibs;
- The Contributor ensures that all the terms of the third party license are adhered to; and
- The root directory of any distribution includes the third party licenses.
4.3. Proprietary Licensing for binary distributions.
In addition to the posting of open source Projects, as described above, the Board may approve the posting of binary files under proprietary licenses where the presence of these files furthers the goals of OpenNTF. Examples of such files include (without limitation):
- Binaries used to install or update OpenNTF Projects (where the installation/update code is subject to proprietary use restrictions);
- Software tools that could be useful for the development of code for OpenNTF – such as an SVN plugin to help with joint code development;
- Modifications and/or extensions to the Notes/Domino product that facilitate the functioning of one or more OpenNTF projects.
Such permission would be granted only:
- Where Users may make reasonable use of the binary file for no charge;
- Where the Users posting the files are covered by a CCLA or ICLA;
- Where the posting clearly indicates that the downloadable file is under a proprietary license; and
- There is no open source alternative that could easily serve as a replacement for the binary file.
5. Cryptography
OpenNTF has not applied for an Export Commodity Control Number (ECCN) from the U.S. Government Department of Commerce, Bureau of Export Administration. Any modifications, additions or removal of cryptographic code, should be brought to the IP Manager’s attention.
6. Trademarks and Logos
The use of trademarks and logos associated with OpenNTF shall be in accordance with the then current OpenNTF Trademark Usage Guidelines. Any Member’s trade marks or logos appearing on the OpenNTF’s website or in any documentation and materials provided by OpenNTF shall not be used by any other Member, Contributor or third party without obtaining the express written consent of the Member owning such trade mark and/or logo.
7. Allegations of Infringement of Copyright or Patents
If a third party believes that any Content contained on or accessible through the OpenNTF Website infringes its copyright or patents, such third party should notify the IP Governance Manager of OpenNTF and provide the IP Governance Manager with the information specified in the OpenNTF Copyright or Patent Notification Procedure in accordance with the procedure also specified in the Notification Procedure. The form of notice specified and the procedures is consistent with the form suggested by the United States Digital Millennium Copyright Act, which can be found at .http://www.copyright.gov/legislation/dmca.pdf. Any third party who makes a material misrepresentation when making a claim of copyright infringement or filing a counter notification will be liable for damages (including costs and legal fees).
8. Removing a Project
A Project Lead may request the removal of a Project, but this will only be carried out at the discretion of the Board. Removal of a Project is unlikely to be permitted unless there is a legal reason for doing so, or if the project is available through another project. Old Releases may be removed if the code and functionality has been made available in later Releases.