Project leadership roles are all positions of trust and responsibility with the Eclipse community. As part of bootstrapping the Eclipse EE4J top Level project, the initial PMC must be established.
The roles of project leaders, including the Project Management Committee (PMC), and Project Leads are laid out in the content below from the Eclipse Development Process (EDP), and the Eclipse Project Handbook. The philosophy behind much of this content can be summarized by this statement: “The project lead is more of a position of responsibility than one of power.”
Project leadership roles are all positions of trust and responsibility with the Eclipse community.
PMC Leads are approved by the Eclipse Foundation Board of Directors. Project Leaders are approved by the Eclipse Foundation Executive Director.
PMC Membership
A PMC has one or more PMC leads and zero or more PMC Members. Together the PMC provides oversight and overall leadership for the projects that fall under their top Level project. The PMC as a whole, and the PMC leads in particular, are ultimately responsible for ensuring that the Eclipse Development Process (EDP) is understood and followed by their projects. The PMC is additionally responsible for maintaining the top level project's charter.
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. We expect that the EE4J PMC will take a very active role in determining how its projects fit together, communicate, and interoperate. In pragmatic terms, the PMC will be required to ensure that projects are following the rules, set the standards over and above the basic requirements for releases and corresponding documentation, approve intellectual property contributions, and approve committer and project lead elections. Once the PMC has been established, it will add or remove members as it sees fit.
The PMC is an important link in the project leadership chain, which is composed of the project's project lead(s), the leadership of the parent project (if any), the PMC leads and PMC members, the EMO, and the Executive Director of the Eclipse Foundation. In exceptional situations—such as projects with zero active committers, disruptive committers, or no effective project leads—the project leadership chain has the authority to make changes (add, remove) to the set of committers and/or project leads of that project, and otherwise act on behalf of the project lead.
PMC Leads are are not elected. They are vetted by the EMO, approved by the Eclipse Board of Directors, and appointed by the Executive Director of the Eclipse Foundation. PMC members are elected by the existing PMC leads and members, and approved by the Executive Director of the Eclipse Foundation.
In the unlikely event that a member of the PMC becomes disruptive to the process or ceases to contribute for an extended period, the member may be removed by the unanimous vote of the remaining PMC members, subject to approval by the EMO. Removal of a PMC Lead requires approval of the Board.
Every PMC is entitled to appoint one representative to the Eclipse Architecture Council. The Architecture Council’s main roles are to provide general architectural oversight for projects, and maintain the EDP. In particular, a representative of EE4J on the Architecture Council could advocate for modifications to the Eclipse Development Process if there are requirements that are counter-productive for a large runtime project such as EE4J.
EE4J PMC Membership
Membership in the PMC should represent the major open source contributors to the projects within the top-level project. As such, the initial PMC membership list will include:
- Ivar Grimstad
- Kevin Sutter - IBM
- Dmitry Kornilov - Oracle
- Steve Millidge - Payara
- Mark Little - Red Hat
- David Blevins - Tomitribe
- Wayne Beaton - Eclipse Foundation staff member (mentor role)
It is the intent of the PMC to rotate the role of PMC Lead every 3 months to demonstrate that this project community is not led by any particular party. The initial PMC Lead will be Ivar Grimstad.
Because EE4J is a very large project, but without deep experience in the Eclipse development and IP processes, the Eclipse Foundation will provide a staff member to sit on the PMC in a primarily advisory or mentoring role.
EE4J Initial Project Committer List and Project Leads
As EE4J adds projects, we will need to establish the initial committer list and leads for each project. This section describes the process that will be used to do so.
Eclipse projects are managed by one or more project leads. Project leads are responsible for ensuring that their project's committers are following the Eclipse Development Process, and that the project is engaging in the right sorts of activities to develop vibrant communities of users, adopters, and contributors. The initial project leads are appointed and approved in the creation review. Subsequently, additional project leads must be elected by the project's committers and approved by the project's PMC and the Executive Director of the Eclipse Foundation.
The normal Eclipse convention is that only the people who are existing committers or maintainers of the project codebase make up the initial committer list. However, we have also learned over the years that the best time to create diversity in a project community is at its outset. In addition, it is an explicit goal of all of the parties involved to increase the pace, quality, and diversity of contributions to these projects. Therefore, the people invited to join the initial committer list for each project will include:
- The existing committers of the project code being transferred to EE4J.
- Individuals who were involved in the related(*) JSRs expert groups.
- Representatives of organizations who were involved in the related(*) JSRs expert groups.
(*) “Related” is the key word here, as there will not be a one-to-one mapping from JSRs to EE4J projects. Some judgment will be required to ensure that these initial lists include those with the requisite interests, skills, and knowledge to justify committer rights on the project.