Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

@lucyleeow
Copy link
Member

Reference Issues/PRs

Follow up to #32715, specifically see #32715 (comment)

What does this implement/fix? Explain your changes.

  • Removes the line "and everyone is welcome to contribute"
  • Make it more clear that this is not a good place to start for people new contributors

Any other comments?

I understand that this change may be a bit controversial and I am happy to discuss and iterate, this is a first attempt only. I've tried to keep the changes minimal.

(NB I think the changes suggested in #32715 (comment) to the "Our community, our values" section can be made in a follow up PR)

cc @reshamas @marenwestermann @lesteve @AnneBeyer who reviewed #32715
And @betatim @adrinjalali who may be interested

@github-actions
Copy link

github-actions bot commented Nov 26, 2025

✔️ Linting Passed

All linting checks passed. Your pull request is in excellent shape! ☀️

Generated for commit: 38a9ac3. Link to the linter CI: here

Comment on lines 65 to 76
* reference scikit-learn from your blog and articles, link to it from your website,
or simply
`star it <https://docs.github.com/en/get-started/exploring-projects-on-github/saving-repositories-with-stars>`__
to say "I use it"; this helps us promote the project
* :ref:`improve, triage, and investigate issues <bug_triaging>`
* :ref:`reviewing other developers' pull requests <code_review>`
* report issues using this package by submitting an
`issue <https://github.com/scikit-learn/scikit-learn/issues>`, and giving a
"thumbs up" on issues that others reported and that are relevant to you (see
:ref:`submitting_bug_feature` for details)
* improving the :ref:`contribute_documentation`
* making a code contribution
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 love a bullet list - I find it easier to read, but open to changes here.

I thought about including 'making feature request' in the bullet but I am not sure we want to encourage this. Note that the reference 'submitting_bug_feature' is to the section "Submitting a bug report or a feature request" which does talk about making a feature request.

Copy link
Contributor

Choose a reason for hiding this comment

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

I think it's ok to subsume "I found a bug" and "I'm missing a feature" under "issues" and to leave it underspecified here (especially since it is expanded in the link). This way, people are not specifically encouraged but the information on how to do it is still there.

Comment on lines -94 to -99
In case a contribution/issue involves changes to the API principles
or changes to dependencies or supported versions, it must be backed by a
:ref:`slep`, where a SLEP must be submitted as a pull-request to
`enhancement proposals <https://scikit-learn-enhancement-proposals.readthedocs.io>`_
using the `SLEP template <https://scikit-learn-enhancement-proposals.readthedocs.io/en/latest/slep_template.html>`_
and follows the decision-making process outlined in :ref:`governance`.
Copy link
Member Author

@lucyleeow lucyleeow Nov 26, 2025

Choose a reason for hiding this comment

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

This did not feel right here, with the introduction because it's quite technical. I could not find a good place to put it, with the current contributing guide. I've moved it to the section "Submitting a bug report or a feature request", which I think is okay for now.

It may be suitable in a (new) section about 'feature requests' (which we don't really have, though we do mention in 2 or 3 places about being selective about what we include in the project and why). It may also be useful to link to if we add a contributing code section (e.g., in the intro).

- If you are submitting a bug report, we strongly encourage you to follow the guidelines in
:ref:`filing_bugs`.

When a feature request involves changes to the API principles
Copy link
Member Author

@lucyleeow lucyleeow Nov 26, 2025

Choose a reason for hiding this comment

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

I've amended the wording here, ideally something big enough to require a SLEP should not get to the 'contributing' stage (without a SLEP).

Copy link
Member

@StefanieSenger StefanieSenger left a comment

Choose a reason for hiding this comment

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

Thanks @lucyleeow!

I think this is sadly a necessary change, though it stings a quite bit to fully remove being open for less experienced people, since it really depends on the attitude more than the skills.

Assuming it is the more careful and thoughtful new contributors who even read this part of the developer docs, I find it important to address them. I have made a suggestion in the comments on still be welcoming but setting expectations on the same time. Curious to know what you think.

code contributions. If you are interested in making a code contribution, please
keep in mind that scikit-learn has evolved a mature and complex project since its
start in 2007. Contributing to the project code can generally require advanced skills,
and it may not be the best place to begin for new contributors.
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
and it may not be the best place to begin for new contributors.
and it may not be the best place to start if you are a beginner. If you are
less experienced you are still very welcome, just be prepared to invest
significant effort and research independently.

What about this, will this strike a balance between setting expectations and still being open to everybody?

Copy link
Member Author

@lucyleeow lucyleeow Nov 27, 2025

Choose a reason for hiding this comment

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

I am happy to add this.

I forgot to mention but I intentionally put code contributions at the bottom of the list because I think the other ways to contribute are probably more useful.

For new contributors, I think a better way to start would be to look at issues and confirm them, investigate the cause of issues (gets you familiar with the codebase), review other people's PRs (helps familiarise oneself with what is expected) - jumping straight to a code contribution is rushing ahead too quickly, and not building the base knowledge/background needed. (edit: I think with how complex this project is, jumping to code contribution is just not realistic for a someone learning, unless you have a mentor on hand. I can understand that the other types of contributions are less glamourous and historically less valued, but I think you need to work at building a foundation first.)

Maybe this suggestion should be added to the 'New contributor' section, and we could reference it here...

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 am trying to think of a better way to phrase 'beginner'. Do you think 'new contributor' is not a good description? I don't love the term beginner (though I can't put my finger on why). I find when people are commenting, wanting to work on an issue, they often use the terms 'new to open source', 'learning'.

Copy link
Member

Choose a reason for hiding this comment

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

I have chosen "beginner" over "new contributor" since the latter come with different skill levels and there are very skilled people whom we'd very much like to contribute right away. Feel free to change "beginner" into something else though. I had also considered "new to open source" and like it.

Copy link
Contributor

Choose a reason for hiding this comment

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

I actually like the term new contributors, and I think the main point the paragraph above brings across is that the other contribution options should be taken into account first, which I like very much (because it is also the way I'm currently approaching the project, and I wouldn't consider myself a "beginner" 😇 ). Encouraging this path more explicitly might actually make it easier for new contributors to find starting points and could lead to higher quality first code contributions (though this assumes that people actually read this carefully (or that AI agents advise their users on this), which is a strong premise 😬)

Copy link
Member

Choose a reason for hiding this comment

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

I think "new contributor" is good because it communicates what you are new at (contributing). With "beginner" we leave it to the imagination of the reader to determine what it refers to (coding? open-source contributions? cooking? reviewing?).

In addition, you can be an experienced programmer/software engineer but still new to contributing to open-source. In which case I think starting somewhere else to learn about contributing is a good idea.

Comment on lines 65 to 76
* reference scikit-learn from your blog and articles, link to it from your website,
or simply
`star it <https://docs.github.com/en/get-started/exploring-projects-on-github/saving-repositories-with-stars>`__
to say "I use it"; this helps us promote the project
* :ref:`improve, triage, and investigate issues <bug_triaging>`
* :ref:`reviewing other developers' pull requests <code_review>`
* report issues using this package by submitting an
`issue <https://github.com/scikit-learn/scikit-learn/issues>`, and giving a
"thumbs up" on issues that others reported and that are relevant to you (see
:ref:`submitting_bug_feature` for details)
* improving the :ref:`contribute_documentation`
* making a code contribution
Copy link
Contributor

Choose a reason for hiding this comment

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

I think it's ok to subsume "I found a bug" and "I'm missing a feature" under "issues" and to leave it underspecified here (especially since it is expanded in the link). This way, people are not specifically encouraged but the information on how to do it is still there.

or simply
`star it <https://docs.github.com/en/get-started/exploring-projects-on-github/saving-repositories-with-stars>`__
to say "I use it"; this helps us promote the project
* :ref:`improve, triage, and investigate issues <bug_triaging>`
Copy link
Contributor

Choose a reason for hiding this comment

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

Maybe we could even make the intentions you mention below behind suggesting these things first explicit:

Suggested change
* :ref:`improve, triage, and investigate issues <bug_triaging>`
* :ref:`improve, triage, and investigate issues <bug_triaging>`; this will also make you more familiar with the codebase

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 liked adding these to the bullet list here, but I ultimately thought it would be better to expand the 'New contributor' section, to more explicitly suggest building a foundation first and how to do this.

I've linked the new contributor section at the end of this 'ways to contribute' section.

`star it <https://docs.github.com/en/get-started/exploring-projects-on-github/saving-repositories-with-stars>`__
to say "I use it"; this helps us promote the project
* :ref:`improve, triage, and investigate issues <bug_triaging>`
* :ref:`reviewing other developers' pull requests <code_review>`
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
* :ref:`reviewing other developers' pull requests <code_review>`
* :ref:`reviewing other developers' pull requests <code_review>`; this also helps you to familiarise yourself with what is expected of code contributions

code contributions. If you are interested in making a code contribution, please
keep in mind that scikit-learn has evolved a mature and complex project since its
start in 2007. Contributing to the project code can generally require advanced skills,
and it may not be the best place to begin for new contributors.
Copy link
Contributor

Choose a reason for hiding this comment

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

I actually like the term new contributors, and I think the main point the paragraph above brings across is that the other contribution options should be taken into account first, which I like very much (because it is also the way I'm currently approaching the project, and I wouldn't consider myself a "beginner" 😇 ). Encouraging this path more explicitly might actually make it easier for new contributors to find starting points and could lead to higher quality first code contributions (though this assumes that people actually read this carefully (or that AI agents advise their users on this), which is a strong premise 😬)

@AnneBeyer
Copy link
Contributor

to fully remove being open for less experienced people

I don't think this actually removes this, it rather gives better guidance on how to get started (once one accepts that not only code contributions count), so I would argue that this is actually helping to make this project more open to less experienced people 😉 @StefanieSenger

@lucyleeow
Copy link
Member Author

Thanks all, I think this is ready for another round of review!

Copy link
Member

@lesteve lesteve left a comment

Choose a reason for hiding this comment

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

Looks nice, all these improvements are super useful, thanks a lot!

I still have some hope trying to devote time to reorganizing the contributing doc (maybe one day?), but in the mean time these improvements are great!

us if you spread the word: reference the project from your blog and articles,
link to it from your website, or simply star to say "I use it":

.. raw:: html
Copy link
Member

Choose a reason for hiding this comment

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

You remove the button which was showing the number of stars of the repos and where clicking on it would go to https://github.com/scikit-learn/scikit-learn/stargazers. I think that's completely fine because it was not very useful. If we really want (in a further PR), we could add a button where you can star easily, looks like GitHub makes your life easier https://buttons.github.io/

Copy link
Member Author

Choose a reason for hiding this comment

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

Ah I didn't realise it went somewhere. This was mostly because I thought the image didn't fit the format of the new bullet points. The problem with stargazers is that the page does not allow you to easily star the project, you just see a list of other users who have starred it.

we could add a button where you can star easily

as in we can add a button which when clicked, stars the project? Or would it just take you to stargazers?

a code contribution, please keep in mind that scikit-learn has evolved into a mature
and complex project since its inception in 2007. Contributing to the project code
generally requires advanced skills, and it may not be the best place to begin for new
contributors. We suggest new contributors follow the suggestions in
Copy link
Member

@lesteve lesteve Nov 28, 2025

Choose a reason for hiding this comment

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

I don't know how to word this clearly, and this doesn't need to be in this PR, but maybe something like "it may not the best place to begin if you are new to open-source contribution in general"

In my mind there is a difference between:

  • new to open-source contribution in general
  • new contributor to scikit-learn, but who has already contributed to other open-source projects

Copy link
Contributor

@AnneBeyer AnneBeyer Nov 28, 2025

Choose a reason for hiding this comment

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

I think this also captures what @StefanieSenger was trying to add, so I think it is worth addressing it in this PR. Maybe that could be a way of phrasing it:

"it may not the best place to begin if you are new to open-source contribution in general. In this case, you should follow the suggestions in..."

Because the new section for new contributors now makes it more explicit, and this one here still sets expectations, even for experienced open-source contributors, but doesn't discourage code contributions in general (at least how I read 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.

I've amended to Annes wording.

Essentially if you're new to open source in general, please make non code contributions first. The only snag here is that, would you suggest those that are not new to open source contribution, but are new to scikit-learn also read the new contributor section...? Or should we expect them to work out what they need to read?

Copy link
Contributor

Choose a reason for hiding this comment

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

I think from the bullet points above this section they should find enough resources on where to start. And no one is stopping them from skimming the new contributors section if they are missing any information.

I think @lesteve mentioned some ideas on how to re-structure the page into separate explicit "paths" for different target groups, but I would leave this for a follow-up PR at this stage.

Copy link
Contributor

@AnneBeyer AnneBeyer left a comment

Choose a reason for hiding this comment

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

Thank you, @lucyleeow! I have two more small wording suggestions, otherwise I think it looks good, and it adds a lot to setting expectations for new contributors.

Comment on lines +135 to 138
starting with smaller pull requests and following our :ref:`pr_checklist`.
For expected etiquette around which issues and stalled PRs
to work on, please read :ref:`stalled_pull_request`, :ref:`stalled_unclaimed_issues`
and :ref:`issues_tagged_needs_triage`.
Copy link
Member Author

@lucyleeow lucyleeow Dec 1, 2025

Choose a reason for hiding this comment

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

Having a re-read, I moved the 'to read' contributing sections that pertain to contributing code down here, as we don't talk about code contributions until here.

Copy link
Member

@StefanieSenger StefanieSenger left a comment

Choose a reason for hiding this comment

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

It reads great and the rendered docs look good. Thanks everyone. :)
Shall we merge this?

@betatim
Copy link
Member

betatim commented Dec 2, 2025

We have several 👍s, so I'll merge this now. There are a few discussion threads going on, if the participants want to continue those that is great. Please make a new PR when you converge :D

@betatim betatim merged commit 473fef0 into scikit-learn:main Dec 2, 2025
37 checks passed
@lucyleeow lucyleeow deleted the doc_contrib branch December 2, 2025 23:01
@marenwestermann
Copy link
Member

marenwestermann commented Dec 6, 2025

Apologies for being too late. I was on holidays last week and am following up on notifications now. The changes look good to me. Thank you for putting in the work!

lesteve pushed a commit to lesteve/scikit-learn that referenced this pull request Dec 9, 2025
@lesteve lesteve mentioned this pull request Dec 9, 2025
14 tasks
lesteve pushed a commit to lesteve/scikit-learn that referenced this pull request Dec 9, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants