This was written in 2009 and made me an unpopular figure in open source circles :). Despite that, very little in the way of refutation was ever written apart from this.   I've updated this essay in 2014 to mention crowd-funding and attached a further reading list.        

The Problems of Open Source

Dr Mark Tarver, 2009, 2014

I want here to talk about the open source movement and some of the ideas behind it. I guess I should first define what I mean by 'open source'.

Twenty years ago, the phrase 'open source' had a definite meaning in computing which is quite different from the sense it has now. In 1990 when you said a program was 'open source', you meant that you could read the source code; the actual code the person had written to create the program. Closed source programs did not give you that ability. Beyond that, there were no requirements on open source. In theory one could charge for open source code or place restrictions on it's use.

In 1998 Eric S. Raymond wrote a famous essay The Cathedral and the Bazaar in which he argued that all software should be open source. The phrase 'took on' and came to mean something different from what it originally meant. 'Open source' came to mean not only were the sources readable, but also that users had the right to do with the code pretty much what they wanted. 'Open source' then became associated with licenses like BSD and MIT in which the author not only made the software readable, but also effectively relinquished any creative or financial control over his creation. These licenses were not new; what was new was the redefinition of 'open source'. Later the Open Source Initiative formed to propagandise this ideal of 'sharing'.

I see this shift in the meaning of 'open source' as a retrograde step, because it made a mudball of several distinct ideas; making software readable, charging for the commercial use of code, and exerting creative control over one's work. These are quite distinct choices and OSI philosophy masked many real choices by redefining 'open source'.

Despite a failed attempt to trademark the phrase 'open source', so successful has been the OSI marketing that many programmers never pause to consider that these topics should or even can be discussed separately on their own terms.

In what follows I will use the word FOSS meaning ‘free open source software’ to conform to what the OSI call 'open source', reserving the term 'open source' or 'readable source' in it's original meaning.

Free As in Free Speech becomes Free As in Free Beer

I've talked about FOSS or free open source of which BSD/MIT licensed software is an example. There is also the GPL licensed software too, which allows distribution of source provided that the sources are readable and users are given the freedom to change the code at will. However any software incorporating GPLed code must itself be GPLed (the infamous 'viral' condition).  If I write 1000 lines of code and borrow 100 lines of GPL code, my entire program has to be GPLed. The author of the GPL and its staunch defender is Richard Stallman, head of the Free Software Foundation.

Stallman calls GPLed code 'free' and explains that his freedoms are there to facilitate the exchange of source, and that the freedom he talks about is more akin to 'free speech' than 'free beer'.

Protagonists of the BSD/MIT have rightly pointed out that Stallman's 'freedoms' actually incorporate an important restriction on what one can do with GPLed code because of the viral condition and question whether such programs can be 'free' in the way that Stallman insists. If one is not free to do as one likes with a GPL program, can it be free in the way Stallman insists? Probably not.

Stallman's 'free as in speech' vs 'free as in beer' line really does not scan. 'Free as in speech' does not mean 'free as in beer', but in fact if you look for GPL software it is almost always 'free as in beer'. If you try to sell GPL software, it is possible for your punter to buy it, write some trivial change and resell it under GPL for less, undercutting you. By parity of reasoning this can be repeated down the chain until the price tends to zero. So designers using the GPL nearly always make their work free. The same argument applies to FOSS code; FOSS code is almost always free of charge.

Why is Free Software so Bad in Quality?

Most free software is poor or unusable. This is heavily disguised because protagonists like to use the isolated points fallacy to sell the idea FOSS is great.

The isolated points fallacy consists in taking the high scoring points on the graph and ignoring all the other points. Hence FOSS champions wheel out the standard examples of success - Star Office, Emacs, Red Hat Linux, and SBCL - ignoring the vast sea of floating half submerged buggy and abandoned projects (over 120,000) that litter SourceForge. It is the sort of technique Mugabe would use for TV. If you're accused of starving the country, wheel out a handful of well nourished kids for people to see. 'Look, our country is fine; see how healthy these kids are'. Out in the slums the less fortunate die of cholera.

In practice the great debate between BSD/MIT, GPL and the closed source people there is an important truth about software development which gets obscured. It's absolutely basic. Here it is.

Good software arises when one or more very good programmers work closely full time together over a period of time developing, maintaining and improving it.

That's it. Very simple. Except its not, because if you're lucky enough to attract such a team you need to keep them together. And for that you need capital and that is exactly where FOSS falls down. This is the main reason why so much FOSS is of poor quality.

