Skip to content
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

slep000, slep workflow #30

Merged
merged 15 commits into from
Jan 4, 2022

Conversation

adrinjalali
Copy link
Member

Triggered by the discussions we had during the Paris sprint, and and the recent discussions under #17 , I think it's time for us to have a common understanding of how a SLEP workflow should look like.

This PR heavily borrows (and copy/pastes) from PEP1 and NEP0, and adjusts where appropriate.

I believe it's a good start for us to have an easier and more enjoyable experience working on SLEPs.

cc @scikit-learn/core-devs

@adrinjalali
Copy link
Member Author

I think this also supersedes #28.

Copy link
Member

@glemaitre glemaitre left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM on the document. I just have a reserve during the process.

Once a SLEP is merged and we asked to the mailing list to vote by linking to a PR changing the status to "Accepted", we might still need to have this SLEP opened to comment in the PR.

What I mean is that a this stage only the line which has been changed will be in the diff (meaning the Status). Thus, we will not be to specifically discuss a detail related to a section. I think that we should be able to do so.

slep000/proposal.rst Outdated Show resolved Hide resolved
slep000/proposal.rst Outdated Show resolved Hide resolved
slep000/proposal.rst Outdated Show resolved Hide resolved
slep000/proposal.rst Outdated Show resolved Hide resolved
slep000/proposal.rst Outdated Show resolved Hide resolved
slep000/proposal.rst Outdated Show resolved Hide resolved
slep000/proposal.rst Outdated Show resolved Hide resolved

Once the PR for the SLEP is in place, a post should be made to the mailing list
containing the sections up to “Backward compatibility”, with the purpose of
limiting discussion there to usage and impact. Discussion on the pull request
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are you suggesting to also enable discussion on the mailing list? Wouldn't this scatter/fraction the discussion?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes it would, but some of the discussions where mostly non-core-devs are involved and give feedback, doesn't have to be on the PR.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Given that this is also the NEP process that seems fine, I think?

limiting discussion there to usage and impact. Discussion on the pull request
will have a broader scope, also including details of implementation.

At the earliest convenience, the PR should be merged (regardless of whether it
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what is "earliest convenience"?

Should -> may (let's at least not make it a mandatory process please)

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is the main reason I opened this SLEP. If there's one thing I would argue for, is this one.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Then what does "At the earliest convenience" mean?

Depending on the interpretation, that would mean you could just merge this PR right now. I doubt this is a productive workflow.

Also imagine a situation where I'm writing a SLEP PR, and you and I disagree on some point. I'm merging the PR, because I have to, according to this SLEP. Your points in our discussion are "lost" now. You have to make them again, in another PR. That's twice as much work for you.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would argue that right now is a really good point to merge it actually. And that applies to the feature names out, and the resampler one. They may need more work, but the whole point is that they should be merged now.

We can have issues and separate PRs discussing specific points, for instance, one for alternatives, one for abstract, etc.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you explain why you think it would ease the SLEP process to merge early and discuss in separate PRs?

In the end, comments will be made, and they will have to be addressed. I'm failing to see how having separate PRs will help. I understand the initial frustration was that on long PRs, it's hard to keep track of the changes and the discussions. But that doesn't seem to apply to all SLEPs, so I don't see why we should make this mandatory

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For the same reason that we break large PRs into several smaller ones in many cases

This is where I disagree: we have merged PRs with reduced scope, but as far as I know, we do not merge PRs that aren't properly finished yet, with the hope that issues will be addressed later.

Typically, I consider scikit-learn/scikit-learn#16112 to be one of these PRs with a reduced scope: it's addressing one part of SLEP010. But I'm making sure it doesn't get merged until all the points that are raised (and that are in scope) are addressed.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

both python and numpy communities agree that when it comes to *EPs, they should get merged before they are properly finished, and I agree with them.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I still don't believe this should be an obligation. But we don't have to agree

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So the NEP says " Additional PRs may be made by the Author to update or expand the NEP, or by maintainers to set its status, discussion URL, etc.", meaning that the SLEP author is the only one who is supposed to change it, right?

I think it's fine to merge drafts, and it's up to the author to ensure the draft is mature enough to serve as a basis for discussion.

I'm not entirely sure how the process for NEPs and PEPs works in terms of the back and forth between the author and the community. I feel all the important points should be part of the SLEP so losing the detailed discussion on a PR might be ok?

Maybe we can ping the numpy people to tell us about their experience?
If I look at " Discussion on the pull request will have a broader scope, also including details of implementation." it sounds like the main discussion does happen on the pull request.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To comment on this point: I feel that my view sits a bit in the middle of that of @NicolasHug and of @adrinjalali :

  • I really see the value of merging things that are consolidated but there still is open discussion
  • We need them to be "consolidated" (we could punt on defining precisely what that means).

How about we say that they can be merged when the author considers them as ready for discussion and at least on core-dev is willing to champion this merge (that last statement is to avoid polluting the SLEPs repo with SLEPs that have no chances of making it).

slep000/proposal.rst Outdated Show resolved Hide resolved
slep000/proposal.rst Outdated Show resolved Hide resolved
slep000/proposal.rst Outdated Show resolved Hide resolved
@NicolasHug
Copy link
Member

I sort of have the same comment as Joel on #28 (review), i.e. this seems to be addressing non-issues, for the most part.

The main points seem to be:

  • allow a PR to be merged even if it's not fully accepted yet and let "champions" create additional PRs
  • call for a vote on a PR instead of on the mailing list to reduce noise.

We can probably make a much shorter SLEP that addresses these 2?

@adrinjalali
Copy link
Member Author

@glemaitre

Once a SLEP is merged and we asked to the mailing list to vote by linking to a PR changing the status to "Accepted", we might still need to have this SLEP opened to comment in the PR.

I think people could talk about the rest of it still, and if changes are made, then it'd be on the diff. But this is due to the fact that other communities have those discussions on the mailing list, and we're having it on the PR. Numpy for instance, just says "hey, we're accepting this, unless somebody seriously objects in 7 days". We may be having too many discussions compared to other communities :P

@adrinjalali
Copy link
Member Author

I sort of have the same comment as Joel on #28 (review), i.e. this seems to be addressing non-issues, for the most part.

It may be a non-issue for some, but it is for me, and I understand from my conversations with @glemaitre it is for him as well.

We can probably make a much shorter SLEP that addresses these 2?

you can try, this is the best/shortest I could do.

slep000/proposal.rst Outdated Show resolved Hide resolved
@NicolasHug
Copy link
Member

I have two main concerns about the current proposal.

  1. SLEPs are very rarely perfect from the start, and there is often a significant room for improvement on the first draft(s). Things like typos, ambiguous woring, or basic re-structuration for clarity are very common, even after a few iterations (precisely because the document keeps beeing edited).
    Merging a draft eagerly will put the responsibility on the reviewers to address such (possibly trivial but important) comments by opening PRs. I believe this is instead something that is the PR author's responsibility (see below).

  2. The current proposal leaves the door open for a SLEP author to basically say "I {don't want to, don't feel like, don't know how to} address this comment, you can just open a PR yourself.".
    I believe this to be detrimental to both productivity and, in some contexts, to mutual trust. This is, in a way, dismissing a reviewer's point of view/concern, and can be perceived as "my time is more valuable than yours".
    I have seen this kind of comments being made a few times lately, in the SLEP repo and in the main repo. (I can provide refs if needed.) I hope we don't go further in that direction.

The common denominator to both points here is that our bottleneck is reviewer time, not developer time. I fear that this proposal will put more responsibility on reviewers than necessary.


I have the feeling that the discussion so far has been rather defensive (from all sides), here and in other PRs. I'll try to be more vigilant in my comments so they don't get interpreted as such.

I do share the frustration around writing and reviewing SLEPs. I believe however that the key to a smoother process is timely feedback, from both reviewer and author sides. If this opinion is shared, I'd be happy to open discussion for potential workflows, e.g. in the next meeting.

slep000/proposal.rst Outdated Show resolved Hide resolved
Copy link
Member

@GaelVaroquaux GaelVaroquaux left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall, I really like this proposal.

Thinking about it, I think that the underlying idea of @adrinjalali of merging early is a good one. Very long pull requests are difficult to follow. The knowledge acquired from them can also be lost if they stall.

To summarize my thoughts on this SLEP (somewhat present in my comments):

  1. I think that a SLEP should be merged, in draft mode, when the author considers them as ready for discussion and at least on core-dev is willing to champion this merge

  2. I think that discussions happening on the SLEP (whether it is on the mailing list or on a PR) should be consolidated in the SLEP as much as possible. "As much as possible" means that the text of the SLEP should be kept to a reasonable length: an expected reading speed is 200 words per minute, ideally the body of a SLEP should not take longer than 10mn to read.

  3. A mentioned in my comments, I would see it useful to have mechanisms to reject a SLEP not only when it's champion gives up of exhaustion.

@adrinjalali : do you want to give my point 2 a try on this specific SLEP? To see if it is viable or not?

Thanks for doing this!

slep000/proposal.rst Outdated Show resolved Hide resolved
slep000/proposal.rst Show resolved Hide resolved

If the vote does not achieve a required majority, then the SLEP remains in
``Draft`` state, discussion continues as normal, and it can be proposed for
acceptance again later once the objections are resolved.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we need a mechanism for rejecting clearly a SLEP?

The reason that I ask this is that I can be useful to avoid people loosing a lot of time on SLEP that is considered as not having chances of getting through?

Maybe the "rejection" could and should be done via a pull request to the SLEP that explains the reason for rejecting it?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The SLEP in its current state says:

The Withdrawn status is similar; it means that the SLEP author themselves has
decided that the SLEP is actually a bad idea, or has accepted that a competing
proposal is a better alternative.

I think it's important for the SLEP authors to make that decision if they wish, and otherwise leave it to the vote. rejected and withdrawn states are effectively the same. WDYT?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In other words, if not by the author's decision (not necessarily exhaustion) and not the vote, how else would you like to be able to reject a SLEP?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree with @adrinjalali I think the mechanisms described here should be enough.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In the case where the original author does not feel like withdrawing a SLEP after a failed vote and the majority things that it should be withdrawn or rejected, what should we do?

Is it acceptable for someone else to do a PR to reject the slep and then use the usual decision making described in the governance doc to deal with the rejection PR?

If so maybe we should make it a bit more explicit here. Maybe just amending the next section to:

In unusual cases, with the request of the author, the scikit-learn technical
committee may be asked to decide whether a controversial SLEP is ``Accepted``, put back to ``Draft`` with additional recommendation to try again to reach consensus or definitely ``Rejected``. See the governance doc for more details.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In the case where the original author does not feel like withdrawing a SLEP after a failed vote and the majority things that it should be withdrawn or rejected, what should we do?

Is it acceptable for someone else to do a PR to reject the slep and then use the usual decision making described in the governance doc to deal with the rejection PR?

If so maybe we should make it a bit more explicit here. Maybe just amending the next section to:

In unusual cases, with the request of the author, the scikit-learn technical
committee may be asked to decide whether a controversial SLEP is ``Accepted``, put back to ``Draft`` with additional recommendation to try again to reach consensus or definitely ``Rejected``.
Please refer to the governance doc for more details.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

hm so the ambiguity on how to reach the "rejected" state is copied from the NEP. The PEP doesn't have that problem because they basically delegate the decision to an individual that then makes the call and can reject, or the steering council can reject. With the NEP version that goes back to draft there's no way to get rejected. Anyway I think it's fine the way it is for now, we can always clarify later.

@adrinjalali
Copy link
Member Author

I think that a SLEP should be merged, in draft mode, when the author considers them as ready for discussion and at least on core-dev is willing to champion this merge

I agree. It's just hard to put it in words in a short way, and I think that's why NEP000 has it as such (which this SLEP borrows). PEP1 has a much clearer (and yet similar IMO) process:

The PEP editors review your PR for structure, formatting, and other errors. For a reST-formatted PEP, PEP 12 is provided as a template. It also provides a complete introduction to reST markup that is used in PEPs. Approval criteria are:

  • It sound and complete. The ideas must make technical sense.
    The editors do not consider whether they seem likely to be accepted.
  • The title accurately describes the content.
  • The PEP's language (spelling, grammar, sentence structure, etc.) and
    code style (examples should match PEP 8 & PEP 7) should be correct
    and conformant. The PEP will be checked for formatting (plain text or
    reStructuredText) by Travis CI, and will not be approved until this passes.

Editors are generally quite lenient about this initial review, expecting that problems will be corrected by the reviewing process. Note: Approval of the PEP is no guarantee that there are no embarrassing mistakes! Correctness is the responsibility of authors and reviewers, not the editors.

I think that discussions happening on the SLEP (whether it is on the mailing list or on a PR) should be consolidated in the SLEP as much as possible. "As much as possible" means that the text of the SLEP should be kept to a reasonable length: an expected reading speed is 200 words per minute, ideally the body of a SLEP should not take longer than 10mn to read.

Agreed. In my mind an issue related to a SLEP is only resolved if the resolution is included in the SLEP. So that would kinda automatically be included. We can include it in the SLEP if you think it'd help/is necessary.

slep000/proposal.rst Outdated Show resolved Hide resolved
slep000/proposal.rst Outdated Show resolved Hide resolved
@amueller
Copy link
Member

amueller commented Feb 17, 2020

looks good. I like the PEP wording and maybe would include a shortened version of it.

I'm not sure if we should include this here, but for normal PRs it's very rare that someone merges their own PR except for in trivial cases. Should we do the same for SLEPs?

@adrinjalali
Copy link
Member Author

I tried to revise the merge criteria, let me know how it looks.

Copy link
Member

@amueller amueller left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks good

Copy link
Member

@NicolasHug NicolasHug left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some questions.

criteria are:

- It sound and complete. The ideas must make technical sense.
- The reviewers do not consider whether they seem likely to be accepted.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't understand this: this doesn't seem to be a criteria?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure if I understand the question. Maybe going through PEP1 would help?

Comment on lines 104 to 117
The SLEP is reviewed for structure, formatting, and other errors. Approval
criteria are:

- It sound and complete. The ideas must make technical sense.
- The reviewers do not consider whether they seem likely to be accepted.
- The title accurately describes the content.

Reviewers are generally quite lenient about this initial review, expecting that
problems will be corrected by the further reviewing process. **Note**: Approval
of the SLEP is no guarantee that there are no embarrassing mistakes! Ideally
they're avoided, but they can also be fixed later in separate PRs. Once
approved by at least one core developer, the SLEP can be merged. Additional PRs
may be made by the champions to update or expand the SLEP, or by maintainers to
set its status, discussion URL, etc.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's not clear to me whether this section refers to approval of the first PR, or actual approval of the SLEP. I assume it's the former, but the text often suggests the latter.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This part is about approval of the PR.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Therefore I would kindly suggest to edit the parts were the text suggest that this is about SLEP approval:

  • The SLEP is reviewed for structure, formatting, and other errors. Approval
    criteria are...

  • Approval of the SLEP...

  • Once approved by at least one core developer, the SLEP...

Comment on lines 114 to 119
problems will be corrected by the further reviewing process. **Note**: Approval
of the SLEP is no guarantee that there are no embarrassing mistakes! Ideally
they're avoided, but they can also be fixed later in separate PRs. Once
approved by at least one core developer, the SLEP can be merged. Additional PRs
may be made by the champions to update or expand the SLEP, or by maintainers to
set its status, discussion URL, etc.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This section still mentions "SLEP approval" instead of "PR approval".

@adrinjalali
Copy link
Member Author

adrinjalali commented Nov 30, 2021

I pretty much opened this PR to make sure we merge the SLEP PRs as fast as we can. I had terrible experience working on a few SLEPs as the author or a co-authors which motivated me to check the PEP and NEP processes. Both of those processes merge the PR before it's ready for acceptance, and further discussion is supposed to happen on other channels, such as a forum, mailing list, or github issues.

I understand you don't want PRs to be merged before a consensus is there and all points are addressed, but that's exactly what's made me not work on SLEPs as I was before.

Also, I don't understand why this process would work for python and numpy, but not scikit-learn.

@NicolasHug
Copy link
Member

I had terrible experience working on a few SLEPs as the author

Same. I very much share your frustration here. I have a full proper SLEP that took me days to write, and that I never submitted, because of the pain from previous experiences.

I also had a terrible experience as the reviewer with this new proposed workflow. That reviewer experience just plainly made me stop even caring about SLEP006 (and to be fair, about most other SLEPs as well).

@thomasjpfan
Copy link
Member

Author of SLEP immediately opens a follow up Pull Request with review comments containing quotes and links to discussion points that are not resolved. The content of that PR is the whole SLEP, exactly as it was closed in step 1.

I can create a script to automate this migration. It will open the new PR and create the review comments with quotes and links to unresolved discussion points from the previous PR.

In the end, I want to make the SLEP process more enjoyable for everyone.

@amueller
Copy link
Member

Maybe we could talk to the NEP / SLEP folks to see how they structure the discussion afterwards? I think it has mostly been on mailing lists, but when I was discussing SLEP 001 here, not sure anyone ever looked, I found the lack of inline citation annoying as well.

I think the main question is, if we merge early, how do we get from there to a place where we can vote on.
Basically it's breaking up the SLEP authoring into three parts, pre merge, post merge, post vote, instead of just pre merge and post vote. Hopefully breaking up the process makes it more manageable, but it still means we need to have some idea of how to go from merge to vote.

@lorentzenchr
Copy link
Member

I very much share your frustration here. I have a full proper SLEP that took me days to write, and that I never submitted, because of the pain from previous experiences.

@NicolasHug That's sad. I'm sure we would profit from your thoughts if you publish them, one way or the other.

We are misusing github's code development tools for design documents. I'm wondering if, in the end, it's a question about tools. For instance, I like the early merge logic simply because I like to read rendered text instead of source code. Maybe someone can tell from experience?

I hope we find a good solution we all can agree upon as SLEPs are important to bring innovation/improvements on a larger scale.

@jnothman
Copy link
Member

jnothman commented Dec 9, 2021

Closing and reopening PRs, along with a rendering (or better something like reviewnb.com for Sphinx docs?) sounds like a reasonable solution to some of the issues here. But maybe the point is that we need to clarify the problems rather than using SLEP000 as a bandaid.

@NicolasHug
Copy link
Member

I too prefer having the rendered content of the SLEP when reviewing, but I just build this repo's docs locally, it only takes a few seconds

I wouldn't mind having a dedicated section on the website for in-review SLEPs, as long as the open PR still contains the entire content of the SLEP.

@glemaitre
Copy link
Member

I agree with both concerns and experience exposed by @adrinjalali and @NicolasHug and I personally do not have a process in mind.

We are misusing github's code development tools for design documents.

I am wondering if @lorentzenchr does not have point there and if a Google Doc with the capacity of having the rendered version, proposing some editing, adding some comments would not be a better tool. I can see that it miss the code part (but some extensions should be available there).

Copy link
Member

@lorentzenchr lorentzenchr left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM let's vote

@NicolasHug
Copy link
Member

LGTM let's vote

At least 3 core devs have expressed concerns about the current poposal:

There also has been quite a few suggestions of alternative workflows for moving forward, e.g.:

I'm really sorry but until these are addressed in some way, I don't think this SLEP is mature enough to be voted upon.

@GaelVaroquaux
Copy link
Member

GaelVaroquaux commented Jan 4, 2022 via email

@NicolasHug
Copy link
Member

I wish I could have attended the meeting. Were any of the aforementioned concerns discussed? I could not find anything specific in the meeting notes.

@lorentzenchr
Copy link
Member

Maybe, only maybe, we should dare calling for votes more often and see rejecting votes as opportunity for improvement. From my side, I can live with the current status of this SLEP. And we can later change based on further experience (law usually lags behind current developments).

@NicolasHug As Gael said, in the meeting yesterday, we had the feeling that we should vote without specific technical points being discussed (therefore, you won't find anything).
All the points you list are valid concerns. If I were the champion of this slep, however, I would not know how to improve the current status based on those concerns.

@thomasjpfan
Copy link
Member

thomasjpfan commented Jan 4, 2022

After sleeping it over it, I think it is important to try to get consensus on this specific SLEP because it is about SLEP workflow. We can try @NicolasHug's suggestion at #30 (comment) on this PR to see if it improves the workflow.

I can help finish up addressing the concerns there and then push for a vote. Does that sound reasonable?

@adrinjalali
Copy link
Member Author

This PR already has a few approvals, and as we discussed on the meeting, that counts as seconds to my call to vote. Therefore I'm merging this PR, and will call for a vote on the mailing list with an accompanying PR where we vote. As the author of the SLEP, I'm strongly opposed to the changes suggested in #30 (comment), and in fact, as already explained, moving away from that process is the main reason I drafted this SLEP in the first place.

I'm happy to have improvements to this SLEP later, which will definitely happen. As to the main spirit of the suggested process, I think since both PEP and NEP follow the same process, we should try to do the same. If it's worked for them, it can work for us.

@adrinjalali adrinjalali merged commit 3259515 into scikit-learn:master Jan 4, 2022
@adrinjalali adrinjalali deleted the slep13/slep-process branch January 4, 2022 13:37
@NicolasHug
Copy link
Member

I'm strongly opposed to the changes suggested in #30 (comment), and in fact, as already explained, moving away from that process is the main reason I drafted this SLEP in the first place.

There's no "moving away" from the process proposed in #30 (comment): we have never implemented this process before.

We have however implemented the process suggested in this SLEP already (despite it not being merged nor voted upon), and from a personal perspective I can't say that it has been a tremendous success.

Would you mind detailing precisely what parts of #30 (comment) you are against? This SLEP currently describes why our "current" workflow is less than optimal, but I haven't seen any specific feedback on #30 (comment).

As a meta comment, the way we're moving forward here makes me loose confidence in our consensus seeking process.

@GaelVaroquaux
Copy link
Member

GaelVaroquaux commented Jan 4, 2022 via email

@adrinjalali adrinjalali mentioned this pull request Jan 4, 2022
@NicolasHug
Copy link
Member

but I haven't seen any specific feedback on #30 (comment).

Some people have expressed disagreement on this comment.

I haven't been able to find anything specific on #30 (comment). I've seen disagreement on our current process (which I share), but it is very different from what is proposed in #30 (comment).

@ogrisel
Copy link
Member

ogrisel commented Jan 4, 2022

@NicolasHug feel free to open a PR to edit the SLEP with what you suggest in: #30 (comment) to try to move forward and have a focused discussion on this.

@NicolasHug
Copy link
Member

Thanks for the suggestion @ogrisel .

Before I do that, I would prefer hearing opposing thoughts on #30 (comment) first. There is little value in submitting a PR while we know there are strong disagreements that haven't been explicitly stated yet.

I will also wait until the end of the vote, as I'd prefer not doing this work for nothing.

@ogrisel
Copy link
Member

ogrisel commented Jan 4, 2022

Personally I think the SLEP in its current state is better than no SLEP at all. I don't have an strong feeling on how to improve the github commenting workflow on SLEPs. Maybe the close/reopen strategy can work, but I think that the author should take the time to summarize unresolved discussion points in the description of the new SLEP PR or as inline comments.

@ogrisel
Copy link
Member

ogrisel commented Jan 4, 2022

But also I think it's fine to close/reopen Draft SLEP PRs with a summary of the open discussion points without having to specify this process in details in SLEP 000.

@NicolasHug
Copy link
Member

the way we're moving forward here makes me loose confidence in our consensus seeking process.

Consensus sometimes requires compromise and accepting some things that we disagree with. I remember really struggling with such acceptance a few years ago, but now I feel that the group is stronger than the individual and if some decisions were really bad, many people in a talent group would see them as such. So a persisting disagreement probably reveals a grey zone.

Gaël, I'm happy to compromise and I'm OK with accepting things that I disagree with. What is hard to swallow for me here is the lack of acknowledgement on the concerns we raised, and the lack of actionable feedback regarding the alternative proposals. We're just getting a rejection with no details, without being given any opportunity for improvement. A wise man once said make sure everyone feels heard. Sadly, I don't feel heard at all here. And the decision to merge this PR while it was still being actively discussed makes me believe that any potential future efforts will be met with the same indifference.

Copy link
Member

@TomDLT TomDLT left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I like the idea in #30 (comment).

Alternative idea: keep commenting on merged proposals.

to be made available as PR to the scikit-learn repo (making sure to
appropriately mark the PR as a WIP).

Review and Resolution
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

9 status are proposed here, but I am not sure which status would correspond to "Under review" or "Consolidated draft than is still under discussion". And what would be the current status of merged SLEP000 ? Should the SLEP be listed here ?

slep000/proposal.rst Show resolved Hide resolved
change to (or an event in) a process. Process SLEPs are like Standards Track
SLEPs but apply to areas other than the scikit-learn library itself. They may
propose an implementation, but not to scikit-learn’s codebase; they require
community consensus. Examples include procedures, guidelines, changes to the
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What does "community consensus" mean here?

@GaelVaroquaux
Copy link
Member

GaelVaroquaux commented Jan 4, 2022 via email

@GaelVaroquaux
Copy link
Member

One last comment: I also resonate with a variety of comments that have been made. However, I'm feeling that the benefits of trying to reach a decision exceed those of further improvements, because these further improvements can come on top.

I also think that with the current tooling there is not silver bullet.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

10 participants