Post

Open source is more fun with friends. If you don't have the time or energy to contribute yourself, I have a way for you to live vicariously: sponsor me on GitHub and I'll send you updates about what I'm working on. I'll also take feedback on what *you* think I should work on.

I do about 5-10 hours per week of open source work on my own time. These days, I'm doing work in the MobX ecosystem, trying to prepare for us React Compiler compatibility. But when I want a break from that, I dig through React Native community repos and pitch in wherever I can.

How did you get into contributing to open source projects? I’m sure I speak for a lot of people when I say it’s hard to figure out where to contribute. And even when an opportunity seems promising, it’s tough to know if my contribution is even needed or part of the vision of the project.

The short answer is: I struggled with that for a long time, I still do, and I got lucky a few years ago when @jamon.dev presented me with an opportunity to take a leadership role in MobX-State-Tree, which helped me build up some intuition and resilience.

But here's a longer answer: Probably my first real open source was building this Markdown plugin for Eleventy: github.com/coolsoftware... Plugins for a popular tool are a good starting point, because you have no dependencies on other people, but there's a good chance you'll get users.

github.comGitHub - coolsoftwaretyler/eleventy-plugin-markdown-shortcode: Eleventy plugin to add a markdown shortcodeEleventy plugin to add a markdown shortcode. Contribute to coolsoftwaretyler/eleventy-plugin-markdown-shortcode development by creating an account on GitHub.

After that, I kind of got the bug. I hit a problem with an open source project and opened a PR out of the blue: github.com/rbren/rss-pa... The maintainer was very receptive. I wish I had a good permalink, but I think there were actually some people on Twitter who were critical about my code.

github.commanually set timeout to catch ECONNREFUSED in parser by coolsoftwaretyler · Pull Request #146 · rbren/rss-parserTrying to solve #146 The first thing I did was try and swap out the working localhost connection for a url I knew was failing with ECONNREFUSED. The test suite started failing like this: 3) Parser ...

It was not very fun. The maintainer was totally cool, but doing stuff in public is scary. Especially if you just jump right in to the code part. All the things you said (not sure about direction or if your contribution is even wanted) come at you fast when you just send code

I was using MobX-State-Tree every day. I joined the Infinite Red Slack, which had an MST channel. Then I just started answering any question I saw about MST - even if I didn't know the answer at first (I would do research).

I actually didn't immediately say yes to his request (even though I wanted to lol). I just wanted to make sure I was ready to commit to the responsibility. I was working at a pretty fast paced startup at the time, so wanted to verify I could balance everything.

0 reposts1 like

So I told him what I would do is spend another couple months answering GitHub issues and discussion posts, instead of just the Slack channel. If I was able to consistently answer questions in GitHub for that period of time and balance my time, I'd go all in.

So yeah, then every day/every other day, I just went through the backlog of issues and discussions and answered what I could, researched what I didn't know, or just acknowledged people who had been waiting a long time without a response.

From there, I stepped it up and got onboarded to the codebase. I've been a maintainer since. And being on *this side* of open source built up in my intuition about what maintainers want (they just want minimal reproductions and small PRs with tests).

Since then, I've felt a lot more comfortable: 1. Helping other open source projects triage incoming issues (asking people politely but firmly for bug reproductions, helping them understand why that's important) 2. Opening good issues myself (with repros, action plans, etc)