FOSS was Built Out of Corporation and Tax Money

What I've been saying might not seem apparent at first because FOSS champions wheel out a lot of standard examples line OpenOffice, Linux, and SBCL they say. So let's look at them.

Open Office was derived from Star Office which was the product of StarDivision and Sun Microsystems. It was not put together by a hacker living in his mom’s spare bedroom, but by a team of professionally qualified, highly paid and very able software engineers who were working for a company that made and sold products according to a classic capitalist model. Without the input from that team and the funding from that model there would be no Star Office. Star Office became FOSS and thus Open Office purely because Sun were willing to support a loss leader in order to acquire part of the Microsoft market. The FOSS model never supported Star Office and I doubt that it would have ever done so. 

Emacs was supported financially by people working at the MIT AI Lab, which means that it was funded by Uncle Sam. It was not invented by Richard Stallman contrary to popular myth, although he did grab the sources and improved them and tried successfully to claim as much credit as he could. It’s real cost in market terms was effectively many thousands of tax dollars and it was paid for as such by Joe Schmoe.

SBCL is at the moment the leading open source Common Lisp platform. But it was, and is, deeply indebted to CMU CL from which it was a fork. CMU CL was again an Uncle Sam project being funded originally by DARPA and the guys who developed it were top class professionals who were paid a lot of money to do it. Sans CMU CL, SBCL would not have got off the ground.

Linux is of course, mostly a copy of Unix, despite howls to the contrary it is deeply unoriginal, being based on ideas going back to the time of the Vietnam War. These ideas were in turn evolved within Bell Labs by its creators who were also well-paid professionals. Linus Torvalds really copied an idea whose basis had been funded by university and corporation money and without that basis there would have been no Linux. 

That being said, Linux is a generic name for a group of platforms. Last time I looked there were about 50 or so Linuxes and if you were to take a pin and blindfold and choose one, it would be God’s Will if it worked properly or not. Quite often the answer is ‘not’. My Ubuntu version of 2005 was an absolute crock that wasted the plastic on which it was distributed. Ubuntu was itself a loss-making personal hobby of a guy who had so many millions that he could afford the practical joke of distributing something that he knew did not work. Eventually perhaps they got it to work, after wasting untold hours of people’s time. As a professional friend of mine said ‘Free open source is free if your time is worth nothing.’ 

These flagship implementations of the FOSS movement are in fact pointers to the intellectual incoherency of the whole movement. These implementations were deeply dependent on models of funding to which the FOSS community are either allergic or indifferent. The attempts of the FOSS movement to present a coherent economic case have been totally unconvincing. After having condemned closed source as immoral, Richard Stallman’s basis for an economically sustainable basis for FOSS is donations (i.e begging) and selling T-shirts. The case as presented by Stallman would be a joke if it were not that people actually took him seriously. As a software revolutionary Stallman’s closest intellectual relative is Marie Antoinette.

The Red Hat Story is Misleading

FOSSers who actually try to engage with this issue generally do so by arguing that FOSSers make money by selling support and advertising. They point at Red Hat. So let's look at Red Hat.

For many years, hand-holding for Red Hat Linux platforms was an absolute necessity since the design and implementation of this platform was so poor that without hand-holding or a serious investment of time, the average user would be lost. Torvalds himself criticised an early distribution of Red Hat as totally unusable and unfit for distribution. But in the heady days of the dotcom boom it was easy for Red Hat to capitalise its ideas and eventually they worked their way from total mediocrity to a strong market position.

But even so you will notice that Red Hat is mainly popular with server administraters and geeks. Its penetration into the desktop market remains very small; generally because Linux designers have still not mastered the idea that people would prefer to use their computers to do stuff that they find interesting rather than recompiling their OS. It is precisely because Linux is complex, demanding and sometimes quirky that there exists a market for administering it at the server end. You can sell your services to people if what you produce is sufficiently complex or difficult that people cannot use it easily. They'll pay you to save the hassle. And if you look at the areas in which FOSS has been commercially successful, Apache and other initiatives, you will find that they nearly all have this pattern.

But if you produce something that is highly useful, easy to use, intuitive, reliable and well documented, then giving it away as FOSS is commercial suicide because there is little or no market value for your services. The market value is in the product and not in your services. And here is the irony, because software that is useful, easy to use, intuitive, reliable and well documented is precisely the paradigm of what software should be.

