Open Source

Open Source

I have always wanted to contribute to an open source project. The collective time and effort of volunteers comprises the backbone of so many of the pieces of technology we use on a daily basis which XKCD put so eloquently.

For someone with impostor syndrome, however, these sorts of projects are also a source of stress. How can my effort match up to that of folks who are infinitely more experienced and talented?

Turns out, jumping into an interesting project one small Issue at a time provides an answer here. None of the maintainers expect you to provide the best solution, the perfect solution, or anything of the sort. An Issue is a small, self-contained problem that can be approached from any angle.

The feeling of that first open source PR merging is exciting and grounding; the next one will be easier and the after that easier still. Each commit builds confidence and reassures you that your effort is valued but also that your contribution will have an impact. Maybe the Issue was as small as a documentation update or as critical as a bug fix.

To that end, open source contributions are something I want to make a habit of continuing. As someone who equates shipping code with productivity, this is an unparalleled experience that I won’t tire of any time soon.

For the past month or so, I’ve been contributing to Chainguard’s bincapz project which is a small Go CLI/wrapper for YARA rules which can scan binaries, archives, packages, and container images. Most of my PRs have been merged, while some have been turned down.

I can’t put my finger on why this project is so interesting to me, but getting into a project in its early stages has been really rewarding and has not only broadened my horizons (i.e. learning about YARA) but also reinforces skills I use in my professional life (i.e. Go).

Contributing is a process and even if a PR isn’t merged, there was still something to learn in putting it together in the first place. The moral of this post is: just try it and enjoy it.