This article proposes an analogy between organic life forms and software
packages. It uses Charles Darwin's arguments of natural selection, such
as ease of reproduction and increased variability, to support the claim
that Free Software enjoys important competitive advantages over
proprietary software.
I've just got this paper accepted at the Workshop about Free
Software 2000, a parallel event to the 1st Free Software
International Forum 2000. The final version is available in two
formats: gzipped
postscript for ISO-A4 paper and browsable
html. Feedback is
welcome.
Sex, the sharing of information between organisms, radically accelerated
the evolution of life on earth. It's such a good idea that even
organisms we don't normally think of as sexual, like bacteria, do in
fact meet and exchange genetic material.
Open Source, and Open Systems (the concepts are related but not
identical), both provide a way for software "organisms" to more
effectively share genetic material than Closed systems do. This lets
them change and adapt quicker, so even if they start with a competitive
disadvantage (as UNIX did, for example... it was much less featureful
than the mainframe-style systems it supplanted) they can solve that
problem by adopting "software genes"...
Just as there is more than one kind of sex, there is more than one
kind
of Open Software. The two main branches are Open Source and Open
Systems.
Open Systems promote the growth and development of *interfaces* and
*protocols*. New implementations of old protocols, with more features,
supplant the older implementations but the *protocols* survive. Nobody
uses the CERN line mode browser any more, but because HTTP and HTML were
open standards, they survived. The original UNIX code base has been
largely abandoned... only SCO Unixware has a real AT&T-based kernel
any
more (at least as far as I can tell) now that everything's BSD variants
(AIX, MacOS X, Tru64, as well as Free/Open/NetBSD), mostly BSD under the
hood (Solaris), or Linux, but UNIX as a way of building an OS survives.
Open Sources promote the growth and development of
*implementations*.
There is One Perl, for example... the Perl API is what Perl 5.whatever
does. It's not that open a system, but since it's Open Source it
continues to propogate and develop rapidly.
Pity you can't edit replies, but I can see why that is.
I've expanded a bit on my reply in my Diary.
Advantages
Rapid evolution is good, even though it means the mutation rate is up
too. (High rad environement? :D ) But the real power, as yet latent,
is how well we're not tied to our fellows in the ecosystem.
I mean, some of these things have done really well by getting fuel from
the commercial world. Commercial entities feed on their traditional
meal of money a options (the psych market's looking pretty rocky this
week). But with some of the Open licenses, if one of these guys goes
belly up, no biggee. Anyone with the source code can just keep rolling
with it.
Contrast poor sad Mosaic, the lungfish of the web. It was a good code
base (as in stable from an enduser POV). It had UI features that sadly,
many of the most modern browsers lack (so they could stand to have its
code reinserted). But the confusion over whether the students or the
school owned it, combined with the passage of time, suggests that it's a
dead beastie. Perhaps there is a Galapagos ftp site somwehere that
still has it, perhaps some student kept it as a momento, but here on the
continents, only its distant children in the Mozilla family still stride
the earth.