Project EVE seeks user feedback to help further improve the usability of EVE. We are also seeking new contributors to help expand the number of supported hardware platforms and add new features to EVE. The roles and responsibilities that people can assume in the project are based on merit. Everybody can help and earn merit no matter what their role or whether they write code, documentation or community development. Those who have been long term or valuable contributors to the project obtain the right to vote and commit directly to the source repository. Depending on the level of engagement with the project, we recognize four major roles: Users, Contributors, Committers and TSC members. Note that these are NOT reflective of seniority level nor do they represent strict subsets of each other. In other words, whatever you do – don't look at these as steps on your career ladder.
Users are the people who use the products of the Project. People in this role aren't contributing code, but they are using the products, reporting bugs, making feature requests, and at times participate in the community development. This is by far the most important category of people as, without users, there is no reason for the Project.
When a user starts to contribute code, documentation patches, or otherwise produces a steady stream of other types of contributions they become a Contributor.
Contributors are the people who write code, documentation patches or contribute positively to the project in other ways. A volunteer's contribution is always recognized. In source code, all volunteers who contribute to a source tree will get recognized in the Git metadata as authors of that contribution.
Contributors who give frequent and valuable contributions and provide feedback to a subproject of the Project can have their status changed to that of a "Committer" for that subproject. Since this status is mostly focused on code contributions it may not work for folks who contribute to the project otherwise (e.g. in the area of community or business development). For those a status of the TSC member may be more appropriate.
A Committer has write access to the source code repository and gains voting rights allowing them to affect releases and the future direction of the project.
Becoming a Committer comes with a set of major additional responsibilities and is NOT (as many think) a straight "job promotion". Among other things that Contributors do, Committers spend a lot of their time on:
- Testing and voting on a release
- Performing detailed and thorough review of all the contributions coming into the subproject(s)
- Actively participating in technical discussions in online and offline channels
- Diligently providing stewardship of project's IP
- Monitoring and maintaining the project's CI/CD pipeline and other infrastructure
Since none of these responsibilities require a special committer status, it is expected that those Contributors who would like to become Committers demonstrate them ahead of time in order to trigger change of their status. In other words: the best way to apply for a job is to already be doing it.
In order for a Contributor to become a Committer, another Committer or a TSC member can nominate that Contributor (or the Contributor can nominate themself) based on how much of the responsibilities listed above the nominated person has already demonstrated. The nomination happens on the TSC mailing list. Once a Contributor is nominated, all of the TSC members will vote. If there are at least 3 positive votes and no negative votes, the Contributor is converted into a Committer and given write access to the source code repository.
Contributors and Committers who frequently participate in the governance aspects of the project will be offered a TSC (Technical Steering Committee) membership. This role doesn't come with write access to the source code (unless a TSC member is also a Committer).
All technical oversight of the project is conducted by the Project's Technical Steering Committee (TSC) in accordance to the bylaws outlined in the Project's Charter. The composition of the TSC is tracked in the CONTRIBUTING.md file and official votes are conducted on the TSC mailing list. The TSC is a committee composed of technical leaders from the EVE community and other open source projects responsible for oversight of the technical codebase, the technical community, and the release process.
The TSC is responsible for:
coordinating the technical direction of the Project, including the architecture and development tasks needed to achieve the mission and scope of the Project;
approving project proposals (including, but not limited to, incubation, deprecation and changes to the Project’s charter or scope);
coordinating technical community engagement with the community of Users (as defined in Section 6 of Project Charter), especially with respect to requirements, high level architecture, implementation experiences, use cases, etc.;
communicating with external and industry organizations concerning Project technical matters;
appointing representatives to work with other open source or standards communities;
establishing community norms, workflows or policies for releases;
discussing, seeking consensus, and where necessary, voting on technical matters relating to the code base that affect multiple projects;
establishing election processes for Contributors, Committers, or other leadership roles in the technical community that are not within the scope of any single project; and
- conducting regular TSC meetings
TSC is established and operates within the scope created by the Project's Charter.
In order to become a TSC member, someone on the TSC must nominate the Contributor. The individual may then be approved with a 3/4 majority of the TSC (project membership community?). As with becoming a Committer – a nominated person is expected to have already demonstrated shouldering a major set of the above responsibilities.
Emeritus TSC members
The amount of time one can dedicate to an open source project tends to ebb and flow. While this is totally OK for almost any role, participation in the TSC requires at least an amount of time appropriate for intelligently casting votes. If that becomes a problem then an existing TSC member may decide to transition to the Emeritus status. At that point the person is no longer considered a TSC member for the purposes of quorum or majority votes, but can transition back to a full TSC member status by simply emailing the TSC mailing list and asking for it.