Eclipse Foundation Committer Training
The rules of engagement defined in the Eclipse Foundation Development Process are the foundational principles that underpin how we believe that open source should be done.
Eclipse projects must be transparent. To operate in a transparent manner, Eclipse project teams need to ensure that the community has the ability to understand what the project team is doing. This means that all development plans, issues tracking and resolution, discussion, and more happens on open channels where people who are not a part of the project team can follow along.
Eclipse projects must be open. Transparency is concerned with letting people know what you’re doing, openness is concerned with letting them participate as an equal player. As an Eclipse project committer, you have to be open to new ideas and work with contributors to ensure that their contributions have an equal chance of becoming part of the project. Project teams should have well-defined rules for participating that apply to everybody regardless of who they work for or factors other than the quality of their contributions.
Eclipse projects must be meritocratic. Project participants earn their way to additional responsibility. A regular contributor of quality code should be invited to become a committer themselves. A committer who shows leadership may one day become a project lead. We have a well-defined process for turning somebody into a committer that requires a statement of merit; very often that statement of merit is just a bunch of pointers to contributions that the individual has made to the project.
In these videos, we discuss certain key elements of life as a committer on an Eclipse Project.
Eclipse Project Roles
The Eclipse Foundation Development Process defines multiple roles.
Committers are the primary gatekeepers for the project. Committers are the ones who decide what code goes into the repository, what gets included in builds, and what ends up in the open source project’s products.
Project Leads are the first link in the project leadership chain and the primary liaison between the project team and the Eclipse Management Organization, or EMO. The EMO will, for example, ensure that the project leads are looped in in all matters regarding project governance. In cases where public channels should not be used, for example in the case where the security team receives a vulnerability report, the project lead is the first point of contact.
The Project Management Committee (PMC) provides oversight and overall leadership for the projects that fall under their top Level project. The PMC’s role is, fundamentally, to maintain the overall vision and operation of the top level project and all of the projects that fall within its purview. Very often (though it really depends on the nature of the top level project), the PMC will take a very active role in determining how its projects fit together, and how they communicate and interoperate.
Eclipse Projects and Git
Eclipse committers live in Git repositories. They push their own content to project repositories, and review and merge content contributed by others. The Eclipse Foundation supports Git by way of the Eclipse Foundation's GitLab instance, GitHub, and our Gerrit Code Review infrastructure. Committers need to know how resources are structured on these platforms, how we manage privileges, and their role in the intellectual property due diligence process
The purpose of the Eclipse Contributor Agreement (ECA) is to provide a written record that contributors have agreed to provide their contributions of code and documentation under the licenses used by the Eclipse project(s) they’re contributing to. It also makes it clear that contributors are promising that what they are contributing to Eclipse is code that they wrote, and that they have the necessary rights to contribute it to Eclipse projects. And finally, it documents a commitment from the contributor that their open source contributions will be permanently on the public record.
For Eclipse projects, and the open source world in general, committers are the folks who have the real power. Committers decide what code goes into the code base, they decide how a project builds, and they ultimately decide what gets delivered to the adopter community.
Committer elections are the means by which new committers are added to the project.
Like every process that we have at the Eclipse Foundation, the committer election process has been defined, and tools have been created, to support important underlying principles.
The Eclipse Foundation Intellectual Property Policy
The Eclipse Foundation has a well-defined Intellectual Property Policy, corresponding IP Due Diligence Process, and a dedicated team of professional IP specialists who perform the heavy lifting in the due diligence process. Eclipse Committers, the software developers who ultimately decide what will become Project Code and how an Eclipse open source project will leverage Third Party Content, are responsible for bringing IP issues to the attention of the Eclipse IP Team.
The Eclipse Dash License Tool
The Eclipse Dash License Tool is a tool that is intended to help Eclipse Committers assess the license status of the content that their project leverages.
The tool really only knows what you tell it. While it does have some rudimentary functionality for rooting out content, we very much depend on committers — who form the first line of defense in our intellectual property due diligence process — to understand the content that their project contains and leverages and to ensure that all content is identified and fully vetted.