Skip to content

Latest commit

 

History

History
56 lines (33 loc) · 4.92 KB

CONTRIBUTING.md

File metadata and controls

56 lines (33 loc) · 4.92 KB

Contributing to CHIPS Alliance

CHIPS Alliance is a group of open source projects which develop high-quality, open source hardware designs relevant to silicon devices and FPGAs. By creating an open and collaborative environment, CHIPS Alliance shares resources to lower the cost of development. All CHIPS Alliance development occurs on GitHub, following open source best practices.

The technical projects under the CHIPS Alliance TAC are supported by the CHIPS Alliance, an independent nonprofit organization with open and neutral governance, hosted under the Linux Foundation.

Learn more about the CHIPS Alliance »

Technical governance

CHIPS Alliance follows industry best practices, with the technical project and its governance distinctly separate from CHIPS Alliance membership. The Charter establishes the CHIPS Alliance Technical Advisory Council (TAC) as the body which oversees all technical aspects of the open source project. By contrast, the CHIPS Alliance Governing Board is responsible for raising and distributing funds to support project activities, and setting policy. While the two groups are separate, they work in close coordination to establish, guide, and support activities that lead to a long-term, sustainable future for CHIPS Alliance.

Contributors

Contributors are any members of the open source community who participate in project develompent. Contributors may participate on their own behalf or on behalf of their employer. Membership in the CHIPS Alliance is not required in order to contribute, although contributors must have signed a CLA prior to their code being merged (see below).

Committers

Committers are members of the contributor community who have demonstrated an ongoing commitment to the health and sustainability of the CHIPS Alliance project through good citizenship and wise stewardship. These individuals have been elevated to a decision-making role, and responsible for reviewing and merging code from contributors. They may also be involved in the release process or other critical project roles.

The path to committership starts with becoming a contributor to the project. Over time, contributors can prove that they have high commitment to the project. Top contributors may become committers through either a simple majority vote by the existing committers, or by a 2/3 vote of the TAC. An existing committer may be removed in the same manner.

Each potential committer should be nominated prior to the vote. The nomination should include a justification of why that person should become a committer (e.g., code/test/doc contributions, other positive impact to the project & community, etc.).

Committer candidates:

  • Demonstrate good collaboration skills
  • Submit high quality pull requests that conform to CHIPS Alliance coding styles and best practices.
  • Demonstrate good understanding of CHIPS Alliance’s criteria for accepting pull requests
  • Help with reviewing pull requests from the community
  • Contribute to design/technical discussions on Github and Slack
  • Help with user issues on Github, user mailing list, and Slack
  • Have good judgement around when some code should be merged, or when to ask someone else to make that judgement
  • Care deeply about code quality
  • Care deeply about good test coverage & proper user documentation
  • Care deeply about performance and reliability

Committership can be revoked under rare circumstances, such as when a committer stops becoming a good citizen of the project or when a committer becomes inactive for an extended period of time.

Things to do prior to contributing

Ensure your contribution complies with the CHIPS Alliance IP Policy

All contributions to CHIPS Alliance projects must adhere to the CHIPS Alliance IP policy.

Please review the Charter to ensure you understand the requirements of the open source project. If you have questions, please file an issue.

Sign the CLA

CHIPS Alliance requires contributors to sign a CLA prior to contributing code. The only way to do this is to submit a pull request. The EasyCLA tool will check whether you have signed a CLA previously. If you haven't, it will notify you and present a link to the signing platform.

If you are contributing on behalf of yourself only, you can sign the individual CLA. If you are contributing on behalf of your employer, you can request to be added to your employer's corporate CLA. If you are unsure, consult your counsel.

Code of Conduct

The CHIPS Alliance uses the LF Projects Code of Conduct.