In fact FOSS is often a recipe for half-baked freebies that displace good software because they are free, but which then go on to soak up everybody’s time by being full of bugs that require ‘support’ (i.e. your time or money) to heal. Good software is properly documented, does not break and does not require hand-holding to use it. Consequently the FOSS economic model does not favour good well-documented software as popularly claimed. What it does favour is buggy, constantly evolving software that needs support and gets dropped as people lose interest.

Crowd Funding

Doesn't crowd funding solve the economic problems of open source?

Not really; certainly not for most projects. If you look at the most funded projects on Kickstarter, they fall into the category of gadgets and games. There are a few software projects that have attracted significant funding (like Light Table) but not that many. Certainly the average successful Kickstarter funding of about $5,000 will not carry any business much beyond the first quarter of its first year.

The austere facts of open source economics poke through like the bones of an undernourished cadaver when you look at some famous open source projects. In January 2014, OpenBSD entered financial crisis when it could not pay its electricity bill. After an extraordinary appeal it was rescued by a bailout of $100,000. But the total annual revenue of this open source leader is actually only that of a single associate professor; not exactly big potatoes.

A look at Linux Mint, a well-known Linux distro, shows that the total income from donations is in the region of $50,000-60,000. In other words, the income by donation of two top rated open source companies pushing software used by many thousands is only scratching the income of a middle income American.

Recently open source funders have recognised that open source companies not only need kickstarts, they also need a continuos income stream to sustain them beyond the start phase. BountySource was introduced to carry this through. The idea was that projects could be posed and bounties placed on them for people to complete them. Great idea. But when you look at the income stream from bounties, the top scoring ace programmer for the entire site (who had to beat hundreds of programmers to make the top spot) pulled down about $50,000 for the year. That's actually below the going rate for a full time programmer in the USA (but maybe he's in Bombay and living it up?). Second place went to a guy with $34,000 and third $8,000. The rest probably got holiday money.

Crowd funding is not an adequate long-term income model. The 451 group has likewise concluded that open source economics is not a business model.

Android

Much has been made of Android, the hand-held OS from Google. Android is Linux on a weight-loss program, sans scruffy beard and wearing cool shades. But Android has very little to do with open source methodology or economics. To quote what we said earlier.

Star Office was the product of StarDivision and Sun Microsystems. It was not put together by a hacker living in his mom’s spare bedroom, but by a team of professionally qualified, highly paid and very able software engineers who were working for a company that made and sold products according to a classic capitalist model. 

This fits Android to a T. Android is a product of a lot of professional engineers working at Google who borrow selectively from OS code and write much of their own stuff. Android is financed by Google's enormous advertising revenue and the purpose is to penetrate the hand-held market and make money. Nothing wrong with that, but nothing particularly relevant to going open source unless you're the size of Google.

Why Do Corporations Support Open Source?

I heard people defend open source by pointing out that companies like IBM etc. use it. I find this droll; that a movement that was so consciously set up in defiance of the evil M$ empire should seek its justification in the support of corporations like IBM. Of course the corporations support it. It's good for them! But only a fool thinks that what is good for IBM is automatically good for the little guy.

Prior to FOSS, companies like IBM had to spend millions of dollars on R&D to keep up. To have a market model where innovators who cannot capitalise their ideas, freely share their best ideas and code with the corporations who can take advantage of them is great for IBM. Its like having a self-basting turkey that moults spontaneously and steps into the oven.

The modern trend in FOSS is away from the GPL and towards MIT/BSD. That's no surprise, because GPL is awkward for corporations. Red Hat endorses the MIT/BSD model. And as corporations encourage the development of these new liberal licenses, we find that Stallman is being exorcised as an aging hippy, not 'with it', an embarrassment, uncouth, and so on. In plain terms, Stallman has outlived his usefulness as a stooge. There are better and brighter ways to encourage FOSS than the aging GPL. Goodbye Mr Stallman.

Free Open Source is not often Innovative

An awful lot of FOSS is poorly written reverse-engineered copies of existing commercial software. Innovation is hard; it requires time and brains. Reverse engineering is a powerful disincentive to innovation since anybody who does spend R&D capital in innovation, can have their ideas reverse engineered.

Copying stuff that exists is easier and cheaper. And that means that there is less commercial incentive to develop new and better things as long as there is money to be made from patching and teaching old technology. In a society where fuel-inefficient old Fords were free, nearly everybody would drive one and the auto industry would wither. Mechanics would be like Cubans, scratching a living fixing old Fords. And that pretty much describes the way that many FOSSers work. Scratching around on the antique Linux operating system and writing kludges.

