forked from AcademySoftwareFoundation/OpenTimelineIO
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Technical Steering Committee Charter, GOVERNANCE, etc. (AcademySoftwa…
…reFoundation#1057) * Technical Steering Committee Charter, GOVERNANCE.md, and updated CONTRIBUTING.md Co-authored-by: Nick Porcino <[email protected]> Co-authored-by: Stephan Steinbach <[email protected]>
- Loading branch information
1 parent
008bb50
commit 27ed986
Showing
6 changed files
with
293 additions
and
5 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,17 @@ | ||
Thank you for your interest in contributing to OpenTimelineIO! | ||
We ask that potential contributors review our guidelines on [contributing](https://opentimelineio.readthedocs.io/en/latest/tutorials/contributing.html) before submitting a pull request. | ||
# Contributing | ||
|
||
For guidance or questions on contributing to the OpenTimelineIO project, please consult the project committers. | ||
|
||
We're excited to collaborate with the community and look forward to the many improvements you can make to OpenTimelineIO! | ||
|
||
## Project Roles and Responsibilities | ||
|
||
If you are new to this project, and want to contribute, then please read | ||
this document to understand the steps needed before you can submit code or changes to | ||
the project. | ||
|
||
Also see the [GOVERNANCE](GOVERNANCE.md) document for details on the rules and responsibilities of Contributors, Committers, and Technical Steering Committee members. | ||
|
||
## Committers | ||
|
||
The OpenTimelineIO Project Committers (alphabetically by last name) are: | ||
|
||
|
@@ -10,3 +20,66 @@ The OpenTimelineIO Project Committers (alphabetically by last name) are: | |
- Eric Reinecke ([reinecke on github](https://github.com/reinecke)) | ||
- Stephan Steinbach ([ssteinbach on github](https://github.com/ssteinbach)) | ||
|
||
## Contributor License Agreement | ||
|
||
Before contributing code to OpenTimelineIO, we ask that you sign a Contributor License Agreement (CLA). At the root of the repo you can find the two possible CLAs: | ||
|
||
* [OTIO_CLA_Corporate.pdf](https://github.com/PixarAnimationStudios/OpenTimelineIO/raw/main/OTIO_CLA_Corporate.pdf): please sign this one for corporate use | ||
* [OTIO_CLA_Individual.pdf](https://github.com/PixarAnimationStudios/OpenTimelineIO/raw/main/OTIO_CLA_Individual.pdf): please sign this one if you're an individual contributor | ||
|
||
Once your CLA is signed, send it to `[email protected]` (please make sure to include your github username) and wait for confirmation that we've received it. After that, you can submit pull requests. | ||
|
||
## Coding Conventions | ||
Please follow the coding convention and style in each file and in each library when adding new files. | ||
|
||
## Git Workflow | ||
Here is the workflow we recommend for working on OpenTimelineIO if you intend on contributing changes back: | ||
|
||
Post an issue on github to let folks know about the feature or bug that you found, and mention that you intend to work on it. That way, if someone else is working on a similar project, you can collaborate, or you can get early feedback which can sometimes save time. | ||
|
||
Use the github website to fork your own private repository. | ||
|
||
Clone your fork to your local machine, like this: | ||
|
||
```bash | ||
git clone https://github.com/you/OpenTimelineIO.git | ||
``` | ||
|
||
Add the primary OpenTimelineIO repo as upstream to make it easier to update your remote and local repos with the latest changes: | ||
|
||
```bash | ||
cd OpenTimelineIO | ||
git remote add upstream https://github.com/PixarAnimationStudios/OpenTimelineIO.git | ||
``` | ||
|
||
Now you fetch the latest changes from Pixar's OpenTimelineIO repo like this: | ||
|
||
```bash | ||
git fetch upstream | ||
git merge upstream/main | ||
``` | ||
|
||
All the development should happen against the `main` branch. We recommend you create a new branch for each feature or fix that you'd like to make and give it a descriptive name so that you can remember it later. You can checkout a new branch and create it simultaneously like this: | ||
|
||
```bash | ||
git checkout -b mybugfix upstream/main | ||
``` | ||
|
||
Now you can work in your branch locally. | ||
|
||
Once you are happy with your change, you can verify that the change didn't cause tests failures by running tests like this: | ||
|
||
```bash | ||
make test | ||
make lint | ||
``` | ||
|
||
If all the tests pass and you'd like to send your change in for consideration, push it to your remote repo: | ||
|
||
```bash | ||
git push origin mybugfix | ||
``` | ||
|
||
Now your remote branch will have your `mybugfix` branch, which you can now pull request (to OpenTimelineIO's `main` branch) using the github UI. | ||
|
||
Please make sure that your pull requests are clean. In other words, address only the issue at hand. Split minor corrections, formatting clean ups, and the like into other PRs. Ensure that new work has coverage in a test. Ensure that any resultant behavioral changes in other parts of the library are called out. Use the rebase and squash git facilities as needed to ensure that the pull request does not contain non-informative remnants of old or superseded work. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,146 @@ | ||
# OpenTimelineIO Project Roles and Responsibilities | ||
|
||
OpenTimelineIO is a project of the Academy Software Foundation and relies on | ||
the ASWF governance policies, supported by the Linux Foundation. | ||
|
||
There are three primary project roles: | ||
- Contributors submit code to the project; | ||
- Committers approve code to be included into the project; and | ||
- the Technical Steering Committee (TSC) provides overall high-level | ||
project guidance. | ||
|
||
* [Contributors](#Contributors) | ||
* [Committers](#Committers) | ||
* [Technical Steering Committee](#Technical-Steering-Committee) | ||
|
||
## Contributors | ||
|
||
The OpenTimelineIO project grows and thrives from assistance from | ||
Contributors. Contributors include anyone in the community that | ||
submits code, documentation, or other artifacts to the | ||
project. Such contributions must be approved by a project | ||
Committer before they become a part of the project. | ||
|
||
Anyone can be a Contributor. You need no formal approval from the | ||
project, beyond the legal forms. | ||
|
||
### How to Become a Contributor | ||
|
||
* Review the coding standards to ensure your contribution is in line | ||
with the project's coding and styling guidelines. | ||
|
||
* Sign the Individual CLA, or have your organization sign the Corporate CLA. | ||
|
||
* Submit your code as a PR with the appropriate DCO sign-off. | ||
|
||
## Committers | ||
|
||
Project Committers have merge access on the OpenTimelineIO GitHub repository | ||
and are responsible for approving submissions by Contributors. | ||
|
||
### Committer Responsibilities | ||
|
||
Typical activities of a Committer include: | ||
|
||
* Helping users and novice contributors. | ||
|
||
* Ensuring a response to questions posted to the | ||
https://lists.aswf.io/g/otio-discussion mailing list. | ||
|
||
* Contributing code and documentation changes that improve the | ||
project. | ||
|
||
* Reviewing and commenting on issues and pull requests. | ||
|
||
* Ensuring that changes and new code meet acceptable standards and are | ||
in the long-term interest of the project. | ||
|
||
* Participation in working groups. | ||
|
||
* Merging pull requests. | ||
|
||
### How to Become a Committer | ||
|
||
Any existing Committer can nominate an individual making significant | ||
and valuable contributions to the OpenTimelineIO project to become a new | ||
Committer. New committers are approved by vote of the TSC. | ||
|
||
If you are interested in becoming a Committer, contact the TSC at | ||
https://lists.aswf.io/g/otio-discussion | ||
|
||
## Technical Steering Committee | ||
|
||
The Technical Steering Committee (TSC) oversees the overall technical | ||
direction of OpenTimelineIO, as defined in the project | ||
[charter](tsc/OpenTimelineIO_TSC_Charter.md). This | ||
charter defines the TSC member terms and succession policies. | ||
|
||
The responsibilities of the TSC include: | ||
|
||
* Coordinating technical direction of the project. | ||
|
||
* Project governance and contribution policy. | ||
|
||
* GitHub repository administration. | ||
|
||
* Maintaining the list of additional Committers. | ||
|
||
* Appointing representatives to work with other open source or open | ||
standards communities. | ||
|
||
* Discussions, seeking consensus, and where necessary, voting on | ||
technical matters relating to the code base that affect multiple | ||
projects. | ||
|
||
* Coordinating any marketing, events, or communications regarding the | ||
project. | ||
|
||
The TSC elects a Chair person, who acts as the project manager, | ||
organizing meetings and providing oversight to project | ||
administration. The Chair is elected by the TSC. The Chair also | ||
serves as the OpenTimelineIO representative on the Academy Software | ||
Foundation (ASWF) Technical Advisory Council (TAC), and represents the | ||
project at ASWF TAC meetings. | ||
|
||
### Current TSC Members | ||
|
||
(alphabetical by last name) | ||
|
||
* Joshua Minor (chair) - Pixar | ||
* Nick Porcino - Pixar | ||
* Eric Reinecke - Netflix | ||
* Stephan Steinbach - Pixar | ||
|
||
### TSC Meetings | ||
|
||
All meetings of the TSC are open to participation by any member of the | ||
OpenTimelineIO community. Meeting times are listed in the [ASWF technical | ||
community calendar](https://lists.aswf.io/g/tac/calendar). The TSC | ||
Chair moderates the meeting, or appoints another TSC member to | ||
moderate in their absence. | ||
|
||
Items are added to the TSC agenda which are considered contentious or | ||
are modifications of governance, contribution policy, TSC membership, | ||
or release process, in addition to topics involving the high-level | ||
technical direction of the project. | ||
|
||
The intention of the agenda is not to approve or review all | ||
patches. That should happen continuously on GitHub and be handled by | ||
the larger group of Committers. | ||
|
||
Any community member or Contributor can ask that something be reviewed | ||
by the TSC at the meeting by logging a GitHub issue. Any Committer, | ||
TSC member, or the meeting chair can bring the issue to the TSC's | ||
attention by applying the `TSC` label. | ||
|
||
Prior to each TSC meeting, the meeting chair will share the agenda with members | ||
of the TSC. TSC members can also add items to the agenda at the beginning of | ||
each meeting. The meeting chair and the TSC cannot veto or remove items. | ||
|
||
The TSC may invite additional persons to participate in a non-voting capacity. | ||
|
||
The meeting chair is responsible for archiving the minutes in a publicly visible location. | ||
|
||
Due to the challenges of scheduling a global meeting with participants | ||
in several time zones, the TSC will seek to resolve as many agenda | ||
items as possible outside of meetings on the public mailing list. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.