This document outlines important development and administrative processes and procedures adhered to by the OpenColorIO project. It should be reviewed in conjunction with CONTRIBUTING.md prior to proposing or submitting changes.
This procedure outlines the OpenColorIO project's process for design, development, and review of changes to the core library, large new features, or anything that might be perceived as changing the overall direction of the project. The intent is for discussion and decisions around such changes to be made in public and have transparent outcomes, seeking the guidance of both the TSC (Technical Steering Commitee) and the wider OCIO community and stakeholders.
NOTE: Changes to OpenColorIO process or governance have cascading effects across the project so are treated as core changes.
NOTE: Software design is often an iterative process with development. While a design proposal is required, it is understood that development of the proposed feature may begin prior to opening a design proposal issue in GitHub. It is however highly encouraged to propose the design early in the interest of respecting the contributor's time and effort. This avoids getting too far into development without community involvement, which may lead to redesign and extensive rework before changes can be approved.
Modifications of the contents of the OpenColorIO repository are made on a collaborative basis. Anyone with a GitHub account may propose a modification via pull request and it will be considered by the project Committers.
Pull requests must meet a minimum number of Committer approvals prior to being merged. Rather than having a hard rule for all PRs, the requirement is based on the complexity and risk of the proposed changes, factoring in the length of time the PR has been open to discussion. The following guidelines outline the project's established approval rules for merging:
All changes must receive a minimum of two approvals from Committers listed in COMMITTERS.md prior to being merged. GitHub branch protections are enabled to enforce minimum committer count and Committer status. A Committer approval is denoted in a PR with a green check mark. A gray check mark beside an approval means the approver does not count toward the minimum approval count, but such approvals are welcome and encouraged from the community.
Small changes (bug fixes, docs, tests, cleanups) may be approved by any two Committers (other than the author).
Large or significant changes must receive both approvals from Committers that are not affiliated with the author or their company.
All pull requests, except critical emergency fixes, must be posted for a 48 hour minimum prior to merging, even with the required approvals. This gives everybody a chance to see it across time zones and schedules.
If approval does not happen within two weeks of opening a pull request and there are no raised objections or unresolved discussions happening about the feature, a Committer that is affiliated with the author may approve it. At some point, we have to assume that the people who know and care are monitoring the PRs and that an extended period without objections is really assent. Notice must be given in the pull request between 2 and 4 days in advance of the intended merge date. This gives a windows for reviewers to comment or request additional time for review.
If one or more Committers oppose a proposed change, then the change cannot be accepted unless:
Discussions and/or additional changes result in no Committers objecting to the change. Previously-objecting Committers do not necessarily have to sign-off on the change, but they should not be opposed to it.
The change is escalated to the TSC and the TSC votes to approve the change. This should only happen if disagreements between Committers cannot be resolved through discussion.
Committers may opt to elevate significant or controversial modifications to the
TSC by assigning the tsc-review
label to a pull request or issue. The TSC
should serve as the final arbiter where required.
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。