Jump to: navigation, search

Development Resources/Initial Contribution


Before you can make an initial contribution, your project needs to be provisioned. As part of that process, your project will be given a code repository, access to the downloads server, etc. You and your other developers will also be given committer access; only committers can write code into your code repository. But before you start writing to the repository, your first contribution ("initial contribution") must be scrutinized by the Eclipse IP Team.

Before you begin, make sure that you are familiar with your top-level project's charter, and that the contribution aligns with the scope of that charter and the scope defined by your project. You should discuss the nature of the contribution with your project, parent project leadership (if any), and PMC. Your PMC will be required to authorize your contribution; socialization of the contribution will make the process run more smoothly.

Incubating projects at Eclipse can take advantage of the parallel IP process for contributions. With parallel IP, the IP team performs a rudimentary scan of the contribution and--based on their initial findings--authorizes check-in of the code. When that authorization is received, a project committer can commit the contribution into a project source repository and work can begin on the project code. Projects can generally get approved for parallel IP check in very quickly. It always depends on the depth of the IP team's work queue, but approval should come in a matter of a few days.

A project cannot make a release until the due diligence on the IP contained in that release is complete.

The due diligence can take a while, especially for a large code base that has a lot of contributors who need to be validated and potentially hunted down. There will almost certainly be some code hits that will need to be resolved. There will almost certainly be comments like "I stole|liberated this from XXX" in the code that need to be researched. There will also be third-party libraries to sort out. Unfortunately, it's pretty hard to quantify "a while", because it depends on many factors. An established code base with years of development by numerous developers may take months to work through the IP due diligence process. Smaller chunks of code may take days or weeks.

Please make sure that you are familiar with the Eclipse Due Diligence Process. If you have any questions, please ask your PMC or project mentors.

Submit the Initial Contribution

Prepare your initial contribution:

  1. Wait until you receive notice from the Webmaster that your project has been provisioned;
  2. Ensure that the namespace in your contribution aligns with Eclipse naming conventions (i.e. org.eclipse.<project-name>.*)
    • All bundles and package names must conform to the established conventions, and
    • Be sure to rename extension-point ids and bundle Ids embedded in your code;
  3. Ensure that Eclipse copyright and license notice(s) in the required form have been applied to source content including configuration files when possible (Note that the Eclipse project's Copyright Tool can help you with copyright notices);
  4. Make sure that you have the required notices:
    • about.html, license files etc.;
    • Ensure that there are no nested JARs or ZIP files in the content.

Submit your initial contribution:

  1. Then visit your project's "PMI" page (e.g. MDM@Web) and click "Create a Contribution Questionnaire" in the "Committer Tools" block to open a "Contribution Questionnaire" (CQ):
    • This will create a record in our IPZilla system for your contribution;
    • IPZilla will notify you via email after the record is created;
  2. After you receive notification to do so from IPZilla, open the record and attach the archive containing your initial contribution.

Note that no nested jar files or zip files should be included in the CQ attachment. Separate CQs are required for all third-party libraries used by the project (follow the same "submit" process as described above).

Please familiarize yourself with the Eclipse Policy and Procedures for Third Party Dependencies. If you are uncertain, please ask your PMC, project mentors, or the EMO for assistance.

More information is available in The New Committer Handbook.