Open source infrastructure: the Q&A

Last week, I shared some thoughts on open source infrastructure and why its heavy dependencies and lack of funding put it in a vulnerable position.

I got an overwhelming response to that post (thanks, everyone!). Hundreds of you shared your experiences, suggestions and concerns with me directly. Thousands of you signed up to hear more.

I don’t think this post got a strong response because the idea was so novel or new. Rather, because it’s a known problem in OSS, yet still relatively unknown among the rest of tech. So I’m going to do my best to bridge the gap between the two. And I’m excited to keep the conversation going with all of you.

A couple of common reactions came up, which I’d like to address here, so that we can all be on the same page for future conversations.

Q: Why can’t open source infrastructure projects just charge for it?

A: This question is important enough to require a separate post. (Short version: most people who ask this question are in startups, and charging for open source would hurt startups.)

Q: I don’t know what you’re talking about. Open source has never been better! Tons of people are contributing on GitHub, and companies are open sourcing their projects.

A: Tons of people are building and using, yes. But if anything, the fact that open source is being used everywhere makes the maintenance part even harder. (Noah Kantrowitz wrote my favorite summary of how open source is changing, here.)

Some projects are done as throwaways, experiments, or resume builders. Not all of those projects need ongoing support. But other projects now have serious dependencies. (By definition, this makes them infrastructure.) And finding contributors for those projects is hard when developers have already moved on to the next shiny thing, especially if reputation building is a primary motivator for part-time open source contributors.

My favorite quote on this is “open source is free as in puppy: it’s fun in the beginning, but then the reality of caring for your project sets in. (Anyone who has written software also knows this to be the case. Everybody likes greenfield projects, not refactoring code— you gotta pay the big bucks to get developers to do that.)

Q: Open source projects that are valuable get funded. If it doesn’t have funding, people just don’t care about it. See Docker, WordPress, Kubernetes, etc.

A: Open source is not open source is not open source. An open source consumer application (ex. a web browser) does not have the same market dynamics as an open source programming language package. For example, rvm is not venture backable, yet necessary for Ruby software developers, and its main contributor, Michal Papis, funds its development through crowdfunding and sponsorships.

If it’s helpful, think of “open source” as an adjective, not the noun. There is a whole class of open source infrastructure projects that are simply not fundable, yet are being critical to software and need better attention. Let’s talk about those.

Q: Please don’t bring venture capital into open source. Please please please.

A: Don’t worry! Remember, the question I started with was “What is not venture backable in tech?” I think open source infrastructure is interesting precisely because it is not venture backable, yet critically important to software: not because I think VCs should be investing in it.

Q: Money will ruin open source. Open source works *because* there is no money in the system. People who contribute are motivated by other things, like social reputation.

A: People who happily work part-time on open source, contributing a patch or fix here and there, do not need money to work on open source. If you are in that camp, however, you might forget that not everybody in open source looks like you. Some people dedicate their lives to open source (not as a means to an end) and make substantial contributions.

These are crazy motherfuckers: technically savvy people in the midst of a tech boom who would rather work on something that makes no money, because it helps people, than take a high paying job somewhere. I’m not worried about someone like that getting ’“corrupted” by a steady paycheck.

A helpful analogy might be volunteerism vs. nonprofits. We’ve all spent a weekend volunteering at a homeless shelter or reading to kids. Then we go back to our day jobs on Monday. But some people work full time helping the homeless or teaching kids. Your part-time contributions to open source are like volunteering. Others’ full-time contributions to open source are like working at a nonprofit. We need both.

I’ll end with a quote from Poul-Henning Kamp, who among other things, maintains Varnish, used by 1/10th of the Internet’s top websites (including Facebook, Twitter, Tumblr and Wikipedia):

“FOSS does not materialize out of empty space; it is written by people. We love what we do, which is why I’m sitting here, way past midnight on a Saturday evening, writing about it; but we are also real people with kids, cars, mortgages, leaky roofs, sick pets, infirm parents, and all kinds of other perfectly normal worries.”

I’m currently exploring better ways to support open source infrastructure. If you want to stay involved, you can sign up here to get updates when I post something new, or follow me on Twitter.