Contribution Guidelines
Contributions from the community play an important role in the assets associated with the Red Hat Communities of Practice (CoP). One of these sources of content is through source code repositories hosted on GitHub within the redhat-cop organization. These repositories have a direct relationship to one or more tracks within a CoP or across multiple CoP’s and help drive the overall mission of the CoP program.
Contributions and Committers
All members of the Open Source Community are welcome to contribute to the Red Hat Communities of Practice. Contributions to CoP source code repositories can be received through a variety of methods including source code contributions, reviews and issue creation.
Individuals who are interested in directly affecting repository content may request the privilege in becoming a committer in one or more CoP sponsored repository for which they have made contributions in the past. Committers play an important role within a CoP and act as an extension of the core team to help facilitate key initiatives that benefit the entire community as a whole. These individuals may request commit access or be nominated by another member of the community. All requests for committer status will be reviewed by members of the Community of Practice along with the track lead(s) for which the repository is associated.
Features and Roadmap
Each repository within the Red Hat Communities of Practice has been created for a specific reason. It is important that contributors, especially committers, understand the overall purpose and vision for the repository and to help facilitate achieving these goals.
Understanding Our Workflow
While there are multiple development styles, the Red Hat Communities of Practice typically follows a fork-based git flow that is common in many Open Source projects. At a high level, this style consists of the following actions:
- Fork the repository for which you want to make a contribution
- Create a separate branch for the work
- Create a pull request back to the originating repository being sure to follow any specific guidelines outlined in the repository
- Adjust the work based on comments received
- Await the merge by another committer
The following guides are available to learn more about this process and start contributing:
- Local Setup
- Contributing Code (Opening a Pull Request)
- Testing a Pull Request
- Opening a Pull Request Against A Pull Request
General Guidence
When making a contribution to the repositories of the Red Hat Communities of Practice, try to utilize the following set of guidelines outlined in this section. Committers should adhere to these practices as they attempt to address many (but not all) of the primary concerns associated with open source repositories and project management:
Do:
- Squash commits whenever possible
- Engage with the community and with contributors
- Write tests when applicable
- Discuss with other committers whenever you are unsure of something
- Create documentation, especially for new features and functionality
- Review existing content in order to avoid overwriting existing content
- Keep it simple
Don’t:
- Commit directly to the master branch
- Merge pull requests you have authored
- Break existing functionality
- Ignore requests for assistance
- Go against established repository and CoP norms
Points of Contacts
The following individuals have a vested interest in the overall health and stability of the Red Hat Communities of Practice. They may be used as contact points for any inquiries related to CoP repositories, contributing, or the process of becoming a committer:
- Andrew Block (@sabre1041)
- Eric Sauer (@etsauer)
- Øystein Bedin (@oybed)
- Jared Burck (@JaredBurck)