For a long time I have been an advocate for free software. Lately though it seems almost passé, because free software won the day. We don't need advocates for the benefit of the wheel after all, it's just obviously better. I regret my role in the way I advocated for free software however, because I believe that the way I did it and the way some of the free software community did it was fundamentally flawed. Whenever we were asked why any company should choose free software, it was just too easy to make practical business minded arguments like that it is more secure or that there is better continuity or that there is less chance for vendor lock in or that ultimate decider for any business: that it would be cheaper.
This way of advocating for free software ended up misleading those I was trying to convince. From their perspective any transaction that has to do with some non profit making expenditure should give maximum output for minimum cost. That is why so many company toilets are filled to the brim with single ply toilet paper. Software has the misfortune of being operationally very significant but business people took a long time to understand the significance and viewed it from a perspective of service providers licensing products for use. If they could get a product for free without any payment that is a huge bonus. That is probably the only thing they heard.
Everyone who has ever built anything more significant than an excel formula knows that software isn't a product and it isn't toilet paper either. You get what you give and that normally means money and people's time. When neither of those are being given, expecting the quality of the software to be good in the long term is wishful thinking. If software was like toilet paper, then the business can just switch to another vendor when one fails to deliver. There are countless stories of failed migrations between software systems on the internet. It just doesn't work that way.
Having been convinced that free software costs nothing and that mysterious basement dwelling imps build it just for fun, lots of companies jumped on the bandwagon and started to use free software without understanding the need to contribute anything back to the software they were using. Instead, they become entitled and their employees bombard the developers with bug reports. Other companies copy and extend the software and resell it on their cloud platforms at a premium to their customers, but don't bother giving anything back. Besides being unfair, the real results are plain to see.
Some of these free software developers abandon their project. There is too much pressure and not enough to gain anymore. They may not find what they built useful anymore, so why would they care about continuing if there are entitled users insulting them on their forum and bug trackers? The companies which have become extremely reliant on the software then don't have the expertise to continue the work. They are forced to keep using an outdated solution or to begin a painful migration process. Nevermind though, because these companies often have substantial amounts of money to burn through before any executive is willing to interrupt their golf game. Something has been lost here though, and a ton of reinvention, pointless money and time wastage is dropped into the lap of people who are hired as IT staff.
Some of the developers manage to get investors or get purchased because they built something that has immense value. The new buyers are eager to see a return on investment and the first thing they look at suspiciously is the fact that the company they just bought are giving away the "product" for free! In order to placate the investors the once free software becomes open source, and then source available. Either that or some other dubious practice is put into place in order to try and monetise the software. The users all suffer because they have become reliant on the software, but are now burdened to start paying. Granted it wasn't fair that they never paid before, and now they are facing the same cold hearted investor types they were protecting by trying to get the software for free in the first place.
I believe all of this could have been averted if we stuck to our guns and stated the real reason to use free software.
The real reason to use free software is philosophical. Whenever you say the word philosophy most people's ears start ringing and they don't hear anything you say next, but hold on. Philosophy is based on logic and reason. It constitutes the best reasons for believing or choosing a way or doing something.
So here is the philosophical argument:
Now you might say that if you buy a software license, the company you buy it from will reinvest some of that money back into the software. This means that at least some of the license fees paid by all customers will contribute to the betterment of the software.
My counter objection would be that if you contribute to free software, it is guaranteed that your whole contribution will benefit everyone who finds the software useful including everyone that didn't pay for the software and yourself. Therefore it is still superior.
Probably one of the best examples of this positive feedback loop in terms of benefits is the Linux kernel, which is a massive project that has run for multiple decades and remains at the top of the industry. Many large corporations contribute to it, and in one of the largest turnarounds in the history of computing, Microsoft is a significant contributor. The point is that nobody could build a modern marvel like the Linux kernel alone. Not even a large company could achieve it. Even MacOS was based on a free software kernel because building the kernel of an operating system is a mammoth task and for most companies not even worth attempting. It is worth it though to contribute to an existing effort in order to get what you need from it while taking advantage of what others have already achieved. Others in turn can then take advantage of what you've contributed.
This is just one example of how businesses can utilise free software while contributing to the success of the software without hollowing everything out until it implodes into dust. Once you think carefully about any scenario you might find that there are ways to achieve this. It may seem harder than buying something off the shelf, but it's just different and in most of the business world it is uncharted territory.
The fact is that using free software without contributing anything is not free of consequences. When corporations do this they steal a little bit from the collective future of innovation in software. The underlying economy of free software works on a pay-it-forward good faith and good will principle. It seems utopian but then how can some very large corporations do it? How can some projects find funding from their users even though there is no licensing fee? How are so many services and products built on free software thriving?
If we are cynical we need to give in and say that free software is a pipe dream and all the companies building it need to switch licenses or introduce some other stream of monetisation. Recent history with MongoDB, Elastic Search, Terraform and Red Hat has shown us that this type of cynicism is not uncommon. In the case of Elastic, it took a license change to sound a wake up alarm to Amazon, who is now maintaining a fork that remains free. I think the whole situation could have been averted if it weren't for greed and the constant focus on the bottom line instead of the sustainability of a relationships between companies and individuals in these organisations. In many cases small businesses become the collateral damage in these fiascos. Maybe small businesses should band together and build software together. That prospect is exciting!