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

RFC Governance Document #12878

Open
wants to merge 5 commits into
base: master
from

Conversation

Projects
None yet
6 participants
@amueller
Copy link
Member

amueller commented Dec 27, 2018

This is a draft of the proposed governance structure for the scikit-learn project. It has been discussed somewhat between core developers, but I want to get input from the wider community.
We tried to keep is as simple as possible though some complexities crept in as always.

I did some editing to have a consistent document, so this is "my version", not a consensus (yet).

The goal is to discuss this document further in this PR and have a final vote of core developers on the public mailing list.

I kicked out the (really old and bad) flow chart from the documentation page (it's still in the tutorial). Alternatively we could remove the "other resources" which are pretty out of date and google probably provides better ones.

initial rendering:
https://41695-843222-gh.circle-artifacts.com/0/doc/governance.html

@@ -87,13 +87,6 @@ Documentation of scikit-learn |version|
</div>

<div class="row-fluid">
<div class="span4 box">
<h2><a href="tutorial/machine_learning_map/index.html">Flow Chart</a></h2>

This comment has been minimized.

@qinhanmin2014

qinhanmin2014 Dec 28, 2018

Member

Maybe remove Additional Resources instead? The flow chart seems useful from my side and most additional resources are outdated.

This comment has been minimized.

@jnothman

jnothman Jan 10, 2019

Member

I think it would be fine to see governance linked from About and Developers and not have this prominent a position

This comment has been minimized.

@amueller

amueller Jan 15, 2019

Member

@jnothman so you don't want to see the additional resources go?

Show resolved Hide resolved doc/governance.rst Outdated
Show resolved Hide resolved doc/governance.rst Outdated
Show resolved Hide resolved doc/governance.rst Outdated
Show resolved Hide resolved doc/governance.rst Outdated

@betatim betatim referenced this pull request Dec 28, 2018

Open

Governance of Binder #42

@qinhanmin2014
Copy link
Member

qinhanmin2014 left a comment

LGTM, personally I'd like to keep the flow chart.

@reshamas

This comment has been minimized.

Copy link
Contributor

reshamas commented Dec 30, 2018

Question for you:
For example, if a contributor does not respond to a review comment in PR, when can someone else take it over? What's the etiquette for that? Do they wait 1 week, 1 month? Or follow-up 1-3 times before taking it over?
(refer to wimlds scikit-sprint for examples)

Show resolved Hide resolved doc/governance.rst Outdated
comments) in the past 12 months will be asked if they want to become emeritus
core developers and recant their commit and voting rights until they become
active again. The list of core developers, active and emeritus (with dates at
which they became active) is public on the scikit-learn website.

This comment has been minimized.

@GaelVaroquaux

GaelVaroquaux Dec 30, 2018

Member

Ideally we should add a link here to this list. However, I would suggest that this is done in a second time, after the merge of this document.

This comment has been minimized.

@amueller

amueller Dec 30, 2018

Member

I added a link to the group which is the active members, but yes, once we have a list we can link it here.

Show resolved Hide resolved doc/governance.rst Outdated
@GaelVaroquaux

This comment has been minimized.

Copy link
Member

GaelVaroquaux commented Dec 30, 2018

@reshamas :

For example, if a contributor does not respond to a review comment in PR, when can someone else take it over? What's the etiquette for that? Do they wait 1 week, 1 month? Or follow-up 1-3 times before taking it over?

This is a good question, and I feel that we should address it. My personal preference would be:

  1. new contributor comments on PR saying that she/he wants to take over
  2. failing to respond to respond to respond to comments for 1 week means PR can be taken over
  3. a comment simply saying that the initial contributor wants to continue is valid, however such comment should give a timeframe

However, first this is only a personal view, second I feel that this should go in the contributor guide, rather than in the governance document.

(refer to wimlds scikit-sprint for examples)

Would you mind giving a link: I feel that there is good material that can be reused.

@reshamas

This comment has been minimized.

Copy link
Contributor

reshamas commented Dec 30, 2018

@GaelVaroquaux

  1. Here is the sprint list of PRs
  2. Here are a couple of examples:

Side note: I also reached out to these contributors multiple times via email and Meetup email, and those communications are not documented on GitHub.

@GaelVaroquaux

This comment has been minimized.

Copy link
Member

GaelVaroquaux commented Dec 30, 2018

@reshamas : I am starting to understand (sorry, I have not been involved with the sprint, although it would have been a good use of my time): you, and others, lost time and were not able to contribute productively because of these stalled PRs.

As far as I am concerned, we should indeed move forward on such stalled PR. The only caveat is that sometimes a contributor has in his agenda to finish, but is not checking email at a specific time. I really think that your concern is a legitimate one, and we should address it by making things more explicit. When the project was small, the community made decisions on a case-by-case basis. With a much bigger community, it doesn't work well. I propose write guidelines in a separate pull request, and leave this one for the main governance questions.

@amueller

This comment has been minimized.

Copy link
Member

amueller commented Dec 30, 2018

