This document defines roles in the oneTBB project.
oneTBB project defines three main roles:
Contributor | Code Owner | Maintainer | |
---|---|---|---|
Responsibilities | |||
Follow the Code of Conduct | ✓ | ✓ | ✓ |
Follow Contribution Guidelines | ✓ | ✓ | ✓ |
Ensure Contribution Guidelines are followed | ✗ | ✓ | ✓ |
Co-own component or aspect of the library, including contributing: bug fixes, implementing features, and performance optimizations |
✗ | ✓ | ✓ |
Co-own on technical direction of component or aspect of the library including work on RFCs |
✗ | ✓ | ✓ |
Co-own the project as a whole, including determining strategy and policy for the project |
✗ | ✗ | ✓ |
Privileges | |||
Permission granted | Read | Write | Maintain |
Eligible to become | Code Owner | Maintainer | ✗ |
Can recommend Contributors to become Code Owner |
✗ | ✓ | ✓ |
Can participate in promotions of Code Owners and Maintainers |
✗ | ✗ | ✓ |
Can suggest Milestones during planning | ✓ | ✓ | ✓ |
Can choose Milestones for specific component | ✗ | ✓ | ✓ |
Make a decision on project's Milestones during planning | ✗ | ✗ | ✓ |
Can propose new RFC or participate in review of existing RFC |
✓ | ✓ | ✓ |
Can request rework of RFCs in represented area of responsibility |
✗ | ✓ | ✓ |
Can request rework of RFCs in any part of the project |
✗ | ✗ | ✓ |
Can manage release process of the project | ✗ | ✗ | ✓ |
Can represent the project in public as a Maintainer | ✗ | ✗ | ✓ |
These roles are merit based. Refer to the corresponding section for specific requirements and the nomination process.
A Contributor invests time and resources to improve oneTBB project. Anyone can become a Contributor by bringing value in any following way:
- Answer questions from community members.
- Propose changes to the design.
- Provide feedback on design proposals.
- Review and/or test pull requests.
- Test releases and report bugs.
- Contribute code, including bug fixes, features implementations, and performance optimizations.
A Code Owner has responsibility for a specific project component or a functional area. Code Owners are collectively responsible for developing and maintaining their component or functional areas, including reviewing all changes to corresponding areas of responsibility and indicating whether those changes are ready to be merged. Code Owners have a track record of contribution and review in the project.
Requirements:
- Track record of accepted code contributions to a specific project component.
- Track record of contributions to the code review process.
- Demonstrate in-depth knowledge of the architecture of a specific project component.
- Commit to being responsible for that specific area.
How to become a Code Owner?
- A Contributor is nominated by opening a PR modifying the MAINTAINERS.md file including name, Github username, and affiliation.
- At least two specific component Maintainers approve the PR.
- CODEOWNERS file is updated to represent corresponding areas of responsibility.
Maintainers are the most established contributors responsible for the project technical direction. They participate in making decisions about the strategy and priorities of the project.
Requirements:
- Have experience as a Code Owner.
- Track record of major project contributions to a specific project component.
- Demonstrate deep knowledge of a specific project component.
- Demonstrate broad knowledge of the project across multiple areas.
- Commit to using privileges responsibly for the good of the project.
- Be able to exercise judgment for the good of the project, independent of their employer, friends, or team.
Process of becoming a maintainer:
- A Maintainer may nominate a current code owner to become a new Maintainer by opening a PR against MAINTAINERS.md file.
- A majority of the current Maintainers must then approve the PR.
Name | Github ID | Affiliation | Role |
---|---|---|---|
Ilya Isaev | @isaevil | Intel Corporation | Code Owner |
Sarath Nandu R | @sarathnandu | Intel Corporation | Code Owner |
Dmitri Mokhov | @dnmokhov | Intel Corporation | Code Owner |
Alexey Kukanov | @akukanov | Intel Corporation | Code Owner |
Konstantin Boyarinov | @kboyarinov | Intel Corporation | Maintainer |
Aleksei Fedotov | @aleksei-fedotov | Intel Corporation | Maintainer |
Michael Voss | @vossmjp | Intel Corporation | Maintainer |
Pavel Kumbrasev | @pavelkumbrasev | Intel Corporation | Maintainer |
Name | Github ID | Affiliation | Role |
---|---|---|---|
Łukasz Plewa | @lplewa | Intel Corporation | Maintainer |
Name | Github ID | Affiliation | Role |
---|---|---|---|
Alexandra Epanchinzeva | @aepanchi | Intel Corporation | Code Owner |
Name | Github ID | Affiliation | Role |
---|---|---|---|
Olga Malysheva | @omalyshe | Intel Corporation | Maintainer |