The path ahead
by Greg Lehey
Last month I discussed BSD's place in the UNIX community, and compared it to
politics: System V on the right, Linux on the left, and BSD in the centre. This
comparison was not intended to be definitive, but rather to arouse thought and
discussion. I didn't get much discussion, but Kirk McKusick came up with one
comment, in an unrelated context: when asked about copyright and the GNU/Linux
alternative ``copyleft'', he stated that BSD had something more like a
``copycenter'': the attitude is ``Take this, go down to the copy center, and
make as many copies as you like''. My case rests.
The demise of BSD?
In these articles, I've always tried to talk about issues which apply to all
BSDs. This month, I'll make an exception and talk primarily about FreeBSD.
Before you accuse me of unfairness, read the article: it's about FreeBSD, but it
has a number of messages for NetBSD and OpenBSD as well.
It's been over a year since Wes Peters talked me into sharing this column with
him. Initially I wasn't overly confident that much would come of it: all we had
were some people who were prepared to advance the FreeBSD cause, some more
virulently than I liked. Even the idea of ``BSD'' advocacy, as opposed to
FreeBSD advocacy, upset a number of people. Things have changed, and it seems
time to look back to where we have come from, and to look on to where we think
we're going.
It would be exaggerating things to say that the BSDs are now at a point where
they could merge into a single project--as I have pointed out in the past, I
don't even think that would be a good idea--but we're certainly a lot closer
than we were two years ago. I do believe that Daemon News has been a
significant contributor to that change. One small change that I particularly
like is that we now talk about BSD; two years ago, it was either the individual
flavour or ``*BSD'', a symbolism I personally dislike. Dropping the * doesn't
just make it look better in print, it reflects a unity which just wasn't there
before.
So what has really changed in the last two years? In the Real World, the big
thing was that the public at large gradually came to realize that Microsoft
wasn't the only way to go. The DoJ trial helped there, of course, but also the
message came through that software didn't have to be so expensive, software
didn't have to be so slow, software didn't have to be so buggy. Eric Raymond
chose his time right and launched a press campaign about ``Open Source''. The
press loved it, and various paranoid members of the BSD community predicted the
imminent demise of BSD UNIX. Eric Raymond was not a popular person in the BSD
world.
I think this was unfair to Eric. He had the gift of analyzing the movements in
the Open Source community and being able to explain them to outsiders, in
particular to people who wanted to deploy software, whether they be corporate IT
managers or private software users. This is something that previous people had
either not considered a worthwhile objective, or one which they had not been
able to achieve. Linux has benefited enormously as a result. The only possible
way that BSD could be seen to have suffered is by comparison with Linux.
Nevertheless, BSD also benefited indirectly, admittedly with some delay. In
this connection, people who have been around for a while will recall that Eric
has a BSD background. He's on record as saying that BSD has cleaner internals
and a more elegant architecture than Linux. He's not out to play off one
against the other.
One indication for the changes was the FreeBSDCon which took place in October 1999
(in Berkeley, of course). I think this is one of the most significant things
which has happened to BSD since the disbandment of the CSRG. Sure, it's only
FreeBSD, and it didn't cater for NetBSD or OpenBSD (or for BSD/OS, for that
matter). But that can change. The important thing is that BSD has now become
big enough to have its own conferences.
The FreeBSDCon
From my viewpoint, the Con, as it's called, was a logical successor to the
meetings between FreeBSD people at the USENIX meetings in New Orleans LA in June
1998 and Monterey CA in June 1999. For many of us, these were the first times
that we had met in person, and we found it an interesting experience.
Nevertheless, organizing a conference for the first time is a risky business.
I've seen the results of over-optimistic conference plans several times in the
last year, and Maddog Hall gave some further examples at the AUUG conference in
Melbourne. Professional conference organizers are a necessity, but how do you
find a good one? As a result of other incentives from the AUUG conference, I
have been doing some investigation on that front, and the enormity of the
problem has become particularly apparent. I don't think I would make a good
conference organizer.
In addition, the big question was: who will come? Five years ago, the BSDs were
very much hobby operating systems, the few commercial sites that operated with
them notwithstanding. But hobbyists don't pay several hundred dollars for a
conference, and even though we now have many more commercial users, they were an
uncertain factor: after all, they were the ones who paid nothing for an
operating system. Why should they pay money for a conference?
My fears were unfounded. The average daily attendance at the conference was
about 330, well above expectations and about as many as the organizers could
handle. The conference was as professionally organized as any I have attended.
For the first time, I realized that the FreeBSD community isn't just the
tightly-knit community that has grown up over the years: we have real users out
there. Some of the more interesting things I learnt at the conference were:
-
For a long time, it has been rumoured that Microsoft's Hotmail service runs on FreeBSD. At the Con,
we had confirmation: they have several thousand FreeBSD machines.
Sure, there are efforts under way to move to a Microsoft platform, but nobody is
taking them seriously. Instead, they are continually adding more FreeBSD
machines.
-
Apple Computer Corporation has based its new
version of MacOS, release 10, on an operating system kernel derived from NetBSD,
with significant FreeBSD borrowings. This is not a one-way traffic: Apple's
Wilfredo (``Fred'') Sanchez has commit access to the FreeBSD source tree, and he
contributes improvements back to the tree. Apple's base operating system,
code-named Darwin, is available under a substantially free license--the exact
terms weren't quite clear at the time of the Conference.
I'm particularly excited about this development. One thing that has been
missing from the BSD and UNIX worlds has been an accepted graphical user
interface. Sure, we have X in all its flavours, and UnixWare was a specific
attempt to get into the GUI market, but none have been spectacularly successful.
Apple is a recognized leader in the GUI market, and it is in a much better
position to succeed with a UNIX GUI. Indeed, the average user won't even know
that it's UNIX; he'll just have a fast, more reliable and more flexible system.
Another thing: note that Darwin is based on both NetBSD (first) and FreeBSD
(later). I asked Fred why. He said that neither FreeBSD nor NetBSD had had all
the features they needed. Think about this: if there had only been one BSD, how
good would the chances have been that Apple would have taken it? This is a good
example for my claims that it is not a good idea to merge the BSD projects. The
way we're going now makes for better products.
-
Remember when nobody was interested in books on BSD? Mine has had the market to
itself for over three years now, and it's published by Walnut Creek CDROM, not a
household name when it comes to books. The big publishers studiously looked the
other way when we suggested that they should publish a BSD book. Well, things
are changing. By the time of the conference, we had at least four major
publishers either strongly interested in or actively producing English-language
BSD books. Publishers like to keep details secret until just before
publication, and I can't divulge them, but you can be sure that you know all the
publishers involved, and there will be at least two beginner's books and a book
on advanced server administration. I'd guess that at least two of them will
appear next year.
-
The employment situation for FreeBSD programmers is stronger than ever. Once
upon a time, I wondered if I should mention FreeBSD on my resume (I did mention
it, but not without some serious thinking). Nowadays it's good for a couple of
unsolicited job offers a month. I'm not alone in this; the US resident hackers
I know get even more. I spoke to one HR manager who told me ``You know, you
FreeBSD guys have something going for you. Normally I send off mail messages to
people and get maybe 5% who answer. When I sent messages to the FreeBSD
community, nearly everybody answered. Even Dr. McKusick called me back and made
some suggestions''. It's heartening to hear things like that: it's an
indication of the sense of community which has been lost in many parts of the
UNIX world.
And the other BSDs?
As I promised, this story is (almost) entirely about FreeBSD. So FreeBSD is
going to win and NetBSD and OpenBSD are doomed to oblivion? No way. Remember
the prophets of doom who said that BSD would be wiped out because of the
popularity of Linux? Well, not only has that not happened, I strongly believe
that, in some measure, we have the Linux advocates to thank for the publicity
that has made FreeBSD as well-known as it is. One indicator of the direction
things will go is that the publishers we have been talking to have shown
interest in publishing NetBSD and OpenBSD books. In one case, OpenBSD has
jumped the gun: O'Reilly has a book on
firewalls which includes significant coverage of OpenBSD. So far, they haven't
published anything on FreeBSD. In general, though, we can expect the route to
be the same as in other matters: first, books will appear on FreeBSD, and later
on NetBSD or OpenBSD. The authors and publishers of the new books are all open
to coverage of all BSDs, but it makes it difficult to read if the books
constantly say something like ``If you're running FreeBSD, do this. If you're
running NetBSD, it's like that. On the other hand, with OpenBSD do the
following''. The general feeling amongst the publishers is that there's
probably enough volume for separate books (maybe sharing a common core) on all
three operating systems.
BSDs of the world, unite!
Will we have combined BSD conferences in the futures? It's possible, but I
wouldn't bet on it. It's interesting to see that each BSD seems to have its own
very distinctive culture and conventions, and though open confrontations are
largely a thing of the past, there's still a way to go before we all behave in
the same manner, if indeed this is desirable. Certainly I'm sticking by my
guns: I don't think it is an advantage for the FreeBSD, NetBSD or OpenBSD to
merge with another. Each flavour derived from 386BSD for different reasons.
Some reasons may have changed, but many are still valid, and the choice also
helps encourage alternative implementations, which gives us a much better chance
of coming up with an optimum. Now a common API--that's another thing. I'll
rant about that some other time.
What will the future bring?
Where do we go from here? It's difficult to predict. It's my guess that things
will gradually become more commercial, but there will be limits which will stop
the overcommercialization of open source software, specifically:
-
It's difficult to commercialize software when other people are offering
substantially the same thing for free. Yes, it was done with the TCP/IP stack,
again and again, but at the time people didn't know it was available for free.
-
A commercial development environment is focused on results, and it doesn't pay
the same attention to long-term product quality that an open source project
does. A well-run open source project will have apprentice hackers polishing
existing code to gain experience. In a commercial environment, these same
hackers will probably be writing mind-deadening code which they don't really
understand. The difference is who is in charge.
-
Although the operating systems arena is relatively stable, lots of new software
is arising around it. This software is being written for open source systems,
and in the same way that Microsoft's success is largely due to the applications
available for it, this new software will ensure the continued viability of open
source software.
Whatever it is, we can be sure that it will be interesting. Hold on and enjoy
the ride.