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?
Several of these "Things Committers Should Know" messages will deal focus on the Eclipse IP process. We'll start the series with the simplest possible scenario.
You're an Eclipse committer. You've created a contribution that provides some significant new functionality (i.e. it's more than just a couple of lines of code written as part of the ongoing development of an existing component). The new contribution was developed from scratch and you have consented to releasing it under the Eclipse Public License . The contribution has been written under the supervision of the Project Management Committee (PMC), and contains no cryptography. If this describes what you've done, then a contribution questionnaire is not required; you can commit into CVS/SVN. You must record the contribution in the project's IP Log.
Here are some clarifications:
For IP due diligence purposes, the definition of contribution means any content, including code, data/metadata files, images, fonts, etc.
In this scenario, "developed from scratch" means that all content is new; no existing content from other sources has been included (i.e. no copy and paste). Further, "developed from scratch" means that the content does not rely on the IP of others. That is, the content relies only on existing
What it means for a contribution to have been developed "under the supervision of the PMC" can vary from PMC to PMC. "Supervision" could mean that the functionality provided by the contribution is described in your project plan or in an existing Bugzilla record. Alternatively, it could mean that the functionality has been openly discussed in your project's mailing list, or that the PMC has been directly informed of the ongoing work. Ultimately, you should ask your PMC how they define "supervision".
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.