09.21
So the Internet’s version of the Jehovah’s Witnesses were (allegedly) out in force again as free software day came and went again. I certainly didn’t (luckily) see anyone that felt the need to press some crappy GNU/Linux distro into my hand while blathering about software ‘ethics’. Maybe there are some advantages to living in a chavvy hell-hole of a town sometimes.
Anyway that’s not really the point. I used to be a nearly full-blown freetard a long time ago. I had the whole ‘hate the man’ thing down (Microsoft) and bought into the whole ‘by developers, for developers, lets cut out the corporate middle man’ movement. This was before I had even really used Linux – but the concept seemed sound. And how can a developer not fall for that idea – software utopia, plus never having to deal with anti-user crap like artificial limits and activation again! But then I actually used it for an extended duration and moved into my ‘the idea is sound, but it just needs more work’ phase. I believed with the concerted effort of like-minded people and by including designers, UI experts and artists it was only a matter of time. The third phase was that it was a shame that a great idea was being ruined by a defensive community of non-developer, non-contributing idiots intent on scaring away anyone who didn’t believe it was already perfect. At least I was partially right that time.
And finally, I am where I am now: It’s a bad idea to the point of being dangerous and it just won’t work anyhow.
Here’s the thing. Nobody owns GPL’d code. The code is free. You are not. For example you, as a user, have more freedoms when it comes to BSD licensed code – effectively you can do what you want with it, provided you provide credit. GPL’d code on the other hand has a slew of limitations on what you can and cannot do and attaches a larger burden on you in terms of distribution of changes and source. The code is more ‘free’ under the GPL. By GPL’ing code you effectively say ‘nobody owns this, it belongs to itself’. I can sell BSD code and deny you your ‘fundamental right’ to freely distribute it further. I can also grant you the same right as the GPL. The GPL simply ensures you cannot stop anyone from modifying and distributing.
The problem with the above is that it entirely negates ownership. You cannot ‘own’ free software. It doesn’t matter if you wrote it – it’s not yours. As soon as you release software under the GPL you have no more right to it than any of the other 6 billion people on the planet. It’s why FOSS advocates call closed source (distastefully) ’slavery’, as closed source software is owned and controlled by someone.
The ramifications of this are obvious – you can’t make money selling free software. You can sell it, but so can everyone. If you’ll need to sell 10,000 copies at £100 each to reclaim your investment and the kid in the local computer store will sell them for £5 to anyone that wants one then you’re simply never going to break even. The whole ‘you can sell free software’ excuse is intellectually dishonest as you have to compete with people with no sunk or running costs. The best you can do is put up an online tip-jar and rely on effectively begging – and I’ve yet to hear of that working well.
Effectively, what the GPL and the Free Software movement says, is that developers do not deserve to be compensated for their effort. Unless they can manage to sell the first copy for £1,000,000 then there is no way to ever get paid for the time spent. It simply can’t be done. If you want to man a phone line, do email support, work as a call out technician, then you can (according to ’software freedom’) demand a fair hourly wage, but if you are a developer you can’t. It’s ‘immoral’. Simply on the basis that you cannot own code, thus can’t charge money for it.
The argument often made about the above is that businesses still need programmers. Which is true. But this is where the whole thing unravels fully. I am a programmer – say I have an idea for a great new CMS tool*. I now have two options:
- Quit my job, rely on my family to put up with me for a few months while I spend 12hrs+ a day working on it.
- Take my idea to a large company such as IBM, Oracle, Microsoft or someone else like that.
As above, according to the ’software freedom’ camp if I picked option 1. as soon as I released it it would be mine no more. The second I tried to charge money for it it would just be forked and given away. Instead of relying on the future income I could have gained from selling it at launch to pay back the debts I would have no doubt incurred, and to fund new development, I would be forced to ‘get a job’. Any development work would have to be done in evenings and weekends – and I would effectively be forced to decide between programming what I want, or my marriage. Plus the software would progress more slowly as I would not have much time to devote to it.
Now with option 2. there is pretty much zero chance of getting taken up on my idea. You don’t tell a business that you want to hire you what you are going to work on. Unless you are really, really famous. Chances are unless your surname is something like ‘Carmack’ you’re going to be writing the mundane stuff that they want you to do – not your own exciting ideas.
There are companies that are based around and heavily involved in free software. Names include companies such as Red Hat, Mozilla, IBM, Canonical, Google, Novell etc and the one thing about these companies is that they are not in the software sales business. Red Hat is in providing support and SLA’s for businesses and servers. IBM is similar to Red Hat – they sell ’solutions’. Mozilla makes money from advertising for Google, Canonical is a billionaire’s plaything, Google sells advertising and Novell is just a slightly more pragmatic Red Hat. You’ll never see a company such as Adobe adopt a FOSS business model as they are in the business of selling software. I don’t imagine anyone can make the argument that Adobe can go FOSS and remain profitable with a straight face.
It’s the following realisation that made me realise what a disaster FOSS really is. Free Software only benefits large companies and the rich. It is almost impossible to be a developer and not work for ‘the man’ under the GPL. Sure there are exceptions to every rule but the simple fact is you can’t be a developer unless you can get an alternate revenue stream. Support is good, but not a lot of apps will require support and you don’t spend months programming to be forced to make money manning a phone line. There are also the dual license options, but this is effectively shareware, and you are still making money selling closed source software.
If adhering to the GPL was a legal requirement then it’s not like software would all suddenly be free and open. What would actually happen is that people would simply stop making software. All the games available on Steam would not suddenly be free – they simply wouldn’t have been made in the first place. I pay money for SmartFTP because it is the best FTP program I have ever used. By paying money I help fund further development. I am happy with this.
It’s not even like the mass piracy and commoditization of music, as it’s not like developers can make money selling tickets at £50 a go to live shows. The software itself is all you’ve got.
Now I simply don’t see how anyone who thinks pragmatically about a future in which the GPL is accepted as the way to distribute software can possibly support it as in reality the people it hurts the most are the very people that support it – individual developers.
* True story, I do. I am working on it and plan to launch it in a few months.
Some Further Thoughts and Ugly Truths:
The most overlooked point with regards to software development is that it is generally the result of a few people sinking a large amount of time into it, not as a result of a lot of people doing a small bit. You simply can’t throw developers at a project and expect it to flourish – it just doesn’t work. If you want something well written and cohesive it’ll take a small, dedicated, team – not a large bunch of semi-skilled volunteers – not something that really happens in FOSS unless you are being funded by a rich 3rd party.
Capitalism, in a nutshell, is providing people what they want. If you don’t provide it you don’t succeed. If enough people don’t want it the provider can either improve and adapt, or die. In the FOSS world you take what you’re given and have no right to complain. Gimp is near useless and doesn’t even match the decade old Photoshop 5.0 yet people not using it will not spur on development. There is simply no motivation to cater for a wide audience – if Gimp was a commercial product the company would have been bankrupt years ago but catering for your users needs is simply not important in the world of free software. Free software is about developers scratching their own itch, not finding out what itch other people want scratched.
The bulk of FOSS development work is done by one of these people:
- Students, getting paid to learn.
- Unemployed, getting paid by the state.
- The Rich, resting on their laurels.
- Large companies, adding value to their other services.
Free software is categorically not made by these people:
- Software companies.
If it is name one.
Software development is hard. It’s incredibly time consuming. If most people truly appreciated the difficulty and time required to create a truly great piece of software I doubt they would have bothered. It requires people with a true passion for development to make truly great software, and I personally find the fact that such people would be relegated to only doing what they love in their spare time, rather than as an actual job, disgusting.
And finally it is the software that is free, not you. All this talk of ‘freedoms’ and ‘rights’ is utter crap – it’s not your freedom or your rights so the whole idea that commercial software is taking them is simply untrue. If a developer wants to release something under a Libre license that is fine – but it should never be considered ‘ethical’ or expected for this to be the case and if you really want to make a case for your own ‘freedoms’ then the BSD license is far more appropriate candidate.



