Architecture Council/Things Committers Should Know/Staging
On this page, members of the Architecture Council assemble the notes that are sent out to committers as part of the Architecture Council/Things Committers Should Know effort, designed to arm Eclipse Committers with as much information about the Eclipse Development Process as possible.
Here are some ideas for future notices.
- The My Foundation Portal
- Contributing to Eclipse Corner
- Contributing Resources
- What is a Contribution Questionnaire?
- What does the PMC do anyway?
- What does the Eclipse Foundation Do?
- Finding answers to legal questions
- What belongs in the repository?
- How do I contribute bundles to Orbit?
- Aggregate your blog on planet Eclipse
- How do I propose a new project?
- How do I get free Eclipse Swag?
- Getting started with CBI
- Where I can find download statistics for my project?
- How do I 'listen in' on Bugzilla conversations
- How do I ensure API Compatibility in a new version
- How do I treat dependencies to external libraries
- How do I build a Community for my project
- How do I encourage users to submit patches
- How do I get useful bug reports from users
- How do I get started with unit tests
- How do I report a problem with Eclipse web infrastructure
- How do I suggest an improvement to the Eclipse Foundation
- Can I commit code that I wrote before becoming committer?
- How do I get my Strings externalized and translated by the Community
- Use Import-Package instead of Require-Bundle
You need to have a review for any release of your project. This includes "incubation" releases (0.x). Downloads for a project in incubation need to be clearly labeled.
Links to non-eclipse.org content
Occasionally, you may want or need to provide links to external content from your project website. Several projects do this today: it's an excellent way to provide more information for your project, and help to make your project become part of the community. Some projects link to websites that showcase how the project's code is being used by the community, some to FAQs and other sources of information.
You can provide links from your Eclipse project's web site to external resources (e.g. binaries, code, etc.), provided that:
- There is some adequate disclaimers that make it clear that although this is a "related link" that this is not Eclipse content.
- The link to the existing code is not just be a direct link to content. It has to be a link to a download page on the external site.
- The link to their download page needs to be such that it brings up an entirely new browser so that it is made even more apparent to the user that they are leaving the eclipse.org website.
Do I need a Contribution Questionnaire?
The Intellectual Property (IP) Due Diligence team has been getting a lot of unnecessary contribution questionnaires (CQ). The Eclipse Legal Process Poster  is the definitive guide to the process. The first two tracks through this process are the easiest.
Track One: If a contribution is 100% written by an existing project committer, under supervision of the Project Management Committee (PMC), contains no cryptography, was 100% developed from scratch, and is 100% EPL , then you don't need a CQ.
Track Two: Similarly, if a contribution is 100% written by employees of a company that has signed a Member Committer Agreement, under supervision of the PMC, contains no cryptography, was 100% developed from scratch, and is 100% EPL, then you also don't need a CQ;
If either of these scenarios are true, then your contribution does not require a CQ and can be committed directly into the project's source code repository. An entry in your project's IP Log is required.
The definition of "under supervision of the PMC" bears some scrutiny. At a minimum, for a contribution to meet this criteria, at least one of the existing project committers must have been involved with the development of the contribution from its inception and the contribution must provide functionality that is within the project's scope. Further, the community at large must have been given reasonable notification that the contribution was under development. Notification can take the form of discussion in a project mailing list, newsgroup, Bugzilla record, or project plan.
Your PMC may have additional requirements in their definition of "supervision"; if you have any questions, ask your PMC. If you're not sure if your contribution qualifies for either of these first two tracks, ask your PMC for help. If you're still not sure, file the CQ anyway.
Component == Project
Recent changes to the development process  have formalized the notion of arbitrarily nested projects, otherwise known as sub-projects. One of the implications of this change is that the former notion of a component effectively no longer exists. What we formerly referred to as a "component" is now just a sub-project. Sub-projects have their own set of committers (i.e. the source tree in the project's code repository has its own UNIX group describing who has commit privileges), their own release schedule, their own website, and more. Creation of a new sub-project requires a project proposal, followed by a creation review, and project provisioning.
The development process describes a project that itself has no sub-projects as an "Operating Project" and states that an Operating Project owns and maintains a collection of source code and/or web pages. A project that does have sub-projects, is described as a "Container Project"; Container Projects may have their own web pages, but do not have their own code repository. Effectively, this means that you can only have code in the leaf nodes of the project tree.