JAMES LONG

Why I'm Frequently Absent from Open Source

February 26, 2017

The goal of free open source development is empowerment: everyone can not only use code for free but also contribute to and influence it. This model allows people to teach and learn from each other, improves businesses by sharing work on similar ideas, and has given some people the chance to break out and become well-known leaders.

Unfortunately, in reality open source development is rife with problems and is ultimately unsustainable. Somebody has to pay the cost of maintaining a project. Actually writing code is only a small part of running a project, so it's never as simple as mutually benefitting from sharing code. Somebody, or a group of people, needs to step up and spend lots of hours every week to make sure code actually gets pushed through the pipeline and issues are triaged.

Even if that problem was solved, human beings are complex and full of conflict when we try to work together, and open source has little structure for dealing with these problems like a normal workplace would.

For businesses, an active open source project may not make sense. I've seen projects go open source just for the "warm fuzzies" that unfortunately embody that model, only to drown in all the work that goes into powering open source. When most of the time is spent trying to help contributors, call it for what it is: charity. Which is great! But it may be more efficient to focus on the project internally.

I love open source! I think it's a net win for society, even if there are big problems we still need to solve. I wouldn't be close to where I am today without it, and it felt amazing to release prettier and watch its success (even if I'm dealing with the above problems now).

I think we need to change how we talk about it and change our expectations. Because right now open source is full of guilt. Tell people that it's OK to neglect a project for a while. It's OK to let PRs pile up for a few weeks, and then close some that you don't have time to look into. It's OK to tell contributors that nobody has time to help them. The best solution is to find other people to help, but if that doesn't happen, all of the above are totally OK to do.

Now that I got that off my chest, I wanted to explain why I am frequently absent from my open source projects. I haven't even looked at prettier's issues for days, and I've let other projects die because of lack of time.

The reason is simple: family.

Sarah and I have been married for 6 years as of today (with 2 kids, Evy and Georgia). I write about a lot about technology on my blog but I don't write about the thing that I spend more time on and is way more important than tech: my family. I thought our 6-year anniversary is a good time to acknowledge that!

For a while I put myself in a lucky position of not maintaining any open source projects. But recently I released prettier and it's been interesting to try to balance work on it with my family (and not to mention change of jobs). While it's an important project to me, most of the time I intentionally ignore it to spend time with my family on nights and weekends. (Thanks to Christopher for spending so much time on prettier and making my time away less guilty).

I'll be honest, it's a struggle sometimes. Being married and raising kids is a lot of work by itself, and balancing free time is complicated. There's no question in my mind though that, by comparison, tech has little meaning in the greater context of life.

Happy 6th anniversary babe!