From 79af446cc1b7b39b512b8c8f70ee2922561c5be7 Mon Sep 17 00:00:00 2001 From: timmiesmith Date: Tue, 19 Nov 2024 08:04:15 -0600 Subject: [PATCH 01/23] Adding Code Owner to align with oneTBB and completing initial draft of role responsibilities and priviledges. --- MAINTAINERS.md | 131 ++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 130 insertions(+), 1 deletion(-) diff --git a/MAINTAINERS.md b/MAINTAINERS.md index c3ff31fd57f..6ffde2be5bc 100644 --- a/MAINTAINERS.md +++ b/MAINTAINERS.md @@ -1,6 +1,129 @@ # Introduction -This document provides a list of the maintainers for each area of development in the oneDPL project. +This document defines the roles available in the oneDPL project and provides a list of the +[current maintainers](Current Maintainers) for each area of development in oneDPL. The document also defines the +process for maintainers to [Leave the Role](leave the role) in the project. + +# Roles and Responsibilities + +The oneDPL project defines three primary roles: +* [Contributor](#contributor) +* [Code Owner](#codeowner) +* [Maintainer](#maintainer) + +[permissions]: https://docs.github.com/en/organizations/managing-user-access-to-your-organizations-repositories/managing-repository-roles/repository-roles-for-an-organization#permissions-for-each-role + +| | Contributor | Code Owner | Maintainer | +| :------------------------------------------------------------------------------------------------------------------------------------------ | :---------------------: | :---------------------: | :---------------------: | +| _Responsibilities_ | | | | +| Follow the Code of Conduct | ✓ | ✓ | ✓ | +| Follow Contribution Guidelines | ✓ | ✓ | ✓ | +| Enforce Contribution Guidelines | ✗ | ✓ | ✓ | +| 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 | ✗ | ✗ | ✓ | +| Co-own the project as a whole,
including determining strategy and policy for the project | ✗ | ✗ | ✓ | +| _Privileges_ | | | | +| Permission granted | [Read][permissions] | [Write][permissions] | [Maintain][permissions] | +| 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 | ✗ | ✓ | ✓ | +| Choose 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. + +## Contributor + +A Contributor can invest their time and resources in several different ways to improve oneDPL +* Answering questions from community members in Discussions on Issues +* Providing feedback on RFC pull requests and Discussions +* Reviewing and/or testing pull requests +* Contribute code, including bug fixes, new examples of oneDPL use, and new feature implementations +* Contribute design proposals as RFCs + +Responsibilities: +* Follow the [Code of Conduct](CODE_OF_CONDUCT.md) +* Submit issues, feature requests, and code in accordance with the [Contribution Guidelines](CONTRIBUTING.md) + +Priviledges: +* Code contributions recognized in the oneDPL [credits](CREDITS.txt) +* Eligible to become a Code Owner +* Read permissions granted to the repository +* Can suggest Milestones during planning + +## Code Owner + +A Code Owner is an established contributor that is recognized by active code owners and maintaininers as capable of +taking on additional activities and the responsibilities and priviledges that come with them. A Code Owner is +responsible for a specific oneDPL component or functional area of the project. Code Owners are collectively responsible, +with other Code Owners, for developing and maintaining their component or functional areas, including reviewing all +changes to the corresponding areas of responsibility and indicating whether those changes are ready to be merged. Code +Owners have a track record of code contribution and reviews in the project. + +Requirements: +* Track record of accepted code contributions to a specific project component. +* Track record of contributions to the code review process. +* Demonstrated in-depth knowledge of the architecture of a specific project + component. +* Commits to being responsible for that specific area. +* Can propose new RFC or participate in review of existing RFCs + +Responsibilities in addition to those of Contributors: +* Enforce the Contribution Guidelines +* Co-own a component or aspect of the repository, including contributing bug fixes, implementing features, and performance optimizations + +Priviledges: +* Eligible to become a Maintainer +* Write permissions granted to the repository +* Can recommend Contributors to become Code Owners +* Can suggest Milestones during planning +* Can chose Milestones for a specific component +* Can propose new RFC or participate in review of existing RFCs + +The process of becoming a Code Owner is: +1. A Contributor is nominated by opening a PR modifying the MAINTAINERS.md file including name, Github username, and +affiliation. +2. At least two specific component Maintainers approve the PR. +3. MAINTAINERS.md file is updated to represent corresponding areas of responsibility. + +## Maintainer + +A Maintainer is one of the most established contributors who are responsible for the project technical direction and +participate in making decisions about strategy and priorities of the project. + +Requirements: + * Experience as a Code Owner. + * Track record of major project contributions to a specific project component. + * Demonstrated deep knowledge of a specific project component. + * Demonstrated broad knowledge of the project across multiple areas. + * Commits to using priviledges responsibly for the good of the project. + * Is able to exercise judgment for the good of the project, independent of + their employer, friends, or team. + +Responsibilities in additionto those of Code Owners: +* Co-own the technical direction of a component or aspect of the library +* Co-own the project as a whole, including determining strategy and policy for the project + +Priviledges: +* Maintain permissions granted to the repository +* Can participate in promotions of Code Owners and Maintainers +* Choose project's Milestones during planning +* 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 + +## Code Owners + +There are currently no Code Owners identified for oneDPL. + +## Current Maintainers | Feature | Maintainer | Github ID | | --------------------- | ------------------- | -------- | @@ -15,3 +138,9 @@ This document provides a list of the maintainers for each area of development in | Random Number Generators | Pavel Dyakov | @paveldyakov | | Dynamic Selection API | Anuya Welling | @AnuyaWelling2801 | | Kernel Templates API | Sergey Kopienko
Dmitriy Sobolev | @SergeyKopienko
@dmitriy-sobolev | + +## Leaving the Role of Code Owner or Maintainer + +Active code owners and maintainers of the oneDPL project may leave their current role by submitting a PR removing their +name from the list of current maintainers or code owners and tagging two or more active maintainers to review and +approve the PR. From fc01069460784edc521514c3fae617ce7fa60042 Mon Sep 17 00:00:00 2001 From: timmiesmith Date: Tue, 19 Nov 2024 10:15:31 -0600 Subject: [PATCH 02/23] Fix spelling. --- MAINTAINERS.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/MAINTAINERS.md b/MAINTAINERS.md index 6ffde2be5bc..3bfe99fffa2 100644 --- a/MAINTAINERS.md +++ b/MAINTAINERS.md @@ -52,7 +52,7 @@ Responsibilities: * Follow the [Code of Conduct](CODE_OF_CONDUCT.md) * Submit issues, feature requests, and code in accordance with the [Contribution Guidelines](CONTRIBUTING.md) -Priviledges: +Privileges: * Code contributions recognized in the oneDPL [credits](CREDITS.txt) * Eligible to become a Code Owner * Read permissions granted to the repository @@ -61,7 +61,7 @@ Priviledges: ## Code Owner A Code Owner is an established contributor that is recognized by active code owners and maintaininers as capable of -taking on additional activities and the responsibilities and priviledges that come with them. A Code Owner is +taking on additional activities and the responsibilities and privileges that come with them. A Code Owner is responsible for a specific oneDPL component or functional area of the project. Code Owners are collectively responsible, with other Code Owners, for developing and maintaining their component or functional areas, including reviewing all changes to the corresponding areas of responsibility and indicating whether those changes are ready to be merged. Code @@ -79,7 +79,7 @@ Responsibilities in addition to those of Contributors: * Enforce the Contribution Guidelines * Co-own a component or aspect of the repository, including contributing bug fixes, implementing features, and performance optimizations -Priviledges: +Privileges: * Eligible to become a Maintainer * Write permissions granted to the repository * Can recommend Contributors to become Code Owners @@ -103,7 +103,7 @@ Requirements: * Track record of major project contributions to a specific project component. * Demonstrated deep knowledge of a specific project component. * Demonstrated broad knowledge of the project across multiple areas. - * Commits to using priviledges responsibly for the good of the project. + * Commits to using privileges responsibly for the good of the project. * Is able to exercise judgment for the good of the project, independent of their employer, friends, or team. @@ -111,7 +111,7 @@ Responsibilities in additionto those of Code Owners: * Co-own the technical direction of a component or aspect of the library * Co-own the project as a whole, including determining strategy and policy for the project -Priviledges: +Privileges: * Maintain permissions granted to the repository * Can participate in promotions of Code Owners and Maintainers * Choose project's Milestones during planning From 139c86498be438bc26ad9345e110c9b84d7cba51 Mon Sep 17 00:00:00 2001 From: Timmie Smith Date: Tue, 19 Nov 2024 15:00:10 -0600 Subject: [PATCH 03/23] Apply suggestions from code review Co-authored-by: Matthew Michel <106704043+mmichel11@users.noreply.github.com> --- MAINTAINERS.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/MAINTAINERS.md b/MAINTAINERS.md index 3bfe99fffa2..56ff7abb427 100644 --- a/MAINTAINERS.md +++ b/MAINTAINERS.md @@ -84,7 +84,7 @@ Privileges: * Write permissions granted to the repository * Can recommend Contributors to become Code Owners * Can suggest Milestones during planning -* Can chose Milestones for a specific component +* Can choose Milestones for a specific component * Can propose new RFC or participate in review of existing RFCs The process of becoming a Code Owner is: @@ -107,7 +107,7 @@ Requirements: * Is able to exercise judgment for the good of the project, independent of their employer, friends, or team. -Responsibilities in additionto those of Code Owners: +Responsibilities in addition to those of Code Owners: * Co-own the technical direction of a component or aspect of the library * Co-own the project as a whole, including determining strategy and policy for the project From 8be835324dc281c7efd8b7faa4adc9a3bfdb63b0 Mon Sep 17 00:00:00 2001 From: timmiesmith Date: Wed, 20 Nov 2024 08:55:30 -0600 Subject: [PATCH 04/23] Attempt to fix links to sections. --- MAINTAINERS.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/MAINTAINERS.md b/MAINTAINERS.md index 56ff7abb427..9634d4382db 100644 --- a/MAINTAINERS.md +++ b/MAINTAINERS.md @@ -1,8 +1,8 @@ # Introduction This document defines the roles available in the oneDPL project and provides a list of the -[current maintainers](Current Maintainers) for each area of development in oneDPL. The document also defines the -process for maintainers to [Leave the Role](leave the role) in the project. +[current maintainers](#Current Maintainers) for each area of development in oneDPL. The document also defines the +process for maintainers to [Leave the Role](#Leaving A Role) in the project. # Roles and Responsibilities @@ -139,7 +139,7 @@ There are currently no Code Owners identified for oneDPL. | Dynamic Selection API | Anuya Welling | @AnuyaWelling2801 | | Kernel Templates API | Sergey Kopienko
Dmitriy Sobolev | @SergeyKopienko
@dmitriy-sobolev | -## Leaving the Role of Code Owner or Maintainer +## Leaving A Role Active code owners and maintainers of the oneDPL project may leave their current role by submitting a PR removing their name from the list of current maintainers or code owners and tagging two or more active maintainers to review and From 667bededc90724ff97667f22ec3171afc879a48a Mon Sep 17 00:00:00 2001 From: timmiesmith Date: Thu, 21 Nov 2024 08:01:34 -0600 Subject: [PATCH 05/23] Attempt fix of internal references --- MAINTAINERS.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/MAINTAINERS.md b/MAINTAINERS.md index 9634d4382db..a33e0ca4bbf 100644 --- a/MAINTAINERS.md +++ b/MAINTAINERS.md @@ -1,8 +1,8 @@ # Introduction This document defines the roles available in the oneDPL project and provides a list of the -[current maintainers](#Current Maintainers) for each area of development in oneDPL. The document also defines the -process for maintainers to [Leave the Role](#Leaving A Role) in the project. +[Current Maintainers](#currentmaintainers) for each area of development in oneDPL. The document also defines the +process for maintainers to [Leave A Role](#leavearole) in the project. # Roles and Responsibilities @@ -139,7 +139,7 @@ There are currently no Code Owners identified for oneDPL. | Dynamic Selection API | Anuya Welling | @AnuyaWelling2801 | | Kernel Templates API | Sergey Kopienko
Dmitriy Sobolev | @SergeyKopienko
@dmitriy-sobolev | -## Leaving A Role +## Leave A Role Active code owners and maintainers of the oneDPL project may leave their current role by submitting a PR removing their name from the list of current maintainers or code owners and tagging two or more active maintainers to review and From fb9e5adc1cbadd5314cf764e79766f011c5bbc0c Mon Sep 17 00:00:00 2001 From: timmiesmith Date: Thu, 21 Nov 2024 08:09:22 -0600 Subject: [PATCH 06/23] Adding promotion process from Code Owner to Maintainer. --- MAINTAINERS.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/MAINTAINERS.md b/MAINTAINERS.md index a33e0ca4bbf..f33b081d673 100644 --- a/MAINTAINERS.md +++ b/MAINTAINERS.md @@ -119,6 +119,10 @@ Privileges: * Can manage release process of the project * Can represent the project in public as a Maintainer +The process of becoming a Maintainer is: +1. A Code Owner is nominated by a current Maintainer by opening a PR modifying the MAINTAINERS.md file to move the code owner into the Current Maintainers section. +2. A majority of the Current Maintainers must approve the PR. + ## Code Owners There are currently no Code Owners identified for oneDPL. From c91d55ccdbfeb6a4733b5f55252719756595004b Mon Sep 17 00:00:00 2001 From: timmiesmith Date: Thu, 21 Nov 2024 08:13:21 -0600 Subject: [PATCH 07/23] Add link to current code owners section. --- MAINTAINERS.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/MAINTAINERS.md b/MAINTAINERS.md index f33b081d673..46b2d4de46a 100644 --- a/MAINTAINERS.md +++ b/MAINTAINERS.md @@ -1,8 +1,8 @@ # Introduction This document defines the roles available in the oneDPL project and provides a list of the -[Current Maintainers](#currentmaintainers) for each area of development in oneDPL. The document also defines the -process for maintainers to [Leave A Role](#leavearole) in the project. +[Current Code Owners](#currentcodeowners) and [Current Maintainers](#currentmaintainers) for each area of development +in oneDPL. The document also defines the process for maintainers to [Leave A Role](#leavearole) in the project. # Roles and Responsibilities @@ -123,7 +123,13 @@ The process of becoming a Maintainer is: 1. A Code Owner is nominated by a current Maintainer by opening a PR modifying the MAINTAINERS.md file to move the code owner into the Current Maintainers section. 2. A majority of the Current Maintainers must approve the PR. -## Code Owners +## Leave A Role + +Active code owners and maintainers of the oneDPL project may leave their current role by submitting a PR removing their +name from the list of current maintainers or code owners and tagging two or more active maintainers to review and +approve the PR. + +## Current Code Owners There are currently no Code Owners identified for oneDPL. @@ -142,9 +148,3 @@ There are currently no Code Owners identified for oneDPL. | Random Number Generators | Pavel Dyakov | @paveldyakov | | Dynamic Selection API | Anuya Welling | @AnuyaWelling2801 | | Kernel Templates API | Sergey Kopienko
Dmitriy Sobolev | @SergeyKopienko
@dmitriy-sobolev | - -## Leave A Role - -Active code owners and maintainers of the oneDPL project may leave their current role by submitting a PR removing their -name from the list of current maintainers or code owners and tagging two or more active maintainers to review and -approve the PR. From 9062605d81c6cf8e558343fe7b03b557881c7baf Mon Sep 17 00:00:00 2001 From: timmiesmith Date: Thu, 21 Nov 2024 08:18:07 -0600 Subject: [PATCH 08/23] Add anchors. --- MAINTAINERS.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/MAINTAINERS.md b/MAINTAINERS.md index 46b2d4de46a..3ac030f9e49 100644 --- a/MAINTAINERS.md +++ b/MAINTAINERS.md @@ -39,7 +39,7 @@ The oneDPL project defines three primary roles: These roles are merit based. Refer to the corresponding section for specific requirements and the nomination process. -## Contributor +## Contributor A Contributor can invest their time and resources in several different ways to improve oneDPL * Answering questions from community members in Discussions on Issues @@ -58,7 +58,7 @@ Privileges: * Read permissions granted to the repository * Can suggest Milestones during planning -## Code Owner +## Code Owner A Code Owner is an established contributor that is recognized by active code owners and maintaininers as capable of taking on additional activities and the responsibilities and privileges that come with them. A Code Owner is @@ -93,7 +93,7 @@ affiliation. 2. At least two specific component Maintainers approve the PR. 3. MAINTAINERS.md file is updated to represent corresponding areas of responsibility. -## Maintainer +## Maintainer A Maintainer is one of the most established contributors who are responsible for the project technical direction and participate in making decisions about strategy and priorities of the project. From 24bea2540decd50ea11b6445291dbf46909218be Mon Sep 17 00:00:00 2001 From: timmiesmith Date: Thu, 21 Nov 2024 08:21:36 -0600 Subject: [PATCH 09/23] More anchors. --- MAINTAINERS.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/MAINTAINERS.md b/MAINTAINERS.md index 3ac030f9e49..bc95a02f37c 100644 --- a/MAINTAINERS.md +++ b/MAINTAINERS.md @@ -123,17 +123,17 @@ The process of becoming a Maintainer is: 1. A Code Owner is nominated by a current Maintainer by opening a PR modifying the MAINTAINERS.md file to move the code owner into the Current Maintainers section. 2. A majority of the Current Maintainers must approve the PR. -## Leave A Role +## Leave A Role Active code owners and maintainers of the oneDPL project may leave their current role by submitting a PR removing their name from the list of current maintainers or code owners and tagging two or more active maintainers to review and approve the PR. -## Current Code Owners +## Current Code Owners There are currently no Code Owners identified for oneDPL. -## Current Maintainers +## Current Maintainers | Feature | Maintainer | Github ID | | --------------------- | ------------------- | -------- | From 84afe10482a0f14de9c1d2866aad79b7dcbb5090 Mon Sep 17 00:00:00 2001 From: timmiesmith Date: Fri, 22 Nov 2024 15:41:51 -0600 Subject: [PATCH 10/23] Update wording based on feedback in TR Technical Meeting. --- MAINTAINERS.md | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/MAINTAINERS.md b/MAINTAINERS.md index bc95a02f37c..13b32ff457f 100644 --- a/MAINTAINERS.md +++ b/MAINTAINERS.md @@ -18,16 +18,18 @@ The oneDPL project defines three primary roles: | _Responsibilities_ | | | | | Follow the Code of Conduct | ✓ | ✓ | ✓ | | Follow Contribution Guidelines | ✓ | ✓ | ✓ | -| Enforce Contribution Guidelines | ✗ | ✓ | ✓ | +| Ensure Contribution Guidelines are followed | ✗ | ✓ | ✓ | +| Cleanup Stale PRs and Branches impacting a component | ✗ | ✓ | ✓ | | 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 | ✗ | ✗ | ✓ | +| Co-own on technical direction of component or
aspect of the library | ✗ | ✓ | ✓ | | Co-own the project as a whole,
including determining strategy and policy for the project | ✗ | ✗ | ✓ | | _Privileges_ | | | | -| Permission granted | [Read][permissions] | [Write][permissions] | [Maintain][permissions] | +| Permission granted | [Write][permissions] | [Write][permissions] | [Maintain][permissions] | +| Can Approve PRs | ✗ | ✓ | ✓ | | 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 suggest PRs/issues for
Milestones during planning | ✓ | ✓ | ✓ | | Can choose Milestones for specific component | ✗ | ✓ | ✓ | | Choose project's Milestones during planning | ✗ | ✗ | ✓ | | Can propose new RFC or
participate in review of existing RFC | ✓ | ✓ | ✓ | @@ -45,7 +47,7 @@ A Contributor can invest their time and resources in several different ways to i * Answering questions from community members in Discussions on Issues * Providing feedback on RFC pull requests and Discussions * Reviewing and/or testing pull requests -* Contribute code, including bug fixes, new examples of oneDPL use, and new feature implementations +* Contribute code, including bug fixes, tests, new examples of oneDPL use, and new feature implementations * Contribute design proposals as RFCs Responsibilities: @@ -76,8 +78,11 @@ Requirements: * Can propose new RFC or participate in review of existing RFCs Responsibilities in addition to those of Contributors: -* Enforce the Contribution Guidelines -* Co-own a component or aspect of the repository, including contributing bug fixes, implementing features, and performance optimizations +* Ensure the Contribution Guidelines are followed in contributions impacting the Code Owner's component +* Cleanup stale PRs and branches that have work impacting their component +* Participate in the discussion of RFCs that impact their component +* Co-own a component or aspect of the repository, including ensuring bugs are addressed, features are well tested, + requested features from RFCs are implemented, and the performance of component APIs is optimized. Privileges: * Eligible to become a Maintainer @@ -96,7 +101,10 @@ affiliation. ## Maintainer A Maintainer is one of the most established contributors who are responsible for the project technical direction and -participate in making decisions about strategy and priorities of the project. +participate in making decisions about strategy and priorities of the project. The responsibilities they have increase +in scope from that of Code Owners to encompass the entire project. Maintainers may make public presentations and +statements in public forums (e.g., UXL DevSummit, UXL working group meetings, etc.) about the status and direction of +the oneDPL project. Requirements: * Experience as a Code Owner. From 2ea4608bbb703a57641059032045a9e7fadbba89 Mon Sep 17 00:00:00 2001 From: timmiesmith Date: Fri, 22 Nov 2024 15:48:49 -0600 Subject: [PATCH 11/23] Clarify milestone wording. --- MAINTAINERS.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/MAINTAINERS.md b/MAINTAINERS.md index 13b32ff457f..6f42dc641eb 100644 --- a/MAINTAINERS.md +++ b/MAINTAINERS.md @@ -58,7 +58,7 @@ Privileges: * Code contributions recognized in the oneDPL [credits](CREDITS.txt) * Eligible to become a Code Owner * Read permissions granted to the repository -* Can suggest Milestones during planning +* Can suggest PRs and issues to be included in Milestones during planning ## Code Owner @@ -88,8 +88,7 @@ Privileges: * Eligible to become a Maintainer * Write permissions granted to the repository * Can recommend Contributors to become Code Owners -* Can suggest Milestones during planning -* Can choose Milestones for a specific component +* Can choose PRs and issues to be included in Milestones for a specific component * Can propose new RFC or participate in review of existing RFCs The process of becoming a Code Owner is: From c0da86e06060fe2f412dae5edd24a1268a7c42d9 Mon Sep 17 00:00:00 2001 From: timmiesmith Date: Fri, 22 Nov 2024 16:05:59 -0600 Subject: [PATCH 12/23] Correcting Nomination process for Code Owners. Adding proposed Maintainers list. --- MAINTAINERS.md | 41 ++++++++++++++++++++++++----------------- 1 file changed, 24 insertions(+), 17 deletions(-) diff --git a/MAINTAINERS.md b/MAINTAINERS.md index 6f42dc641eb..9f86d7ab934 100644 --- a/MAINTAINERS.md +++ b/MAINTAINERS.md @@ -92,9 +92,9 @@ Privileges: * Can propose new RFC or participate in review of existing RFCs The process of becoming a Code Owner is: -1. A Contributor is nominated by opening a PR modifying the MAINTAINERS.md file including name, Github username, and -affiliation. -2. At least two specific component Maintainers approve the PR. +1. A Contributor is nominated by opening a PR modifying the MAINTAINERS.md file including project component along with +contributor name, Github username, and affiliation. +2. At least two specific component Code Owners or Maintainers approve the PR. 3. MAINTAINERS.md file is updated to represent corresponding areas of responsibility. ## Maintainer @@ -138,20 +138,27 @@ approve the PR. ## Current Code Owners -There are currently no Code Owners identified for oneDPL. +| Component | Code Owner(s) | Github ID | Affiliation | +| --------------------- | ------------------- | --------- | ----------- | +| C++ standard policies and CPU backends | Dan Hoeflinger | @danhoeflinger | Intel | +| SYCL device policies and SYCL backends | Mikhail Dvorskiy
Adam Fidel | @MikeDvorskiy
@adamfidel | Intel | +| Tested Standard C++ APIs & Utility Function Object Classes | Sergey Kopienko | @SergeyKopeinko | Intel | +| C++17 standard algorithms | Mikhail Dvorskiy
Adam Fidel
SergeyKopienko
Julian Miller
Dmitriy Sobolev | @MikeDvorskiy
@adamfidel
@SergeyKopienko
@julianmi
@dmitriy-sobolev | Intel
Intel
Intel
Independent
Intel
Intel | +| Range-Based Algorithms | Mikhail Dvorskiy | @MikeDvorskiy | Intel | +| Asynchronous API Algorithms | Pablo Reble | @reble | Intel | +| Additional Algorithms | Dan Hoeflinger
Matt Michel | @danhoeflinger
@mmichel11 | Intel
Intel | +| Iterators | Dan Hoeflinger | @danhoeflinger | Intel | +| Random Number Generators | Pavel Dyakov | @paveldyakov | Intel | +| Dynamic Selection API | Anuya Welling | @AnuyaWelling2801 | AMD | +| Kernel Templates API | Sergey Kopienko
Dmitriy Sobolev | @SergeyKopienko
@dmitriy-sobolev | Intel
Intel | ## Current Maintainers -| Feature | Maintainer | Github ID | -| --------------------- | ------------------- | -------- | -| C++ standard policies and CPU backends | Dan Hoeflinger | @danhoeflinger | -| SYCL device policies and SYCL backends | Mikhail Dvorskiy
Adam Fidel | @MikeDvorskiy
@adamfidel | -| Tested Standard C++ APIs & Utility Function Object Classes | Sergey Kopienko | @SergeyKopeinko | -| C++17 standard algorithms | Mikhail Dvorskiy
Adam Fidel
SergeyKopienko
Julian Miller
Dmitriy Sobolev | @MikeDvorskiy
@adamfidel
@SergeyKopienko
@julianmi
@dmitriy-sobolev | -| Range-Based Algorithms | Mikhail Dvorskiy | @MikeDvorskiy | -| Asynchronous API Algorithms | Pablo Reble | @reble | -| Additional Algorithms | Dan Hoeflinger
Matt Michel | @danhoeflinger
@mmichel11 | -| Iterators | Dan Hoeflinger | @danhoeflinger | -| Random Number Generators | Pavel Dyakov | @paveldyakov | -| Dynamic Selection API | Anuya Welling | @AnuyaWelling2801 | -| Kernel Templates API | Sergey Kopienko
Dmitriy Sobolev | @SergeyKopienko
@dmitriy-sobolev | +| Maintainer | Github ID | Affiliation | +| ------------------- | --------- | ----------- | +| Mikhail Dvorskiy | @MikeDvorskiy | Intel | +| Dan Hoeflinger | @danhoeflinger | Intel | +| Sergey Kopienko | @SergeyKopeinko | Intel | +| Alexey Kukanov | @akukanov | Intel | +| Timmie Smith | @timmiesmith | Intel | +| Dmitriy Sobolev | @dmitriy-sobolev | Intel | From e338d7d93149d2716de2d7091a959f72229c56b8 Mon Sep 17 00:00:00 2001 From: timmiesmith Date: Mon, 25 Nov 2024 07:45:16 -0600 Subject: [PATCH 13/23] Add sentence about openness of becoming a contributor. --- MAINTAINERS.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/MAINTAINERS.md b/MAINTAINERS.md index 9f86d7ab934..2ab480ea089 100644 --- a/MAINTAINERS.md +++ b/MAINTAINERS.md @@ -43,7 +43,8 @@ requirements and the nomination process. ## Contributor -A Contributor can invest their time and resources in several different ways to improve oneDPL +This role is open to anyone that would like to become actively involved in the oneDPL project. A Contributor can invest +their time and resources in several different ways to improve oneDPL * Answering questions from community members in Discussions on Issues * Providing feedback on RFC pull requests and Discussions * Reviewing and/or testing pull requests From 95bd7fe0ec0ce6cd36da06cf42f5f60afefcd8f5 Mon Sep 17 00:00:00 2001 From: timmiesmith Date: Mon, 25 Nov 2024 07:49:54 -0600 Subject: [PATCH 14/23] Split table --- MAINTAINERS.md | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/MAINTAINERS.md b/MAINTAINERS.md index 2ab480ea089..809af0c91fd 100644 --- a/MAINTAINERS.md +++ b/MAINTAINERS.md @@ -6,16 +6,16 @@ in oneDPL. The document also defines the process for maintainers to [Leave A Rol # Roles and Responsibilities -The oneDPL project defines three primary roles: +The oneDPL project defines three primary roles, each with their own responsibilities and privileges: * [Contributor](#contributor) * [Code Owner](#codeowner) * [Maintainer](#maintainer) [permissions]: https://docs.github.com/en/organizations/managing-user-access-to-your-organizations-repositories/managing-repository-roles/repository-roles-for-an-organization#permissions-for-each-role -| | Contributor | Code Owner | Maintainer | +| _Responsibilities_ | Contributor | Code Owner | Maintainer | | :------------------------------------------------------------------------------------------------------------------------------------------ | :---------------------: | :---------------------: | :---------------------: | -| _Responsibilities_ | | | | +| | | | | | Follow the Code of Conduct | ✓ | ✓ | ✓ | | Follow Contribution Guidelines | ✓ | ✓ | ✓ | | Ensure Contribution Guidelines are followed | ✗ | ✓ | ✓ | @@ -23,7 +23,9 @@ The oneDPL project defines three primary roles: | 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 | ✗ | ✓ | ✓ | | Co-own the project as a whole,
including determining strategy and policy for the project | ✗ | ✗ | ✓ | -| _Privileges_ | | | | + +| _Privileges_ | | | | +| :------------------------------------------------------------------------------------------------------------------------------------------ | :---------------------: | :---------------------: | :---------------------: | | Permission granted | [Write][permissions] | [Write][permissions] | [Maintain][permissions] | | Can Approve PRs | ✗ | ✓ | ✓ | | Eligible to become | Code Owner | Maintainer | ✗ | From c0d7e365aae2c338d2338674992a057f06960146 Mon Sep 17 00:00:00 2001 From: timmiesmith Date: Mon, 25 Nov 2024 07:52:25 -0600 Subject: [PATCH 15/23] Add roles to header --- MAINTAINERS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MAINTAINERS.md b/MAINTAINERS.md index 809af0c91fd..203ef21c199 100644 --- a/MAINTAINERS.md +++ b/MAINTAINERS.md @@ -24,7 +24,7 @@ The oneDPL project defines three primary roles, each with their own responsibili | Co-own on technical direction of component or
aspect of the library | ✗ | ✓ | ✓ | | Co-own the project as a whole,
including determining strategy and policy for the project | ✗ | ✗ | ✓ | -| _Privileges_ | | | | +| _Privileges_ | Contributor | Code Owner | Maintainer | | :------------------------------------------------------------------------------------------------------------------------------------------ | :---------------------: | :---------------------: | :---------------------: | | Permission granted | [Write][permissions] | [Write][permissions] | [Maintain][permissions] | | Can Approve PRs | ✗ | ✓ | ✓ | From 96c1d3a045a7dc17f5132f041e616e839511f207 Mon Sep 17 00:00:00 2001 From: timmiesmith Date: Mon, 25 Nov 2024 08:21:49 -0600 Subject: [PATCH 16/23] Remove extra Intel from row --- MAINTAINERS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MAINTAINERS.md b/MAINTAINERS.md index 203ef21c199..f106781187a 100644 --- a/MAINTAINERS.md +++ b/MAINTAINERS.md @@ -146,7 +146,7 @@ approve the PR. | C++ standard policies and CPU backends | Dan Hoeflinger | @danhoeflinger | Intel | | SYCL device policies and SYCL backends | Mikhail Dvorskiy
Adam Fidel | @MikeDvorskiy
@adamfidel | Intel | | Tested Standard C++ APIs & Utility Function Object Classes | Sergey Kopienko | @SergeyKopeinko | Intel | -| C++17 standard algorithms | Mikhail Dvorskiy
Adam Fidel
SergeyKopienko
Julian Miller
Dmitriy Sobolev | @MikeDvorskiy
@adamfidel
@SergeyKopienko
@julianmi
@dmitriy-sobolev | Intel
Intel
Intel
Independent
Intel
Intel | +| C++17 standard algorithms | Mikhail Dvorskiy
Adam Fidel
SergeyKopienko
Julian Miller
Dmitriy Sobolev | @MikeDvorskiy
@adamfidel
@SergeyKopienko
@julianmi
@dmitriy-sobolev | Intel
Intel
Intel
Independent
Intel | | Range-Based Algorithms | Mikhail Dvorskiy | @MikeDvorskiy | Intel | | Asynchronous API Algorithms | Pablo Reble | @reble | Intel | | Additional Algorithms | Dan Hoeflinger
Matt Michel | @danhoeflinger
@mmichel11 | Intel
Intel | From dff3b951479c65ece52f63cbce9be4db710a1ab1 Mon Sep 17 00:00:00 2001 From: timmiesmith Date: Mon, 25 Nov 2024 08:26:11 -0600 Subject: [PATCH 17/23] Check how merged table with blank row looks. --- MAINTAINERS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MAINTAINERS.md b/MAINTAINERS.md index f106781187a..1178ba9a98e 100644 --- a/MAINTAINERS.md +++ b/MAINTAINERS.md @@ -23,7 +23,7 @@ The oneDPL project defines three primary roles, each with their own responsibili | 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 | ✗ | ✓ | ✓ | | Co-own the project as a whole,
including determining strategy and policy for the project | ✗ | ✗ | ✓ | - +| | | | | | _Privileges_ | Contributor | Code Owner | Maintainer | | :------------------------------------------------------------------------------------------------------------------------------------------ | :---------------------: | :---------------------: | :---------------------: | | Permission granted | [Write][permissions] | [Write][permissions] | [Maintain][permissions] | From 47628559473771764bfc63d3316e01cc01d6cce2 Mon Sep 17 00:00:00 2001 From: timmiesmith Date: Mon, 25 Nov 2024 08:29:05 -0600 Subject: [PATCH 18/23] Cleanup table. --- MAINTAINERS.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/MAINTAINERS.md b/MAINTAINERS.md index 1178ba9a98e..05ab8489e6f 100644 --- a/MAINTAINERS.md +++ b/MAINTAINERS.md @@ -25,8 +25,7 @@ The oneDPL project defines three primary roles, each with their own responsibili | Co-own the project as a whole,
including determining strategy and policy for the project | ✗ | ✗ | ✓ | | | | | | | _Privileges_ | Contributor | Code Owner | Maintainer | -| :------------------------------------------------------------------------------------------------------------------------------------------ | :---------------------: | :---------------------: | :---------------------: | -| Permission granted | [Write][permissions] | [Write][permissions] | [Maintain][permissions] | +| Permission granted | [Write][permissions] | [Write][permissions] | [Maintain][permissions] | | Can Approve PRs | ✗ | ✓ | ✓ | | Eligible to become | Code Owner | Maintainer | ✗ | | Can recommend Contributors
to become Code Owner | ✗ | ✓ | ✓ | From 0cf384347ffbb1caf075dfde28abe02f94a761cf Mon Sep 17 00:00:00 2001 From: timmiesmith Date: Mon, 25 Nov 2024 08:31:15 -0600 Subject: [PATCH 19/23] bold roles for privileges. --- MAINTAINERS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MAINTAINERS.md b/MAINTAINERS.md index 05ab8489e6f..6525d890eb9 100644 --- a/MAINTAINERS.md +++ b/MAINTAINERS.md @@ -24,7 +24,7 @@ The oneDPL project defines three primary roles, each with their own responsibili | Co-own on technical direction of component or
aspect of the library | ✗ | ✓ | ✓ | | Co-own the project as a whole,
including determining strategy and policy for the project | ✗ | ✗ | ✓ | | | | | | -| _Privileges_ | Contributor | Code Owner | Maintainer | +| **Privileges** | **Contributor** | **Code Owner** | **Maintainer** | | Permission granted | [Write][permissions] | [Write][permissions] | [Maintain][permissions] | | Can Approve PRs | ✗ | ✓ | ✓ | | Eligible to become | Code Owner | Maintainer | ✗ | From 06e952fd91162d4712c22dfa73fd12d2975676e0 Mon Sep 17 00:00:00 2001 From: timmiesmith Date: Mon, 25 Nov 2024 08:32:54 -0600 Subject: [PATCH 20/23] Reintroduce italics --- MAINTAINERS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MAINTAINERS.md b/MAINTAINERS.md index 6525d890eb9..9a82c4dac9e 100644 --- a/MAINTAINERS.md +++ b/MAINTAINERS.md @@ -24,7 +24,7 @@ The oneDPL project defines three primary roles, each with their own responsibili | Co-own on technical direction of component or
aspect of the library | ✗ | ✓ | ✓ | | Co-own the project as a whole,
including determining strategy and policy for the project | ✗ | ✗ | ✓ | | | | | | -| **Privileges** | **Contributor** | **Code Owner** | **Maintainer** | +| **_Privileges_** | **Contributor** | **Code Owner** | **Maintainer** | | Permission granted | [Write][permissions] | [Write][permissions] | [Maintain][permissions] | | Can Approve PRs | ✗ | ✓ | ✓ | | Eligible to become | Code Owner | Maintainer | ✗ | From 251f26f8b0d90e31e58c2364469208aaee2fd0e2 Mon Sep 17 00:00:00 2001 From: timmiesmith Date: Fri, 29 Nov 2024 12:08:48 -0600 Subject: [PATCH 21/23] Incorporating review feedback. --- MAINTAINERS.md | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/MAINTAINERS.md b/MAINTAINERS.md index 9a82c4dac9e..7021c3db268 100644 --- a/MAINTAINERS.md +++ b/MAINTAINERS.md @@ -59,7 +59,7 @@ Responsibilities: Privileges: * Code contributions recognized in the oneDPL [credits](CREDITS.txt) * Eligible to become a Code Owner -* Read permissions granted to the repository +* Write permissions granted to the repository * Can suggest PRs and issues to be included in Milestones during planning ## Code Owner @@ -77,7 +77,6 @@ Requirements: * Demonstrated in-depth knowledge of the architecture of a specific project component. * Commits to being responsible for that specific area. -* Can propose new RFC or participate in review of existing RFCs Responsibilities in addition to those of Contributors: * Ensure the Contribution Guidelines are followed in contributions impacting the Code Owner's component @@ -142,11 +141,11 @@ approve the PR. | Component | Code Owner(s) | Github ID | Affiliation | | --------------------- | ------------------- | --------- | ----------- | -| C++ standard policies and CPU backends | Dan Hoeflinger | @danhoeflinger | Intel | +| C++ standard policies and CPU backends | Mikhail Dvorskiy
Dan Hoeflinger | @MikeDvorskiy
@danhoeflinger | Intel
Intel | | SYCL device policies and SYCL backends | Mikhail Dvorskiy
Adam Fidel | @MikeDvorskiy
@adamfidel | Intel | | Tested Standard C++ APIs & Utility Function Object Classes | Sergey Kopienko | @SergeyKopeinko | Intel | | C++17 standard algorithms | Mikhail Dvorskiy
Adam Fidel
SergeyKopienko
Julian Miller
Dmitriy Sobolev | @MikeDvorskiy
@adamfidel
@SergeyKopienko
@julianmi
@dmitriy-sobolev | Intel
Intel
Intel
Independent
Intel | -| Range-Based Algorithms | Mikhail Dvorskiy | @MikeDvorskiy | Intel | +| Range-Based Algorithms | Mikhail Dvorskiy
Ruslan Arutyunyan | @MikeDvorskiy
@rarutyun | Intel
Intel | | Asynchronous API Algorithms | Pablo Reble | @reble | Intel | | Additional Algorithms | Dan Hoeflinger
Matt Michel | @danhoeflinger
@mmichel11 | Intel
Intel | | Iterators | Dan Hoeflinger | @danhoeflinger | Intel | From 16e0e73bbbd096ea17fdcc33f9a9f4c8f4d61080 Mon Sep 17 00:00:00 2001 From: timmiesmith Date: Fri, 29 Nov 2024 12:25:18 -0600 Subject: [PATCH 22/23] Adding note on how potential contributors can request write access to the repo. --- CONTRIBUTING.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 72de0e6b917..8e83abe4596 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -24,6 +24,10 @@ your change directly to the repository: - Submit a [pull request](https://docs.github.com/en/free-pro-team@latest/github/collaborating-with-issues-and-pull-requests/creating-a-pull-request) into the main branch. You may add a description of your contribution into [CREDITS.txt](https://github.com/oneapi-src/oneDPL/blob/main/CREDITS.txt). +- Contributors that would like to open branches directly in the oneDPL repo instead of working via fork may request + write access to the repository by contacting project maintainers on + [UXL Foundation Slack](https://slack-invite.uxlfoundation.org/) using the + [#onedpl](https://uxlfoundation.slack.com/channels/onedpl) channel. # Coding Conventions From 19e74d3c4cac032f7ad16db1e8faa82dab21110a Mon Sep 17 00:00:00 2001 From: timmiesmith Date: Mon, 2 Dec 2024 13:25:32 -0600 Subject: [PATCH 23/23] Clarifying repo access for contributors. --- MAINTAINERS.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/MAINTAINERS.md b/MAINTAINERS.md index 7021c3db268..14236523b0a 100644 --- a/MAINTAINERS.md +++ b/MAINTAINERS.md @@ -25,7 +25,7 @@ The oneDPL project defines three primary roles, each with their own responsibili | Co-own the project as a whole,
including determining strategy and policy for the project | ✗ | ✗ | ✓ | | | | | | | **_Privileges_** | **Contributor** | **Code Owner** | **Maintainer** | -| Permission granted | [Write][permissions] | [Write][permissions] | [Maintain][permissions] | +| Permission granted | [Read][permissions]/[Write][permissions] | [Write][permissions] | [Maintain][permissions] | | Can Approve PRs | ✗ | ✓ | ✓ | | Eligible to become | Code Owner | Maintainer | ✗ | | Can recommend Contributors
to become Code Owner | ✗ | ✓ | ✓ | @@ -59,7 +59,7 @@ Responsibilities: Privileges: * Code contributions recognized in the oneDPL [credits](CREDITS.txt) * Eligible to become a Code Owner -* Write permissions granted to the repository +* May request write permissions to the repository from the oneDPL Maintainers. * Can suggest PRs and issues to be included in Milestones during planning ## Code Owner