Making Open Source Projects Easier to Contribute to

Your project…

might have a terrible developer experience.

I like helping people. I really like contributing a little fix to a project that I care about. So pretty please don’t make this harder than it needs to be.

Here’s how it should reasonably go

1. Getting the toolchain

The project needs this toolchain. Okay, reasonable. So I google the toolchain, grab the installer for my platform or do it through my package manager, done. The default configuration is also correct, so that’s lovely.

Projects that fail

2. Opening the project

I clone the repository, usually with my beloved jj.

Then I open project in my preferred IDE.2

Projects that fail

3. Setting up the project

Many projects will want a bit of setup before I can run them. Ideally I should not need to do any of that. I already installed the toolchain.

If you want me to do some setup, please limit it to “do this one thing” or run this one command in the terminal.

Projects that fail

4. Running the project

Now I want to run the project. So I either hit a button in my IDE or type a command into the terminal.

Projects that fail

  1. 1I should note that I think Python is the one that deserves a failing grade. Python does not come with a decent package manager. Conda actually deserves a passing grade here.
  2. 2I am so glad that language servers are the default these days.