It depresses me to see that young geeks think that Linux is cool whereas its design is old enough to be getting a bald patch and a mortgage if it were human.  They should be innovating.  Imagine a young aerodynamics engineer graduating from college and contemplating a life servicing DC 10s! Nobody with any innovation in them would want to do it. Yet somehow this is projected as a glamorous career move in computing. And if they do innovate and their innovation is good then its just as likely to be swept away from them by the corporations who have the capital to exploit it. Thanks for the idea and there's a small bag of peanuts by the exit.

In fact most smart people would steer away from programming as a career for just these reasons. I don't think the smartest of our young Americans are in the game any more; its mainly educated immigrants escaping from bad conditions who'll do most anything for a visa. The smart move for young Americans is MBA and Law.

Copyright and Closed Source is There to Protect Inventors

One of the weirder things about the FOSS movement is the dislike of copyright and closed source. These are Bad Things and only people like M$ promote them is the official line. Stallman goes as far as denying creative rights altogether. But copyright law exists to protect innovators from companies like M$ who would otherwise exploit their work and give nothing to the innovator. It is the function of law, properly conceived, to act as the great leveller, allowing the weak to stand next the strong under the protection of law. Remove the protection of law and the Golden Rule applies; he who has the most gold makes the rules.

If FOSS is Often Poor, Does it Matter?

More honest and discerning members of the FOSS community will admit that an awful lot of FOSS is really quite poor. However they insist that this really does not matter since some significant fraction (and they admit this may actually less than 5%) is really quite good and that's the stuff we should use. Hence the argument is 'Yes; a lot of FOSS is awful but that's not important because you don't have to use it.'

However the problem is that the FOSS user may not stumble on this magical fraction and the invisible iceberg of buggy, ill-conceived FOSS lies submerged ready to rip out the bottom of your leisure time and send that lazy weekend to the bottom. In fact, FOSS uses massive amounts of user time trawling through defunct and buggy applications and posting to forums in search of the magic configuration. FOSS users, being zealots, tend to be blind to this. They treat the sunk costs of their learning through hard experience as zero, which is wrong. The cost of having to deal with software which should never have been issued is significant - even if you finally junk it. Bad software will injure your leisure time and your pocket.

The World Does Not Need Free Open Source

FOSS is so often an intellectual fraud perpetrated on the young, and one that benefits corporations who profit from it. It is partly maintained by the naivete of every rising generation of youth who imagine that by producing FOSS they are saving the world. I’ve frequently heard it said ‘Without FOSS I never would have learnt Blub’. This is wrong. People who think like this think of a world without FOSS as the world as it exists now minus FOSS. What they should do is think ‘What would the world have turned out like without FOSS?’

With respect to Lisp, I think that the commercial environments that are now on offer would be considerably cheaper, since Franz and LispWorks would have made important economies of scale in being able to sell their products in terms of the hundreds of thousands instead of the hundreds. And for anybody who has used them, these products are better than the FOSS equivalent. So the chances are if there was no FOSS, you would have learnt Blub anyhow and be using a better product, even if you had to pay a modest price for it.

The world does need idealism and young people; but why waste your talents on FOSS? Go out and save the Siberian tiger; why not? Its absolutely beautiful and worth fighting for. What the world does not need is another buggy open source copy of Windows Media Player.

We Do Not Need the FSF or OS Movements Either

Am I saying in all this that I am against FOSS? No, not as such. If a person creates something and he wants to share it, then fine, good for him. For me to condemn people who want to share would be wrong. It's their work, let them do as they wish. What I am against is bullying people to share or suggesting that not sharing according to the lights of the GPL is wrong.

Once we accept this then much of the point of the FSF disappears. There is no point in having an organisation that preaches sharing to people. If I want a sermon on the value of sharing I'll go to church.

Why Do People Endorse FOSS?

The arguments that have been advanced for FOSS as a generic economic model for underwriting software are not good. Why then do people endorse FOSS? I believe the answer is largely greed. It's nice to have things for free and it's not nice to be reminded of the consequences of doing so. When a belief system is designed to pad out people's comfort zone it assumes the trappings of a religion. And this is why the debates on FOSS often turn so nasty; because to criticise the FOSS model is to take away people's intellectual candy. And the result is a tantrum.

We all like a free lunch and nobody likes to be reminded of their weaknesses. Or to put it in another way, people like to be told their weaknesses are not weaknesses at all, but God-sanctioned characteristics. In the C19, the white man hungered for the Indian lands and missionaries and public speakers justified seizure in the name of civilisation. In the C21 we are hunger for software, but only in Stallman and others will we find someone who will endorse our baser motives. He tells us it is good to hunger and take, and the only reason for abstaining is fear of being caught. So he says.

Interviewer: Would it be ethical to steal lines of unfree code from companies like Microsoft and Oracle and use them to create a "free" version of that program?

Stallman: It would not be unethical, but it would not really work, since if Oracle ever found out, it would be able to suppress the use of that free software. The reason for my conclusion is that making a program proprietary is wrong. To liberate the code, if it is possible, would not be theft, any more than freeing a slave is theft (which is what the slave owner would surely call it).

http://www.forbes.com/2006/03/21/gnu-gplv3-linux-cz_dl_0321stallman2.html

In other words theft is OK if you don't get caught. This is, of course, nonsense. Theft is theft, but a bad argument is enough for some people when they are ready to listen to what suits them. Since consumers radically outnumber developers and innovators, the combined decibel output of the FOSS supporters tends to drown out contrary opinion.

Summing It All up

So lets bring all of this together in a way that makes these points clear. Note I don't believe that those religiously inclined to FOSS will pay any attention to what is said here, but for others of open mind it seems worthwhile to bullet point these ideas.

1. Good software arises when one or more very good programmers work closely full time together over a period of time developing, maintaining and improving it.

That's absolutely fundamental. You need good people working consistently on one piece of work over a long period of time and you need to keep them in place. In the long run you need money to do that.

2. If you give your software away under GPL (free as in free speech) its very difficult to charge for it and so it ends up being free as in free beer. Ditto for FOSS.

Nearly everything FOSS and GPL is free beer.

3. Hence if you want to maintain yourself and/or your team, you need a viable economic model and FOSS/GPL does not always supply it. Their standard models are support and advertising.

This only works if your product is so complex as to require advice and hand-holding. But to quote what was said earlier.

If you produce something that is highly useful, easy to use, intuitive, reliable and well documented, then giving it away as FOSS is commercial suicide because there is little or no market value for your services. The market value is in the product and not in your services. And here is the irony, because software that is useful, easy to use, intuitive, reliable and well documented is precisely the paradigm of what software should be.

Advertising only works with vast numbers of viewers.

4. Since the economic model for FOSS is not generically viable it often relies on corporate and taxpayer money to sustain itself.

We've seen this already in looking at the history of successful FOSS projects; seeded with corporate or taxpayer's money.

5. The lousy quality of FOSS is disguised by pointing to the few success stories. So much of it is (badly) copying commercial ideas.

Because the FOSS economic model is not generically viable, many FOSS projects founder with buggy and incomplete software. They are not allowed to spoil the picture. But even stuff that makes its way onto CD can be dire. A proper view has to include all FOSS projects, not just the one that are convenient for the defence. FOSS people cannot continue to defend FOSS on the basis of selective examples. FOSS tends to be derivative because it cannot finance R&D properly.

6. Corporations like FOSS because it allows them to exploit ideas without recompense.

Just because Red Hat/IBM think that FOSS is good for them doesn't mean that automatically its good for you. Think. IBM uses FOSS as convenient and discards it when not.

7. We do not need the Open Source Movement or the FSF.

Sharing is a personal decision. If someone wants to share then fine. We don't need movements to tell us to share; this is religion. The FSF and the like need to address the economic lacuna in their model before continuing to press it. Especially there are no good arguments for forcing people to share, for online bullying, lying, blacklisting, intimidation, downright bad manners or stealing people's code. If the open source people feel the need to do this to keep their wagon rolling, its time the wheels fell off.

8. Despite every argument that can be mustered, FOSS people will continue to ignore them.

FOSS is founded on a mixture of shrewdness, greed and naivete. Shrewdness from corporate developers who see an opportunity. Greed from those who desire that everything shall be free and welcome any argument to justify greed. Naivete on the part of those who contribute for nothing and do not see the darker aspects of the movement. As long as it panders to the comfort zone, FOSS and its protagonists will continue to roll along.

Further Reading

Why Free Software has poor usability, and how to improve it

Ronco Spray-On Usability

Open Source is Not a Business Model

I Hate Open Source Software (funny and scatalogical, but insightful)

HeartBleed exposes a problem with Open Source

OpenBSD struggles to meet the electricity bill

Open source: Its true cost and where it's going awry