-
-
Notifications
You must be signed in to change notification settings - Fork 33
SLEP019: Governance Update - Recognizing Contributions Beyond Code #74
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
30 commits
Select commit
Hold shift + click to select a range
df846b7
Add SLEP019
GaelVaroquaux abbc8f0
Add first draft for SLEP 019
jjerphan 95db18a
Wrap lines and add references
jjerphan c873e90
Fix bullet point list and reword
jjerphan f2a2655
Update slep019/proposal.rst
jjerphan 8ca1922
Add references on Measuring Contributions in OSS and Community Building
jjerphan 9cf5f21
Rephrase the sentence introducing objectives
jjerphan bb8305e
Update slep019/proposal.rst
jjerphan 71b3843
Reword some parts of the Teams creation section
jjerphan 3e58334
Reword Teams' descriptions
jjerphan 4604484
Change reference for original source
jjerphan 4255e89
Adapt the scope of the SLEP019
jjerphan f103cb2
Change the status from "Draft" to "Accepted" prior to the vote
jjerphan c15bd0b
Mention the ease of changes to the Governance in the abstract
jjerphan 606fee0
Use a more informative title for SLEP019
jjerphan 968f66d
Reword title of SLEP019
jjerphan e74ae9c
Update slep019/proposal.rst
jjerphan d97e599
Make the "Simplify subsequent changes to the Governance" explicit
jjerphan fed0e95
Precise Core Teams and promotions to Core Contributor
jjerphan 2e4d2eb
Better word
jjerphan a0897dc
Better reword
jjerphan 553dd53
Reword for a better phrasing
jjerphan 5843079
Format SLEP019 with rstfmt
jjerphan 0ab0254
Add section on renewing the Technical Committee into a Steering Commitee
jjerphan 249b9f4
Remove redundancy in the section on the Steering Commitee
jjerphan 98338fa
Reword the title of the section about Committes
jjerphan ba6cfa8
Set SLEP019 status to "Draft"
jjerphan 4143bc0
Reformat header
jjerphan c6a6e5f
Index SLEP019 as 'Under Review'
jjerphan c821e9a
Merge branch 'master' into slep019
jjerphan File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or 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 |
|---|---|---|
|
|
@@ -23,6 +23,7 @@ | |
| slep012/proposal | ||
| slep013/proposal | ||
| slep017/proposal | ||
| slep019/proposal | ||
|
|
||
| .. toctree:: | ||
| :maxdepth: 1 | ||
|
|
||
This file contains hidden or 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,199 @@ | ||
| .. _slep_019: | ||
|
|
||
| #################################################################### | ||
| SLEP019: Governance Update - Recognizing Contributions Beyond Code | ||
| #################################################################### | ||
|
|
||
| :Author: Julien Jerphanion <git@jjerphan.xyz>, Gaël Varoquaux <gael.varoquaux@normalesup.org> | ||
| :Status: Draft | ||
| :Type: Process | ||
| :Created: 2022-09-12 | ||
|
|
||
| ********** | ||
| Abstract | ||
| ********** | ||
|
|
||
| This SLEP proposes updating the Governance to broaden the notion of | ||
| contribution in scikit-learn and to ease subsequent related changes to | ||
| the Governance without requiring SLEPs. | ||
|
|
||
| ************ | ||
| Motivation | ||
| ************ | ||
|
|
||
| Current state | ||
| ============= | ||
|
|
||
| The formal decision making process of the scikit-learn project is | ||
| limited to a subset of contributors, called Core Developers (also | ||
| refered to as Maintainers). Their active and consistent contributions | ||
| are recognized by them: | ||
|
|
||
| - being part of scikit-learn organisation on GitHub | ||
| - receiving “commit rights” to the repository | ||
| - having their Pull Request reviews recognised as authoritative | ||
| - having voting rights for the project direction (promoting a | ||
| contributor to be a core-developer, approving a SLEP, etc.) | ||
|
|
||
| Core Developers are primarily selected based on their code | ||
| contributions. However, there are a lot of other ways to contribute to | ||
| the project, and these efforts are currently not recognized [1]_. To | ||
| quote Melissa Weber Mendonça [2]_ and Reshama Shaikh [3]_: | ||
|
|
||
| .. epigraph:: | ||
|
|
||
| "When some people join an open source project, they may be asked to contribute | ||
| with tasks that will never get them on a path to any sort of official input, | ||
| such as voting rights." | ||
|
|
||
| Desired Goal: incrementally adapt the Governance | ||
| ================================================ | ||
|
|
||
| We need to: | ||
|
|
||
| - value non-coding contributions in the project and acknowledge all | ||
| efforts, including those that are not quantified by GitHub users' | ||
| activity | ||
|
|
||
| - empower more contributors to effectively participate in the project | ||
| without requiring the security responsibilities of tracking code | ||
| changes to the main branches. These considerations should lead to the | ||
| diversification of contribution paths [4]_. | ||
|
|
||
| Rather than introducing entirely new structure and Governance, we | ||
| propose changes to the existing ones which allow for small incremental | ||
| modifications over time. | ||
|
|
||
| ****************** | ||
| Proposed changes | ||
| ****************** | ||
|
|
||
| Some of the proposed modification have been discussed in the monthly | ||
| meetings, on April 25th 2022 [5]_ and September 5th 2022 [6]_. | ||
|
|
||
| Define "Contributions" more broadly | ||
| =================================== | ||
|
|
||
| Explicitly define Contributions and emphasize the importance of non-code | ||
| contributions in the Governance structure. | ||
|
|
||
| Evolve the Technical Committee into a Steering Committee | ||
| ======================================================== | ||
|
|
||
| Rename "Technical Committee" to "Steering Committee". | ||
|
|
||
| Define the Steering Committee as a subset of Core Contributors rather | ||
| than a subset of Core Developers. | ||
|
|
||
| Create a Triage Team | ||
| ==================== | ||
|
|
||
| Create a Triage Team which would be given "Write" permissions on GitHub | ||
| [7]_ to be able to perform triaging tasks, such as editing issues' | ||
| description. | ||
|
|
||
| Define "Core Contributors" | ||
| ========================== | ||
|
|
||
| Establish all members of the following teams as "Core Contributors": | ||
|
|
||
| - Triage Team | ||
| - Communication Team | ||
| - Development Team | ||
|
|
||
| A Contributor is promoted to a Core Contributor after being proposed by | ||
| at least one existing Core Contributor. The proposal must specify which | ||
| Core Team the Contributor will be part of. The promotion is effective | ||
| after a vote on the private Core Contributor mailing list which must | ||
| last for two weeks and which must reach at least two-thirds positive | ||
| majority of the cast votes. | ||
|
|
||
| Extend voting rights | ||
| ==================== | ||
|
|
||
| Give voting rights to all Core Contributors. | ||
|
|
||
| Simplify subsequent changes to the Governance | ||
| ============================================= | ||
|
|
||
| Allow changes to the following aspects of the scikit-learn Governance | ||
| without requiring a SLEP: | ||
|
|
||
| - additions and changes to Roles' and Teams' scopes | ||
| - additions and changes to Roles' and Teams' permissions | ||
|
|
||
| Any changes to the scikit-learn Governance (including ones which do not | ||
| require being back by a SLEP) will continue to be subject to the | ||
| decision making process [8]_, which includes a vote of the Core | ||
| Contributors. | ||
|
|
||
| If subsequent changes to the Governance are proposed through a GitHub | ||
| Pull Request (PR): | ||
|
|
||
| - a positive vote is cast by approving the PR (i.e. "Approve" | ||
| review) | ||
| - a negative vote is cast by requesting changes to the PR (i.e. | ||
| "Request changes" review) | ||
|
|
||
| In this case, the vote still has to be announced on the Core | ||
| Contributors' mailing list, but the system of Pull Request approvals | ||
| will replace a vote on the private Core Contributors' mailing list. | ||
|
|
||
| *********** | ||
| Copyright | ||
| *********** | ||
|
|
||
| This document has been placed in the public domain [9]_. | ||
|
|
||
| ************************** | ||
| References and Footnotes | ||
| ************************** | ||
|
|
||
| .. [1] | ||
|
|
||
| J. -G. Young, A. Casari, K. McLaughlin, M. Z. Trujillo, L. | ||
| Hébert-Dufresne and J. P. Bagrow, "Which contributions count? Analysis | ||
| of attribution in open source," 2021 IEEE/ACM 18th International | ||
| Conference on Mining Software Repositories (MSR), 2021, pp. 242-253, | ||
| doi: 10.1109/MSR52588.2021.00036: https://arxiv.org/abs/2103.11007 | ||
|
|
||
| .. [2] | ||
|
|
||
| Contributor experience, diversity and culture in Open Source Projects: | ||
| keynote from Melissa Weber Mendonça: | ||
| https://2022.pycon.de/program/NVBLKH/ | ||
|
|
||
| .. [3] | ||
|
|
||
| Reshama Shaikh's quote from Melissa Weber Mendonça' keynote: | ||
| https://twitter.com/reshamas/status/1513488342767353857 | ||
|
|
||
| .. [4] | ||
|
|
||
| NumPy Newcomer's Hour: an Experiment on Community Building, talk from | ||
| Melissa Weber Mendonça: https://www.youtube.com/watch?v=c0XZQbu0xnw | ||
|
|
||
| .. [5] | ||
|
|
||
| scikit-learn April 25th 2022 Developer meeting notes: | ||
| https://github.com/scikit-learn/administrative/blob/master/meeting_notes/2022-04-25.md | ||
|
|
||
| .. [6] | ||
|
|
||
| scikit-learn September 5th 2022 Developer meeting notes: | ||
| https://github.com/scikit-learn/administrative/blob/master/meeting_notes/2022-09-05.md | ||
|
|
||
| .. [7] | ||
|
|
||
| Permissions for each role, Repository roles for an organization, GitHub | ||
| Docs: | ||
| https://docs.github.com/en/organizations/managing-access-to-your-organizations-repositories/repository-roles-for-an-organization#permissions-for-each-role | ||
|
|
||
| .. [8] | ||
|
|
||
| Decision Making Process, scikit-learn Governance and Decision-Making: | ||
| https://scikit-learn.org/dev/governance.html#decision-making-process | ||
|
|
||
| .. [9] | ||
|
|
||
| Open Publication License: https://www.opencontent.org/openpub/ | ||
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As discussed during the drafting meeting, this section does not yet specify the duration of the votes instituted through PRs. We ought to make this explicit -- perhaps 4 weeks as is standard for SLEPs would still be appropriate for governance changes?