Uploaded avatar of iHiD

New Contribution Guidelines

@iHiD
Reputation56.5k
6 months ago

If you’re being pointed here from an automatically closed Issue/PR, please don’t panic or feel rejected. More often than not any work you’ve done will eventually be merged into Exercism, or your problem will be solved. We welcome and encourage contributions, but like to discuss things on our forum before jumping into code on GitHub. Opening a forum thread will move things forward.


For the last year, we’ve been experimenting with limiting contributions from non-maintainers in order to free up our core contributors time and allow them to make more significant improvements to tracks. This has worked pretty well. Compared to 2022, during 2023 we’ve seen double the amount of new exercises added and three times the amount of syllabuses created. The change of methodology has allowed for much larger contributions, less frustration and less distraction for our core contributors.

However, I’m also aware that it’s created frustrations for new contributors who are committed to helping out, but feel blocked by our contribution process. So today, I want to put forward some new (or clarified) guidelines for how we’re going to move forward with contributions during the next few months.

The fundamental rule to make sense of is that we discuss ideas, bugs and issues on our forum and that we discuss the resulting changes to code on GitHub (in PR reviews). The secondary rule is that (with the exception of maintainers who are autonomous) we discuss things before we do things. Our forum allows contributors and maintainers across tracks to share knowledge and wisdom on a wide range of languages and ideas without needing to subscribe to 300 different repositories on GitHub and overwhelming their notifications.

Updated Guidance

Getting support

  • If you are stuck on anything before solving an exercise (e.g. installing the CLI, running tests, stuck on the logic/requirements of an exercise), our support mechanisms are our “Exercism Support” category on the forum and the #get-help channel on our Discord server.
  • We do not use GitHub or email for support requests.
  • If you have solved an exercise but have questions about it, you should request mentoring on Exercism itself.

Reporting bugs/issues

  • All bugs/issues should be opened on our forum where a wide range of people can help understand and solve the problem.
    • If the issue is to do with a language, please use the relevant Programming/xxx category.
    • If it’s a bug on the website, please use the “Bugs & Feature Requests” category.
  • GitHub issues will generally be automatically closed and the poster redirected to the forum (with a one-click link to copy/paste their issue, as is currently the case).
  • Track maintainers can choose to turn the auto issue-closer off, but the official pathway is still the forum.

Opening Pull Requests

  • Pull Requests should be discussed on the forum before the work is done.
  • Pull Requests from non-org members will continue to be automatically closed, but will often be reopened once the work has been discussed on the forum. If the idea behind a PR has already been approved, please just add a link to the PR on the relevant forum thread and we’ll reopen it.
  • Track maintainers can choose to turn the auto PR-closer off, but we still recommend that all PRs are first discussed via the forum.

Summary

Our first priority remains protecting the time and mental capacity of our core contributors, without whom Exercism cannot operate. But we also want to ensure that Exercism remains a place where new people can get involved without overly prohibitive barriers, and where we can encourage and support those people to become core contributors themselves!

I’m excited to see how these changes affect the contributions we see over the next few months. We’ll review things again in mid-2024.

2nd Nov 2023 · Found it useful?