Developing TrueOS®: Building Community through Contribution
The TrueOS Project has existed for over ten years. Until now, there was no formally defined process for interested individuals in the TrueOS community to earn contributor status as an active committer to this long-standing project. The current core TrueOS developers (Kris Moore, Ken Moore, and Joe Maloney) want to provide the community more opportunities to directly impact the TrueOS Project, and wish to formalize the process for interested people to gain full commit access to the TrueOS repositories.
What will this look like?
This document is meant to define the role of a contributor, provide some basic guidelines for commit access, and list contributor benefits. This is to support a single long term goal: grow a large group of active contributors to TrueOS. These individuals directly commit changes to the TrueOS Project while the core developers resolve conflicts and help guide the project. This helps the central developers focus on core TrueOS development while the community expands the project to their needs.
TrueOS Community Guidelines:
All contributors to the TrueOS Project are expected to read and follow these Community Guidelines. As someone with commit access to the TrueOS repositories, you are a representative of the TrueOS Project. These Guidelines are very simple:
- Respect all members of the community, regardless of their level of contribution.
- Discuss any significant change before committing.
- Respect the work of existing committers. When changing or building upon another committer’s work, discuss any changes with that committer.
- Any disputed change may be backed out by a member of the core team, pending resolution of the dispute.
- Do not fight in public with other members of the community. It looks bad and is demoralizing.
- When in doubt on any procedure, ask first!
- Always test your changes before committing them.
- Discrimination against any member of the community is not tolerated.
- Breaking some of these rules can be grounds for temporary revocation of committer access. Repeated offenses or more serious offenses may lead to permanent removal of commit privileges.
One of the responsibilities reserved for members of the core team is suspending commit privileges. A contributor with suspended or revoked privileges can request a review of the decision. The Core Team consists of a small subset of contributors and is bound by the same guidelines. They also resolve contributor conflicts and represent TrueOS in interviews or other formal communication. Despite the added responsibility, the Core Team is expected to remain focused on their own contributions to the TrueOS Project.
- If a conflict arises, back out your changes first, then ask for review from other contributors.
- When a mutually satisfactory resolution is unachievable, refer the issue to the core developers for resolution.
- In cases where there are a sustained set of objections to one of your changes, be graceful and revert your commit. Objections are hardly likely to be raised for trivial reasons, and commits can always be re-applied. The potential loss of reputation for the project from shipping bad code is permanent.
- Seeking review beforehand is the best way to avoid misunderstanding. It is not just good practice for improving code quality: it facilitates putting opposing technical arguments clearly and reasonably.
- It is strongly encouraged to consult contributors before making changes in their particular areas. Getting approval for any change, even if not strictly required, is never a bad thing, and certainly courteous. If you cannot agree, notify the core team for arbitration.
Gaining a Commit Bit:
Previously, Kris directly handed out commit bits. Now, the Core developers have provided a small list of requirements for gaining a TrueOS commit bit:
- Create five or more pull requests in a TrueOS Project repository within a single six month period.
- Stay active in the TrueOS community through at least one of the available community channels (Gitter, Discourse, IRC, etc.).
- Request commit access from the core developers via email@example.com OR
- Core developers contact you concerning commit access.
Pull requests can be any contribution to the project, from minor documentation tweaks to creating full utilities.
At the end of every month, the core developers review the commit logs, removing elements that break the Project or deviate too far from its intended purpose. Additionally, outstanding pull requests with no active dissension are immediately merged, if possible. For example, a user submits a pull request which adds a little-used OpenRC script. No one from the community comments on the request or otherwise argues against its inclusion, resulting in an automatic merge at the end of the month. In this manner, solid contributions are routinely added to the project and never left in a state of “limbo”.
Contributors to the TrueOS Project enjoy a number of benefits, including:
- A personal TrueOS email alias: <youralias>@trueos.org
- Full access for managing TrueOS issues on GitHub.
- Regular meetings with the core developers and other contributors.
- Access to private chat channels with the core developers.
- Recognition as part of an online Who’s Who of TrueOS developers.
- The eternal gratitude of the core developers of TrueOS.
- A warm, fuzzy feeling.