The Three Laws of Eclipse
(With a tip of the hat to Isaac Asimov.)
- A committer may not, through action or inaction, violate IP cleanliness
- A committer may not, through action or inaction, disenfranchise contributors
- A committer may not, through action or inaction, surprise the membership
(1) A committer may not, through action or inaction, violate IP cleanliness
In addition to great open source code, one of the best features of the Eclipse Projects is their IP cleanliness. This cleanliness comes from:
- Clean Code. Making sure that all incoming code is
- Code written by committers is safe.
- If a committer suspects that incoming code might not be safe, it is their duty to ask the contributor to prove that the contributor has the rights to contribute that code.
- Code found in dark alleys is not safe.
- Approved Libraries. Making sure that all third-party code included, or merely referenced, is cleared by Eclipse Intellectual Property Team through a contribution questionnaire. The IP Team checks many things, two of the major ones being: (a) is the content clearly licensed? (b) is the license compatible with the project license?
- Paper'ed People. Making sure that all committers have committer agreements covering each of the committer's projects. The agreements say "I have the rights to write code for Eclipse and my employer agrees that I have those rights".
(2) A committer may not, through action or inaction, disenfranchise contributors
Eclipse is a community in the best open source principles: open, transparent, and driven by a meritocracy. We maintain this community by ensuring that everyone has equal opportunity to participate:
- Public Queue. All issues and tasks are tracked via the issue track provided to the project team by the Ecipse Foundation. Anyone and everyone can see and participate in that queue.
- Available Tools. All the source code and all the tools used to build a project are available for everyone to use.
- Transparent Elections. Elections for new committers are open and public, with full records and justifications. Nominations include url references to the candidate's contributions (or, for new committers to new projects, bios and backgrounds). Committers are not elected "just because they work for the company".
(3) A committer may not, through action or inaction, surprise the membership
The Eclipse membership is a key part of the larger Eclipse eco-system. With members and project in a symbiotic relationship, it is important for both sides to avoid surprising the other. Committers minimize surprises through:
- Open Plans. Planning and status reports and meetings are open to all.
- Public Reviews. At major events in a project lifecycle, reviews are held to inform the membership. Major events include any N.N release (e.g., 0.5, ..., 1.0, 1.2, ..., 2.1, 2.2, ...) (but not N.N.x bug fix releases).
- Prominent Announcements. When starting a major new feature or effort that does not require a formal review, committers send an announcement alerting the members to potential future new cool stuff.