Normalize Paying For Open Source Tools
If we want our favorite Open Source tools to continue to be maintained we need to start supporting the maintainers.
When I lived in Pittsburgh, I spent a lot of time rock climbing in this small town in West Virginia called Seneca Rocks. It was a small town in the middle of nowhere. It was 4 hours from Washington DC and 4 hours from Pittsburgh. Anytime we went there we always ended up spending the weekend. We would drive down Friday after work and drive back Sunday afternoon. Because we were cheap college students we would end up camping.
A Tale of 2 Campgrounds
There were 2 options for camping. The forest service campground was nice and well-maintained, but it was expensive and required reservations. It also had a bunch of regulations. The Princess Snowbird campground was a free-for-all. It was just a field with a restroom. The owners didn't put much effort into maintaining it or collecting fees. You pretty much showed up late Friday night and pitched a tent somewhere in the field. In the morning you were supposed to go over to the general store in town and pay your $6/night fee.
To Pay Or Not To Pay?
Payment at Princess Snowbird was on the honor system. No one ever really checked or seemed to care. Climbers have a reputation as being dirtbags, so of course, many of my fellow climbers didn't bother going over and paying. Their argument was that it was a hassle and no one seemed to care anyway. Of course, there is a sense of entitlement and moral and legal issues with using something and not paying, even if the owners don't seem to care or enforce it.
Running a Campground Isn't Free
There is another issue at play here aside from the moral/legal one and that is self-interest. As climbers, we wanted a place to camp that was less regulated and cheaper than the forest service campground. Yes, we could get away with not paying at Princess Snowbird, but that wasn't sustainable long-term. If we kept that up eventually the campground would shut down. The owners needed to make money in order to keep it open. So if we as a climbing community wanted to continue to have it around, we needed to support it.
What does this story have to do with software?
There is a parallel to this story when it comes to Open Source Software. When we are consuming software (whether that is libraries that we then build upon or end products), we have a choice. We can choose proprietary tools or open source tools. These are kind of similar to the 2 campgrounds. The proprietary tools are like the forest service campground. They cost money and have a lot of rules and restrictions around them. We don't have the freedom to do what we want with them. On the plus side, they tend to be better maintained, because there is a financial incentive there. Open Source tools are more like Princess Snowbird. We have the freedom to do what we want with them. We can modify them and repurpose them and mold them to our designs. And they are free.
Legality Versus Morality
Now there is an obvious difference between Princess Snowbird and Open Source Software. That exists in the legal realm. Open Source Software is by legal definition free to use (within the terms of the license). Therefore there is no legal issue with using Open Source Software and not paying as there is with staying at Princess Snowbird and not paying, which is very much illegal (even if the owners choose not to put any effort into collecting the camping fee).
When it comes to the morality around using Open Source software there is some debate. Both sides have some merit. One side, generally the consumers, says "They are explicitly giving it away for free, so what is wrong with taking advantage of that?". The other side, usually the maintainers, points out that "Hey these big companies are taking advantage of our free products to make billions, don't they have some moral obligation to share at least a little bit of that?" There can also be a sense of entitlement involved when consumers find bugs in Open Source software and demand they get immediately fixed.
Maintaining Open Source Software Isn't Free
Debating on legal and moral grounds misses the point. Just like in the campground story, there is a self-interest component here too. Just because you can get away with not paying from a moral or legal perspective doesn't mean it is the best course of action. Maintaining Open Source software takes time, energy, effort, and most importantly money. If we want our favorite Open Source projects to stick around and add new features and stay up to date, they need money in order to do that.
The Ultimate Case for Self-Interest
The xkcd comic showing the entire internet depending on some random Open Source maintainer in Nebraska, might seem far-fetched, but there is actually some truth in it. Lots of large companies and lots of our common infrastructure rely on Open Source projects. If they go away, things break. Here is an example. There are plenty of others. Here is another example of how deeply embedded into our infrastructure open source projects can be. Ultimately, if no one supports these open source projects, at some point they can and will disappear or at least go dormant (since nothing ever really disappears from the internet).
Putting my money where my mouth is
It would be hypocritical of me to tell you, the reader, to go out and support open source projects, if I wasn't already doing it myself. So I am going to briefly mention some of the projects I support.
Why even talk about this at all?
Cynics will say I'm just writing about this for the attention, or it's an ego thing. It's not really about that at all. Here are some of my reasons for posting this (as opposed to just donating anonymously):
- I am already donating. By donating anonymously and not taking credit, I'm not hurting anyone but myself. So why not take credit?
- By bringing this topic up I hope to normalize supporting open source projects. I am making others aware that supporting Open Source software is a thing
- By mentioning the projects I support, I am giving them publicity and helping them to get the word out about the awesome things they do.
- Showing that I am willing to donate to these projects, encourages others to do the same.
Who should you support?
I recommend supporting the tools you use on a regular basis. We all use a ton of Open Source Tools. It would be impossible to support them all. I recommend supporting the ones that bring you the most joy or contribute the most to your professional work.
Here are just some of the projects I support financially. You'll notice some of them are LabVIEW related and some are not. You should check them out. They are tools that have helped me out immensely. They've each saved me multiple hours of work.
- AntiDoc and ASCIIDoc from WovaLabs
- The PantherLabs DQMH Dashboard
- The G Idea Exchange
- SQLite Browser
- WinSCP
Justifying The Expense
If you are having trouble justifying spending money to support the Open Source projects you use and my previous arguments haven't swayed you, I do have one last attempt. Think about the Open Source projects you currently use and how much time they save you. Many of the projects I support, have easily saved me 10's of hours in the past year. What is that worth? It's at least worth buying the maintainer a cup of coffee (or several).
Are There Other Ways To Contribute Besides Money?
Absolutely. Of course, you can contribute directly by writing code, but you can also contribute by updating documentation, beta testing, entering feature requests and reporting bugs, answering questions and participating in their support forums, purchasing stickers/hats/tshirts, and simple things like simply helping them spread the word. Sometimes just a simple appreciation e-mail goes a long way.
What Open Source projects do you support?
If you currently support some Open Source projects (financially or in other ways), post them here. Let's help spread the word and encourage others to support them as well.