• Anonymous
  • Login
  • Register

Contribution Process


Contribution Process
1 Introduction and Participants
This document provides the details of the processes applicable to OpenNTF contributions and project development. It describes how to become involved, the roles and responsibilities of each of the various types of participants (Contributors, Committers, Technical Committee members) – and the details of submitting and clearing Projects.

It is recommended that participants in OpenNTF become familiar with the IP Policy. Many aspects of this Contribution Process are based on the IP Policy and if there are any discrepancies between the two documents, the IP Policy takes precedence.

2 Becoming A Contributor
Here are the steps to becoming a Contributor to a project (whether on the OpenNTF site or the github.com/openntf site.):

1. Set up an OpenNTF account - If you don't have one already, create an OpenNTF user account for yourself:
2. You need to execute the Individual Contributor License Agreement (“ICLA”).
  • Print the agreement to create a hardcopy
  • Sign the hardcopy
  • Fax the signed hardcopy to +1-845-491-7347 or email a scan of the hardcopy to IP-manager at openntf dot org
3. Or, if your employer has signed a Corporate Contributor License Agreement (“CCLA”), and that Agreement lists your name in the list of covered Contributors, then you do not have to execute an ICLA. If the CCLA does not list you, you can either ask your company to add you to the list, or alternatively complete an ICLA.

If there are any questions as to whether your company has signed a CCLA, and whether or not you are listed on it, you can contact IP-Manager at openntf dot org to find out.

3 Becoming a Committer
To become a Committer, you must first be a Contributor. You then need to send a request to IP-Manager at openntf dot org who will then set up an electronic vote of the existing Committers to accept or reject your application. Alternatively, the Steering Committee may appoint Committers.

4 Roles and Responsibilities for Contributors and Committers
Contributors form the backbone of OpenNTF. They are the ones who develop and manage the projects. Any Contributor may:
  • apply to join an ongoing Project by sending a request to the Project Lead;
  • initiate a Project – see below for a description;
  • become a Committer (as described in Section 3 above).
Committers are the OpenNTF Release Managers. As described in the IP Policy, Committers help with the Clearance process. The Project Clearance process is handled by Committers and the IP Manager.

5 Creation and Management of Projects:
While any Contributor may create new Projects, it is recommended that Project ideas first be posted to the OpenNTF Forum to canvas the opinions of other users. It is best to provide a relatively complete plan.
Before you get started, please consider the following:
  1. If there is another similar project already on OpenNTF, consider teaming up with the folks running that project so that you can get more done in less time.
  2. Only create projects and post code according to the terms of the IP Policy. If your project will include code that you (or other Contributors) did not develop, then you should consult the IP Manager before posting it. In this way you can get some assistance in managing the licensing issues associated with this 3rd party code.
  3. By creating a project, you agree to the IP Policy and to provide the full source code for the application. This is after all an open source website!
Every Project has its own starting page which contains the Project overview, release information, news, discussion, feature requests and bug submissions for your project. You can start a discussion about your project or post any news at any time. If you have questions, don't worry - we're there to help you! Click on ”Contact us” near the bottom of the Get Involved page or feel free to post your questions on the Main Forum.

The Project Leads are required to monitor the developer Forums associated with all Projects for which they have commit privileges, and to monitor any emails linking to content related to their project.

6 Release Process
Once you have posted your project, you can send the IP Manager a request to clear the release. Having your code cleared gives users more confidence that your code is less likely to have IP issues, and more likely to work properly. The IP Manager and a Committer will then carry out an analysis of the Release. The items analyzed during the IP Review include:
  • Verification that Contributors are covered by ICLAs or CCLAs
  • All 3rd party code accounted for in Notice files
  • Licenses are compatible
  • Documentation complete
  • Code appears to run properly.
When the Clearance process is successfully completed, the release will be flagged as “Cleared”.

Projects that are sponsored by OpenNTF, such as OpenNTF Essentials:
the project license will be Apache 2.0
All 3rd party components must be cleared.
This means that the full content of any OpenNTF-sponsored project, or project within OpenNTF Essentials, including 3rd party components, must pass the OpenNTF clearance process and be licensed under, or be compatible with, Apache 2.0. There is a list of pre-cleared projects that contributors are free to use without further issue. If a component is not on the list, then a contributor can email ip-manager at openntf to ask for it to be checked out.

7 Github
There is an OpenNTF space on GitHub to support the development of projects involving teams of Contributors. The idea is that development would be done on the Github site, with periodic releases of the project made to the OpenNTF site.

To Contribute to a Github project the same rules apply. All contributors (those who are members of the project “Team”, or even those who will to contribute code by providing their Pull to the project Team, must be OpenNTF Contributors as defined in Section 2 above.

To be allocated a Team space within the OpenNTF space of Github, you need to be registered on Github as well as on OpenNTF – and you need to send a request to IP-Manager at Openntf dot org.

8 License Process
This section provides a description of how to include the appropriate License and Notice information.
It is the Project Lead’s responsibility to ensure that the appropriate license information is provided with each Component, Sample and Project. In the top level (root) directory for each OpenNTF project there must be the following files:
  1. License File. This must be one of the approved OpenNTF licenses (Apache, GPL3, AGPL3, or LGPL3)
  2. Other License Files. At times Projects include software from other open source projects licensed under licenses which require that the license information be passed on in your project (such as the BSD and MIT licenses). The license text for these components must be included under the names “LICENSE_Xxxx.txt” where Xxxx is the name of the component.
  3. Notice File. The first few lines 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:
Copyright [yyyy] [Copyright owner(s)]

This product includes software developed for
OpenNTF (http://www.OpenNTF.org/)
The NOTICE file must also include a list of the 3rd party components, the URL where it may be obtained, the name of the associated license, and any notices required by those components. Notice files may also contain credits for the Project Leads and Contributors.

All License and Notice files should be simple ASCII text files.

Where feasible, all source files in an Apache-licensed product should include the following header text. This is advisable, for example, for Java source files, but not for design elements in NSFs or NTFs.
Copyright [yyyy] [name of copyright owner(s)]
Licensed 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
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
Source files in GPL/AGPL/LGPL projects should include a similar header – referring to the license being used.

Note however, if you are creating source files based on third party code, do not use the above source file header. In this case, you may insert your own copyright statements (along with the original copyright statements of the content) – and remember to list the third party code in your Notice file.

Do not, under any circumstances, remove copyright statements from any submission to OpenNTF.

9 OpenNTF Participation without writing code.
There are also ways to get engaged with OpenNTF without contributing code.
  • Any registered OpenNTF user can rate Projects and add comments as “Testimonials”.
  • Registered OpenNTF users can also create new ideas and vote and comment on other ideas.
  • General comments or questions can be posted in the OpenNTF forum;
  • OpenNTF is always also looking for people to help extend and maintain the OpenNTF technical infrastructure, e.g. to update the UI of the web site. If you would like to help please contact the chair of the OpenNTF Technical Committee at TC-chairman at openntf dot org.