Skip to content

Commit f2f7418

Browse files
jjerphanGaelVaroquauxamuellerjmloyolareshamas
authored
SLEP019: Governance Update - Recognizing Contributions Beyond Code (#74)
Co-authored-by: Gael Varoquaux <[email protected]> Co-authored-by: Andreas Mueller <[email protected]> Co-authored-by: Juan Martin Loyola <[email protected]> Co-authored-by: Reshama Shaikh <[email protected]> Co-authored-by: Adrin Jalali <[email protected]> Co-authored-by: Thomas J. Fan <[email protected]> Co-authored-by: Chiara Marmo <[email protected]> Co-authored-by: Christian Lorentzen <[email protected]> Co-authored-by: Meekail Zain <[email protected]> Co-authored-by: Tim Head <[email protected]> Co-authored-by: Noa Tamir <[email protected]>
1 parent 58495ff commit f2f7418

File tree

2 files changed

+200
-0
lines changed

2 files changed

+200
-0
lines changed

index.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
slep012/proposal
2424
slep013/proposal
2525
slep017/proposal
26+
slep019/proposal
2627

2728
.. toctree::
2829
:maxdepth: 1

slep019/proposal.rst

Lines changed: 199 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,199 @@
1+
.. _slep_019:
2+
3+
####################################################################
4+
SLEP019: Governance Update - Recognizing Contributions Beyond Code
5+
####################################################################
6+
7+
:Author: Julien Jerphanion <[email protected]>, Gaël Varoquaux <[email protected]>
8+
:Status: Draft
9+
:Type: Process
10+
:Created: 2022-09-12
11+
12+
**********
13+
Abstract
14+
**********
15+
16+
This SLEP proposes updating the Governance to broaden the notion of
17+
contribution in scikit-learn and to ease subsequent related changes to
18+
the Governance without requiring SLEPs.
19+
20+
************
21+
Motivation
22+
************
23+
24+
Current state
25+
=============
26+
27+
The formal decision making process of the scikit-learn project is
28+
limited to a subset of contributors, called Core Developers (also
29+
refered to as Maintainers). Their active and consistent contributions
30+
are recognized by them:
31+
32+
- being part of scikit-learn organisation on GitHub
33+
- receiving “commit rights” to the repository
34+
- having their Pull Request reviews recognised as authoritative
35+
- having voting rights for the project direction (promoting a
36+
contributor to be a core-developer, approving a SLEP, etc.)
37+
38+
Core Developers are primarily selected based on their code
39+
contributions. However, there are a lot of other ways to contribute to
40+
the project, and these efforts are currently not recognized [1]_. To
41+
quote Melissa Weber Mendonça [2]_ and Reshama Shaikh [3]_:
42+
43+
.. epigraph::
44+
45+
"When some people join an open source project, they may be asked to contribute
46+
with tasks that will never get them on a path to any sort of official input,
47+
such as voting rights."
48+
49+
Desired Goal: incrementally adapt the Governance
50+
================================================
51+
52+
We need to:
53+
54+
- value non-coding contributions in the project and acknowledge all
55+
efforts, including those that are not quantified by GitHub users'
56+
activity
57+
58+
- empower more contributors to effectively participate in the project
59+
without requiring the security responsibilities of tracking code
60+
changes to the main branches. These considerations should lead to the
61+
diversification of contribution paths [4]_.
62+
63+
Rather than introducing entirely new structure and Governance, we
64+
propose changes to the existing ones which allow for small incremental
65+
modifications over time.
66+
67+
******************
68+
Proposed changes
69+
******************
70+
71+
Some of the proposed modification have been discussed in the monthly
72+
meetings, on April 25th 2022 [5]_ and September 5th 2022 [6]_.
73+
74+
Define "Contributions" more broadly
75+
===================================
76+
77+
Explicitly define Contributions and emphasize the importance of non-code
78+
contributions in the Governance structure.
79+
80+
Evolve the Technical Committee into a Steering Committee
81+
========================================================
82+
83+
Rename "Technical Committee" to "Steering Committee".
84+
85+
Define the Steering Committee as a subset of Core Contributors rather
86+
than a subset of Core Developers.
87+
88+
Create a Triage Team
89+
====================
90+
91+
Create a Triage Team which would be given "Write" permissions on GitHub
92+
[7]_ to be able to perform triaging tasks, such as editing issues'
93+
description.
94+
95+
Define "Core Contributors"
96+
==========================
97+
98+
Establish all members of the following teams as "Core Contributors":
99+
100+
- Triage Team
101+
- Communication Team
102+
- Development Team
103+
104+
A Contributor is promoted to a Core Contributor after being proposed by
105+
at least one existing Core Contributor. The proposal must specify which
106+
Core Team the Contributor will be part of. The promotion is effective
107+
after a vote on the private Core Contributor mailing list which must
108+
last for two weeks and which must reach at least two-thirds positive
109+
majority of the cast votes.
110+
111+
Extend voting rights
112+
====================
113+
114+
Give voting rights to all Core Contributors.
115+
116+
Simplify subsequent changes to the Governance
117+
=============================================
118+
119+
Allow changes to the following aspects of the scikit-learn Governance
120+
without requiring a SLEP:
121+
122+
- additions and changes to Roles' and Teams' scopes
123+
- additions and changes to Roles' and Teams' permissions
124+
125+
Any changes to the scikit-learn Governance (including ones which do not
126+
require being back by a SLEP) will continue to be subject to the
127+
decision making process [8]_, which includes a vote of the Core
128+
Contributors.
129+
130+
If subsequent changes to the Governance are proposed through a GitHub
131+
Pull Request (PR):
132+
133+
- a positive vote is cast by approving the PR (i.e. "Approve"
134+
review)
135+
- a negative vote is cast by requesting changes to the PR (i.e.
136+
"Request changes" review)
137+
138+
In this case, the vote still has to be announced on the Core
139+
Contributors' mailing list, but the system of Pull Request approvals
140+
will replace a vote on the private Core Contributors' mailing list.
141+
142+
***********
143+
Copyright
144+
***********
145+
146+
This document has been placed in the public domain [9]_.
147+
148+
**************************
149+
References and Footnotes
150+
**************************
151+
152+
.. [1]
153+
154+
J. -G. Young, A. Casari, K. McLaughlin, M. Z. Trujillo, L.
155+
Hébert-Dufresne and J. P. Bagrow, "Which contributions count? Analysis
156+
of attribution in open source," 2021 IEEE/ACM 18th International
157+
Conference on Mining Software Repositories (MSR), 2021, pp. 242-253,
158+
doi: 10.1109/MSR52588.2021.00036: https://arxiv.org/abs/2103.11007
159+
160+
.. [2]
161+
162+
Contributor experience, diversity and culture in Open Source Projects:
163+
keynote from Melissa Weber Mendonça:
164+
https://2022.pycon.de/program/NVBLKH/
165+
166+
.. [3]
167+
168+
Reshama Shaikh's quote from Melissa Weber Mendonça' keynote:
169+
https://twitter.com/reshamas/status/1513488342767353857
170+
171+
.. [4]
172+
173+
NumPy Newcomer's Hour: an Experiment on Community Building, talk from
174+
Melissa Weber Mendonça: https://www.youtube.com/watch?v=c0XZQbu0xnw
175+
176+
.. [5]
177+
178+
scikit-learn April 25th 2022 Developer meeting notes:
179+
https://github.com/scikit-learn/administrative/blob/master/meeting_notes/2022-04-25.md
180+
181+
.. [6]
182+
183+
scikit-learn September 5th 2022 Developer meeting notes:
184+
https://github.com/scikit-learn/administrative/blob/master/meeting_notes/2022-09-05.md
185+
186+
.. [7]
187+
188+
Permissions for each role, Repository roles for an organization, GitHub
189+
Docs:
190+
https://docs.github.com/en/organizations/managing-access-to-your-organizations-repositories/repository-roles-for-an-organization#permissions-for-each-role
191+
192+
.. [8]
193+
194+
Decision Making Process, scikit-learn Governance and Decision-Making:
195+
https://scikit-learn.org/dev/governance.html#decision-making-process
196+
197+
.. [9]
198+
199+
Open Publication License: https://www.opencontent.org/openpub/

0 commit comments

Comments
 (0)