|
This article was first published for UniForum NZ 99 held at Rotorua 13-17 April 1999.
It is published with the permission of the author who retains all rights.
Why is Linux Successful?
An Opinion.
Liam Greenwood
Wellington, New Zealand
<liam@paradise.net.nz>
20 March 1999
Is Linux successful?
Yes.
Why can I say that?
In 1999 Linux 'wins', all indicators go ballistic. Corel ports WordPerfect to Linux.
Informix and Oracle port their database products to Linux. DB2 is shipped for Linux. IBM
announces 7 x 24 support for Linux systems. Corel announces it will port all its desktop
applications to Linux. HP and SGI announce that Linux is one of their 'core' operating
systems. HP is porting Linux to PA-Risc and announces that it will port Linux to Merced.
Datapro surveys have Linux on the top of the reliability and functionality list in
mid-range operating systems comparison. Datapro also show Linux growth at 212%, the only
server OS other than NT to have positive growth numbers. Gartner say Linux won't be a
serious contender until 2000 and only if an industry heavyweight, such as IBM, provides
commercial support. Gartner has to reissue it's view when IBM offers commercial support in
March 1999. Also in March, Dell state they will offer Linux as an operating system option
for workstations.
In the weekly IT press Linux column inches are up there with the Microsoft column
inches, only the Linux ones aren't about being dragged through court. There are now a
large number of on-line linux news-papers, more than I can keep up with. The Linux world
has more happening in it than a single person can keep up with. I try to keep up with <http://www.slashdot.org>, <http://www.freshmeat.net>, <http://www.linuxworld.com>, and <http://www.lwn.net>. The events above are listed on
those web pages. The really amazing thing is that all four pages are updated daily, and
have probably no more than 25% overlap.
I can write a paper on Linux without an obligatory introduction explaining what Linux
is. All this on top of the fact that Linux has been a reliable Unix work-alike for me
since 1993. So, yes, I can say that Linux is successful.
What is the 'competition'?
The Hurd
The HURD is the kernel for the GNU (Gnu Not Unix) operating system. The HURD has had a
version released in 1998, but it's not yet of production quality. Richard Stallman has
been heard to say that they underestimated the amount of effort it would take by about 10
years. However, in that time, of course, the GNU project has built a substantial portion
of an operating system and Linux is a kernel that allows for the free operating system to
be shipped. The HURD has never really been a competitor, as it wasn't available in the
early 1990s when Linux was coming to life.
386BSD/NetBSD/OpenBSD
386BSD is the first full OS made out of the BSD software release that was called Net/2.
NetBSD was created when the 386BSD initiator lost interest. OpenBSD is a recent version of
the NetBSD tree with a slightly different focus. 386BSD and NetBSD were the two most
likely to succeed when Linux was starting.
FreeBSD
FreeBSD comes from the same lineage as the other *BSDs. It differs in that it is a
split motivated in part by the Linux successes. It focused on be an excellent 386 based
OS, whereas the other BSDs all have multiple ports. It also made ease of installation a
focus. This was the most direct competitor to Linux, up to Linux being ported to multiple
platforms.
Coherent/SCO/Solaris/BSDI/NT/HP-UX/AIX/IRIX
The commercial variants. Coherent has gone out of business, possibly because the
principals in the firm couldn't see the importance of networking. No source, but the best
Unix manual ever written. Interestingly, of the other variants, SCO and Solaris now
provide free binary licenses for home and educational use. Solaris started talking in
March 1999 of making the source code of Solaris available. When Linux was being created
the cost of a commercial Unix license was prohibitively expensive for an individual.
Microsoft NT
.
They sell a lot.
Why?
I believe the primary reasons that Linux has gained
a greater mindshare than the other options boil down to:
- support of cheap hardware
- visibility on Usenet (marketing)
- the USL lawsuit against BSD
There are a few other reasons which I go through below, however I believe it is those
three that have made the critical difference at the right time. I'll now discuss those and
some other factors.
Time and place - 386 hardware hits affordable, Internet hits available.
Timing is everything, and Linux has been the lucky one. Linux had a university
student with drive and programming talent at the time when 80386 machines had become just
affordable by university students. Usenet was carried by non-USA universities giving the
developers a forum to discuss there issues, and ftp gave Linus a distribution method. A
year earlier and 386s would have been out of reach for most university students. A year
earlier and access to the Internet may not have hit the right critical mass.
Cheap hardware - MFM/IDE vs SCSI
Linux has always had a pragmatic view of hardware, whist the BSDs carried a purist
view. When I got my first 386 I had MFM style disk drives. At that the BSDs only supported
SCSI. Now SCSI is undoubtedly the correct choice, however it did not match the common
hardware profile out in the market. Linux had the advantage for the first three years that
I ran it of supporting a more diverse range of hardware than the BSDs. The BSDs assumed
you had purchased a machine to run a Unix-style OS on, while Linux assumed you had a
machine and wanted to try Unix. Linux was much friendlier to someone just wanting to dip
their toes in the water. In this respect Linux did something that the BSDs were unable to
do to any great degree - grow the Unix user base.
GNU/X Code leverage
Linux is just the kernel of an Operating System. Linus built a kernel that made it
easy to port existing POSIX/BSD/Unix code to it. He also utilized the GNU compiler GCC on
Minix to bootstrap up his first kernels. From a start in December 1991 (when the first
Linux code was released to the public) it took less than two years to get to a usable
system which was entering a code-freeze at level 0.99 patch level 15 in preparation for
release 1.0 . It had editors, compilers, shells, an X-base GUI, networking and even some
games. It managed to get that far that fast by leveraging off the work done by the Free
Software Foundation in its' GNU (GNU's Not Unix) project. The GNU project provided the
compilers, versions of most of the standard Unix toolset such as gawk, grep etc, BASH -
the Bourne Again shell and emacs. If the GNU and X projects had not existed it is unlikely
that Linux would have been a full featured functional operating system at that speed, and
the BSDs were waiting in the wings for Linux to falter.
Public development - Newsgroups vs Mailing lists
Remember that early 1990s was before the Web took off. Usenet newsgroups and
mailing lists were the pre-eminent forms of many-to-many communication. In the BSD world
all communications took place on mailing lists. High signal-to-noise ratio. The free BSDs
didn't have their own newsgroups, they shared with the commercial BSD. In terms of volume
that didn't matter as there was little activity there, and all the developers were hidden
away on mailing lists. Linux on the other hand had a few very high volume newsgroups.
Surprisingly reasonable signal-to-noise ratio, which improved a bit more when the
newsgroup re-organisation included an advocacy group for flamefests and useless
my-whatever-is-better-than-your arguments. It also created an announce group and an
answers group both moderated, as well as the usual suite of other subgroups. Rather than
splitting the activity into multiple lower volume groups what happened was that the volume
in each increased, so there were now many high volume groups. Knowledgeable users and
developers still frequented the groups so the chances of getting your question answered or
your problem solved were still very good. For the experimenter looking to try one of the
free Unixs, it appeared that there was nothing happening in the BSD camp, while the Linux
joint was jumpin'. The experimenter could find out about Linux, see what was happening,
ask questions and it supported his low-end hardware. The FreeBSD team realised that being
seen was important and started frequenting the BSD newsgroups more, however by then Linux
had won the mindshare space in Usenet. Again, this had the effect of growing the Unix user
population. For many high-school and university students over the last 5 years Linux is
not only the only Unix they have ever been in
contact with - it's quite likely to be the only non-MS-Windows operating system they
have been exposed to.
Net/2 vs USL issue - *BSDs hit a snag, a new network stack and a breathing space.
The AT&T spin-off responsible for the Unix product, Unix Systems Labs (USL),
claimed the Net/2 code base that 386BSD, NetBSD, FreeBSD plus the commercial startup BSDI
were based on included AT&T copyright code. It began legal proceedings against both
BSDI and the Regeants of the University of California. At this time Berkeley was putting
together the final release of BSD Unix, BSD4.4, which was held up by the litigation. In
response to the proceedings brought against them by USL the Regeants brought suit against
USL for use of Berkeley code without proper attribution. The purchase of USL and the Unix
trademark by Novell saw the resolution of the problems with the agreement to stop shipping
Net/2 based systems, BSD released 4.4 and the unencumbered code release called 4.4lite. As
part of the resolution the 4.4lite code base was given a clean bill of health by Novell.
Both NetBSD and FreeBSD moved to being based entirely on the 4.4lite code base, NetBSD
with version 1.0 and version 2.0 for FreeBSD (by then 386BSD was a dead system, OpenBSD
split well after this).
This litigation caused Linux to go its' own way with their networking. At the time the
networking was being developed the USL/BSDI/UCB lawsuit unpleasantness was at full noise.
The networking developers didn't wish to be embroiled in all the litigation so rather than
leverage off the 'standard' and robust BSD networking code they choose to roll their own.
A far more important effect insofar as this paper is concerned is the uncertainty the
lawsuit cast over the BSDs at a critical time in the Linux development. The BSDs came from
a rich existing source code base. Particularly in the networking area they were far more
robust and mature than Linux. Users who may have been attracted away from Linux were wary
of committing to one of the BSDs when it looked as though they might lose the ability to
develop free versions should the lawsuit go USLs way. This gave Linux sufficient time to
get up to speed in respect of it's networking code and help halt movement of people from
Linux to *BSD.
Development model - Controlled Anarchy vs Core Team
The BSDs Development
The BSDs tend to have 'core' teams looking after the source trees for the respective
systems. Changes to the kernel which a developer who is not on the core team wishes to
have folded into the base source tree are submitted to the team who will vet the patches
and merge it into the current source. The BSD systems distribute a full system source
tree, in that they maintain a large proportion of a full system so when you do a build you
make a large proportion of your unix system.
This model seems do have directly arisen from Bill Jolitz, the original 386BSD
developer, losing interest. Patches to 386BSD were made available both to Bill Jolitz and
to other users of the system. Jolitz had declared his intention of a new version of 386BSD
however it didn't seem forthcoming, and Bill became withdrawn from the 386BSD user
community. Given his apparent reluctance to work with others to improve 386BSD, a group of
developers banded together to provide a cohesive point of reference and co-ordination for
the ongoing development of the 386BSD system. This group itself soon splintered into two
groups, NetBSD and FreeBSD, and subsequently also OpenBSD, due to personality clashes and
differing opinions on the direction of the development.
Benevolent Dictator - Linus for President
The Linux Development Model
The BSDs whole system model is in stark contrast to the linux world. The kernel source
tree and releases are managed by Linus, developers submit code they wish to have folded
into the standard kernel source to Linus. Linus also decides when to code-freeze the
kernel prior to the release of a production version.
Linux differs from the BSDs in that the person responsible for the kernel takes no
responsibility for the overall system. In this respect there are various distributions
based on the linux kernel plus the rest of the programs needed for Unix style system
packaged up with the kernel. RedHat, Debian, S.U.S.e and Caldera are examples of
distributions.
This model allows Linux to maintain a facade of unity and oneness while actually having
far more diversity that in the *BSD world. However when compared to the commercial Unix
world, Linux manages to be far less diverse in having a common kernel, common libraries
and much of the userworld being common - mostly GNU. This seems to give Linux the best of
both worlds - a less fragmented market place for those who wish to market things such as
Oracle, or WordPerfect, yet with a lot of flexibility for people to create their
value-added version of the system.
It has also given the illusion of a kernel and OS more open to the individual
developer. The BSD variants have all come about from splits out of one or the other 'core'
teams. Linus take patch submissions from anyone - within his vision of where the kernel
should go. To date no-one has had sufficient problem with this that they have started a
kernel development fork of their own. The kernel is only a part of the system, of course,
and the Linux model seems to encourage individuals to develop new distributions. So what
is seen as a negative in the BSD world is seen as business as usual in the Linux world.
Overall Linux seems to have a more relaxed and accepting development model for someone
wanting to start out.
Additionally having a figurehead makes it far easier for the press to deal with the
Linux phenomena, and probably helps build that mindshare.
So in my opinion, the reasons that it's Linux making all the waves rather than the BSDs
or the commercial Unixs comes down to low-cost of entry due to the pragmatically
promiscuous hardware support and high visibility from conducting a large amount of
business publicly in Usenet newsgroups (and now on the web as well) and apparent easy
accessibility into the development. |