We Love Writing Software So Much, We’re Willing To Do It For Free
What Software Engineers Don't Get About Open Source Sustainability
The most common belief open source maintainers have is that offering something for free gives them the right to some of their users’ money.
This belief makes them fight for open source, or to even compare it to the millennium-old struggle of humanity to free itself from slavery.
And don’t take it the wrong way, I like open source. I prefer to work with tools I have full control on, to expand, modify and understand down to the tiniest detail.
But, like most people, I’m not persuaded by those who release something into the world for free, and basically guilt trip people for it.
Welcome to The Payments Engineer Playbook, the newsletter that dives deep into the technology that moves money around. I’m Alvaro Duran.
I post weekly articles on the technical challenges of building at speed money software that is correct and performant.
Sounds impossible? Then better subscribe to find out how to do it.
A few years ago, I was reading a step by step tutorial on deploying an application on Heroku. I realized that you could skip the tutorial if you had a template that did the heavy lifting. So I used that tutorial to build it, wrote the author about my template, and pretty much forgot about it.
That template has been collecting stars on Github ever since. With zero work on my part! Talk about sustainability.
We donate to charities to feel good and elevate our status. We give freebies to our prospects to put them at ease so that they reciprocate with a purchase. We apply for internships, we put together portfolios, and agree on grueling interviews to market ourselves as potential employees.
Open source software operates in a similar way. The goal is for it to be seen by others. Nevermind the FAANG-sponsored open source software, built with the only purpose of reducing the money that Google pays Apple to be its default search engine.
The tail end, the open source software that I build, that most engineers build, is a career enhancement.
In November 2013 I flew over to the US and visited the Mozilla offices in Mountain View, California for a day full of job interviews. I think I did seven of them, back to back, over the course of that day.
In most of the interviews, we soon touched the fact that I was the main author of curl, I knew my way around HTTP and client networking and got into talking about specific problems or challenges of the day. They knew I knew HTTP, networking and Open Source as I had already shown that in the public for years. They mostly needed to also check if I would work socially in a team in the real world. I got the job.
— Daniel Stenberg, Uncurled
I agree with Glyph: software should be way more expensive than it is. But notice that Glyph, just like Daniel Stenberg, don’t maintain open source software only out of the goodness of his heart.
They build it because it makes their job easier.
The good thing about open source software is that it’s reusable intellectual property. Consultants can work for one company using it, then move on, and use it to do consulting for someone else. Open source software is great because talented engineers can work where people can see them, on something they can show, and something they can keep.
But even if you’re not a consultant, open source is still great. It’s an emblem of your technical prowess, a token of your talent. It is not mandatory to build free software in your free time, but that is the point: it may offset a weaker career pedigree, or lack thereof.
To bring food to the table; that’s all you have to do. The key mistake is to confuse the sustainability of your hobby with your own. Free labor is inhumane, yes. But in the case of open source software, it is self-inflicted.
Do it at least to make your job easier. Let the FAANGs pretend they do it selflessly.
And let your job sustain the activities of your obsession.
Sure boss,software is eating the world.