@reshamas I agree this is an important issue, but I would also argue this should probably not part of the governance doc.
@GaelVaroquaux I was helping @reshamas with the sprint and I think overall it went pretty well :)

@amueller

This comment has been minimized.

Copy link
Member

amueller commented Dec 30, 2018

Thank you for all your input @GaelVaroquaux! I'll try to respond before my vacation starts on Tuesday but I have a long list of things to do.

Update doc/governance.rst
fix broken link

Co-Authored-By: amueller <t3kcit@gmail.com>
@qinhanmin2014

This comment has been minimized.

Copy link
Member

qinhanmin2014 commented Dec 31, 2018

So we've decided to drop the great flow chart? I still think it's better to remove Additional Resources instead.

@amueller

This comment has been minimized.

Copy link
Member

amueller commented Jan 9, 2019

@qinhanmin2014 I wouldn't say that we have decided that. I think no-one else has voiced their opinion (looks like @TomDLT agrees with you). I'm happy to make the change but this is not the part I'm most concerned about ;)

There's been no movement on this for 10 days. I think I had actually commented on the issue brought up by @GaelVaroquaux and I like @adrinjalali's suggestion.

I'm a bit disappointed by the lack of engagement I have to say but I guess that's what we get for a lengthy process. Given the lack of input, I think we should go with @adrinjalali's suggestion, give everything another reading, and then probably put it to a vote on the general mailing list, with all "core devs" having the ability to vote?

@@ -87,13 +87,6 @@ Documentation of scikit-learn |version|
</div>

<div class="row-fluid">
<div class="span4 box">
<h2><a href="tutorial/machine_learning_map/index.html">Flow Chart</a></h2>

This comment has been minimized.

@jnothman

jnothman Jan 10, 2019

Member

I think it would be fine to see governance linked from About and Developers and not have this prominent a position

---------------
Core developers are community members who have shown that they are dedicated to
the continued development of the project through ongoing engagement with the
community. Being a core developer allows contributors to more easily carry on

This comment has been minimized.

@jnothman

jnothman Jan 10, 2019

Member

I think core developers are characterised by more than dedication. They have also shown their understanding of scikit-learn code and processes, receiving the trust of other developers that they will maintain the project with care.

This comment has been minimized.

@amueller

amueller Jan 15, 2019

Member

Want to suggest an edit? ;)

This comment has been minimized.

@jnothman

jnothman Jan 16, 2019

Member
Suggested change Beta
community. Being a core developer allows contributors to more easily carry on
community. They have shown they can be trusted to maintain Scikit-learn with
care. Being a core developer allows contributors to more easily carry on
Show resolved Hide resolved doc/governance.rst Outdated

Scikit-learn uses a "consensus seeking" process for making decisions. The group
tries to find a resolution that has no open objections among core developers
within a month. If no consensus can be reached in this time frame, a

This comment has been minimized.

@jnothman

jnothman Jan 10, 2019

Member

within a month of what? How/when does one declare that a decision needs to be made? Does one create a SLEP to force a decision, such that then there is a month from its posting to find consensus? Can this be made more explicit?

This comment has been minimized.

@adrinjalali

adrinjalali Jan 10, 2019

Member

When I tried to fix this issue on the doc version, I failed to keep it simple, but it was along the lines of: "A deadline is set once two core developers call for a deadline on a particular issue."

This comment has been minimized.

@amueller

amueller Jan 15, 2019

Member

This is indeed a tricky point and I'm not sure how to best address it.
Go has (shepherds)[https://github.com/golang/proposal] that can call for votes if I understand correctly. I'm not sure how well that works.
Having a call for vote and a seconding would also work. Can the proposer call for a vote and/or second?

This comment has been minimized.

@jnothman

jnothman Jan 16, 2019

Member

I'm not sure what you're asking in

Can the proposer call for a vote and/or second?

I'm fine with two people proposing a vote, but it seems absent here.

This comment has been minimized.

@adrinjalali

adrinjalali Jan 16, 2019

Member
... The group
tries to find a resolution that has no open objections among core developers
within a month. ...

->

... The group
tries to find a resolution that has no open objections among core developers.
At any given time, if a core developer suggests a deadline for the discussion
and another core developer seconds the suggestion, that deadline is the time
the team has to reach a consensus. ...

This comment has been minimized.

@jnothman

jnothman Jan 16, 2019

Member

but then you need to stipulate a minimum time to deadline

This comment has been minimized.

@adrinjalali

adrinjalali Jan 16, 2019

Member

My first draft had "a deadline which is not closer that two weeks from the point of setting the deadline", but it becomes a bit convoluted in the text. I just thought if we require two people to sign on the deadline, they'd agree on a "reasonable" deadline. I'm personally happy with having a min and/or max on the deadline call.

This comment has been minimized.

@amueller

amueller Jan 17, 2019

Member

@jnothman The question was whether to do a vote, we need two people that are not the proposer to call for a vote, or if the proposer can be one of the two people.

I'll try to reformulate this in a bit.

Apply suggestions from code review
Co-Authored-By: amueller <t3kcit@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment