The Problems of
Open Source
©
Dr Mark Tarver, 2009
What
I have to say next is an entirely new essay. It
can be read as such, but there is a very good
reason why it is included here. If you've just
dropped in and want to read the nerdy
stuff on Lisp that led up to all this, you can do so.
If youve already done that then there is a
sting. It might not happen. It might not happen
because there is a limit as to how far I am
personally willing to carry the programming
community at my own expense and in particular the
advocates of free open source. What follows might
therefore be disagreeable to free open source
fanatics, but it needs to be said.
Ive just used the phrase free open
source software or FOSS even though some
definitions of open source make this
into a pleonasm. I think in general thats
wrong and thats why I avoid the Debian
definition which conflates several ideas together
which should be kept apart even if only
conceptually. By open source I mean
that the sources can be read and perhaps modified
within such constraints as the author lays down.
FOSS corresponds to what open sourcers generally
mean by open source so what I have to
say applies to FOSS.
What I want to say first is that FOSS is a
delusion. There is no such thing as free
software. Thats the fallacy. There is only
software that is paid for by somebody else. The
other thing I want to say is that much of what is
offered as FOSS is pretty bad and contrary to
claims that it is great, actually operates much
to the detriment of good software.
Free As in Free
Speech becomes Free As in Free Beer
I've talked
about FOSS or free open source which is BSD/MIT
licensed software. There is also the GPL too,
which allows distribution of source provided that
users are given the freedom that the designer
himself had, and this extends to any software
incorporating GPL. Stallman
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'.
We need to get this one
out of the way. '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'. It's not hard to see why. 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.
Why is Free
Software so Bad in Quality?
Most free
software is poor or unusable. It's not apparent
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.
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. Look at Star Office, Emacs,
Linux, and SBCL they say. Alright lets look at
them.
Star Office was the product of StarDivision and
Sun Microsystems. It was not put together by a
hacker living in his moms 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 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.
Its 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
Gods 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 peoples 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 Stallmans
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
Stallmans 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 administers 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 everybodys 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.
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. Ive 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. Perhaps they stay as a sort of cooking
club for people to swap recipes. Fine. But leave
the evangelism at home.
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.
________________________________________________________________
Postscript: On
the Response (or lack of it) from the Open Source
Community
After writing
this essay I intended to gather responses from
the open source community; arguments that might
in some way show the analysis given above was
mistaken. In fact, very sadly, I could find
hardly any arguments offered despite several
threads being devoted to this article. The level
of intellectual debate was very low.
Thus (translated from Russian) 'is not new' 'is a
troll' were used in place of rigorous analysis
and reply. All of course sadly ad hominem and
I'm afraid characteristic of the FOSS movement.
People tended to quote particular open source
programs they liked as refutations of this
article as if the propositions 'This X is a Y'
and 'Most Xs are not Ys' were inconsistent. The
proposition that most FOSS is poor is not
disproved by a few examples. The article was
criticised as one-sided without any attempt to
show what side the respondent wanted to include.
The inescapable
conclusion is that FOSS is simply a limited
business model suited to a percentage of
developer-oriented software projects and this is
precisely what this article concludes. FOSS does
not deserve the status of a movement or an ideal
in its present form.
I think when
FOSS people have assimilated the lessons of this
essay, they might be in a better position to
remedy the weaknesses of the movement and we can
move on to the next stage of the debate. Since I
cannot (though I would dearly like to) present
better arguments for FOSS from the people who
believe in it, I offer this excellent piece
written by an intelligent FOSS supporter which
acknowledges the very real problems with FOSS
methodology and the weakness of its products. The
problems Matthew Thomas outlines stem, in my
opinion, from the inability of FOSS to sustain
the classical development model of the
professional team. I am sceptical of his
solutions, but his enumeration of the design
flaws is very good.
Why Free Software has poor
usability, and how to improve it
If you get through that read John Gruber's
excoriating analysis of Linux and Open Source in
Ronco
Spray-On Usability
Mark
|