Editorial: Pulling on one end of the rope

Jordan K. Hubbard, one of the original founders of the FreeBSD project and
Non-LINUX signer of the inital LSB proposal submitted a lengthy editorial
dealing with a comparison of the past of UNIX with the future of Linux,
outlining possible similarities and describing faults that could be prevented.
Pulling on one end of the rope.by Jordan Hubbard, The FreeBSD Project

As I write this editorial, FreeBSD has just had its 5 year birthday
and, as one of the original founders, I have also been around to watch
it grow from what was essentially a 3 man operation with a couple of
dozen users to a project with several hundred developers and well over
a million users world-wide. It is now used as a server OS by large
companies, from Yahoo to Oracle, and by casual users as a desktop
workstation solution. Sales of FreeBSD installation media and
FreeBSD-based products now run into the tens of millions of dollars a
year. Not a bad achievement for free software!

At the same time, to give everyone their just due, I've watched Linux
grow from a personal project by a Finnish computer science student
into an international phenomenon, many of its users embracing it with
the same degree of fervor usually reserved for rock stars and
single-malt scotch whiskey. Many former Windows and Macintosh users
who probably would not have even mentioned Unix without a grimace
before are now preaching the gospel of Linux with the fire of the
newly converted and that's a good thing. Linux has, in no small part,
helped to bring about what amounts to a second renaissance for Unix,
synergy with the Internet boom propelling it far ahead of any previous
efforts of this type. My personal OS preferences do not prevent me
from admiring the sheer scale of what Linux has accomplished, believe
me!

So, then all is rosy and wonderful and this is basically another
feel-good editorial about the magic of free software, right? Wrong,
unfortunately. There are snakes in the garden of Unix and, surprise
surprise, they're the very same snakes we've seen throughout its
somewhat checkered history. The snakes of Unrestrained Ego and Not
Invented Here still slither freely, it mattering not whether the
ground they slither over is free or commercial, and (as usual) they're
causing us some serious problems.

To illustrate just how serious those problems can get, let's go back
about 8 years to a period known as the "GUI wars" - a time of all-out
battle between OpenLook, Motif and a host of lesser contenders. For
those who were "there", the event probably needs no further
description - the very mention of the GUI wars is enough to send cold
shivers down the spine of even the most hardened Unix devotee. Not
only did these wars cost Unix the desktop, they cost it a significant
number of the few remaining ISVs (Independent Software Vendors) that
it had. I was working for Lotus at the time and I can tell you that
the idea of supporting two different standard UIs impressed no one
(and if you wanted to run on Suns and some other Unix platform back
then, that's what you had to do), a number of smaller ISV partners of
ours deciding then and there that they'd simply back the Windows and
Macintosh platforms and leave the Unix folks to claw and scratch at
one another in peace.

The GUI wars also only added to an already untenable situation brought
on by the SYSV/UCB split (AIX/HP-UX vs Ultrix/SunOS etc), another ugly
chapter which I won't go into here, making the typical ISV's life a
real porting hell in return for access to a market which was already
dwindling in comparison to the booming Windows market. If it were at
all possible for the Unix market to sabotage itself more effectively
during that period, I'm not sure how it could have been accomplished.
It was one big, massive Jonestown-style poisoned kool-aid party and
probably represented one of the few activities the Unix community
managed to unite itself successfully behind. When unification of the
GUI finally did occur, backing a standard (Motif) which remained
commercial and out of reach of the casual user, it was too little too
late and, many would also say, entirely the wrong choice.

"That all sounds pretty pathetic, how and why did this happen?" I hear
you ask. Well, first there was the matter of Ego (spelled with a
capital E). Everyone wanted to be the one to "own" the standard for
how the GUI on this nifty new X Window System thing would look, and
the dominant corporate players which eventually emerged also decided
that they wanted to either sell their technology or keep it
proprietary and distribute it only with their own workstations. Both
concepts, of course, completely missed the point and caused
incalculable damage in so doing.

The X Window System itself was popular principally because it was a
free and open standard with a non-aggressive copyright (you could
productize it if you wished without being compelled to give the source
away, helping to get it past the usual corporate legal department
blockades without a fuss) and it was highly portable - I remember
being highly chuffed that I could now use the same window system on
the IBM PC/RT, Sun 3/50 and DEC MicroVAX machines in my office, a real
luxury at the time. The people who wanted to create follow-on
standards which they alone controlled, on the other hand, were simply
not positioning themselves to take advantage of the X user community's
rapid growth, nor could they leverage the work of all those potential
volunteer programmers while the sources were being kept under lock and
key, so to speak.

NIH was also a big factor, nobody liking anyone else's standard and
deciding that a perfect standard was far preferable to having any
standard (de-facto or not) at all. Of course, no such degree of
perfection was ever achieved and the greater good was sacrificed in
pursuit of short-term gains which never even really materialized - the
opportunity for a effective and open standard was not only thrown
away, it was thrown away for nothing. Thus ended the first age of
Unix, many (including myself) believing that this was quite possibly
The End since its community of developers, while highly capable
tacticians, had proved to be abominable strategists and seemed to be
winning battles in order to lose wars with depressing frequency.

Wind the clock forward to today, almost a decade later, and we find
many of those things happening again and for exactly the same reasons.
Don't get me wrong - it is a perfectly natural human desire to form
clans and proudly wear the clan colors on Robert the Bruce Day, or
whatever, diversity and competition being good things which encourage
innovation and inspire people to greater heights of productivity.
When you add Rampaging Egos to the mix, however, things get messy very
quickly as the various clans decide that they want to be *the* clan,
the only ones in line when the awards for best clan colors or most
unique sporran are being handed out. Before long, rival clans are
firing flaming arrows at one another and launching raids into
eachother's camps, generally making life difficult all around for a
lot of folks who would really rather just get on with the business of
living.

So it is somewhat today in the world of free software. Even though
any marginally sane person would be appalled at the sight of two
organizations like C.A.R.E and the International Red Cross fighting
one another for the privilege of feeding starving children in Africa,
for some reason the same behavior seems OK if it's just a bunch of
people who write free software doing it. I don't mean to equate the
process of feeding starving children with that of writing free
software, far from it, but they're both "benevolent activities" which
one would certainly hope could transcend any rivalries in carrying out
their good works.

NIH is also still alive and well, many people choosing to do the same
work over (and over) again just because it wasn't someone from *their*
clan who wrote it or they have some deep-seated prejudice against
anything done by clans who put green before red in their kilts - it's
simply ludicrous a lot of the time! More importantly, the larger
picture is being lost again, just as the entire Unix world is getting
a second chance at life (a privilege which isn't usually afforded to
software of this nature - once it dies once, it generally stays dead).
The larger picture that people are losing sight of is that we're all
truly in this together and, even if we don't explicitly go out of our
way to help one another, at the very least we shouldn't be doing our
damnedest to kick the crutches out from under one another.

A good example of keeping sight of the larger picture is FreeBSD's
attitude towards its Linux emulation. It's not only very important to
us that FreeBSD continues to run Linux binaries effectively, it's also
what we suggest to those ISVs who are coming back somewhat cautiously
to this "new" Unix market and obviously want to maximize their gains
while minimizing risk. We tell them to port to Linux and not FreeBSD,
even though we'd certainly love to have native binaries for anything
and everything, and, by telling them to port to Linux first (or at
all), we are giving them the best advice on how to get access to the
widest possible segment of the free software market, one which
includes but is not limited to us. That is the kind of "what is best
for *all* the clans?" thinking I actively try to promote and
essentially why I am taking the time out to write this editorial.

After 5 years of intermittent warfare, not just between the Linux/BSD
camps but also within the various Linux and *BSD camps themselves
(serving only to prove that *any* clan can and will fight another,
even when they're all related :-), it's also not going to be one giant
hug fest from now on just because people like me stand up and say that
everyone really ought to get along - life's not that simple. What we
can do, however, is to continue to *strongly* promote any and all ties
between the various free software groups and also actively encourage
users to familiarize themselves with each and every one of the various
types of free software out there, whether they're currently "pledged"
to a given cause or not. Not only will this experience help to
shatter some of the walls of mistrust and general acrimony between the
various clans, but it can also benefit those who are firmly convinced
that they wish to stick with a certain one.

Say, for example, that someone fairly prominent in the Linux community
popped up and told various users that they might want to give FreeBSD
a whirl as well sometime, just to check out what it has to offer
lately. Those users would then likely as not came back with a set of
things they liked and didn't like about the experience, the things
they like serving as rich idea fodder for anyone in the Linux camp
wishing to do similar things. Believe me, every time a new release of
Linux comes out I do install it on a test box here and check it out -
I'm not proud (nor stupid :) and am more than happy to adopt any
feature or concept which looks like a good idea if I've got the time
to do it.

Finally, various organizations are also recognizing the danger signs
again and, thankfully, beginning to do something about them. The
USENIX organization, long a standard bearer
for all Unix-related evangelical activities, launched the "FREENIX"
track at this year's USENIX Annual Technical Conference in New
Orleans, a special track devoted to free software of all types. The
over 1400 attendees of this conference rated FREENIX as one of the top
attractions for them and next year's conference (in Monterey, CA) will
feature an even more ambitious FREENIX track (if I have anything to
say about it, anyway).

The Call For Papers (CFP) will be going out shortly for this event and
ALL of you in the free software world, be you aligned with Linux, GNU,
FreeBSD, OpenBSD, NetBSD, Samba or whomever, are more than encouraged
to present a paper at this conference or simply show up as attendees.
If you want more information on this, simply send me email and I'll be
happy to send you a description of the event (which I'm also chairing
next year). Events like this provide a very valuable once-a-year
opportunity to learn that the other free software folks don't bite
(much) and catch up on the details of what they're up to. More
importantly, meeting face to face is almost always a much better way
of building bridges since potentially sensitive topics can be
discussed without someone going ballistic at a mis-parsed phrase or an
attempted joke which fell flat, and you'd be amazed at how conflicts
which have burned for months can be suddenly and easily resolved with
one short 30 minute talk over a cup of coffee.

Above all, whether you can attend events like FREENIX or not (and
heck, if it's too far away, why not create your own?), please do your
very best to keep an open mind when it comes to ALL the free software
out there today and remember that, like the Red Cross, we're all in
this together in the service of a very good cause - the last thing we
need is dissension and discord to tear us apart and ultimately,
(again) lead to our stealing defeat from the jaws of victory.

Recent comments

Thanks! Now lets get together everyone, everywhere!
Thank you Jordan for a most excellent essay! Your analogies are colourful and spot on! I do hope everyone who takes the time to read your words will try in some way to heed your sage advice.

On the topic of face to face meetings, I would like to encourage all those with time and means to attend every conference, symposia, meeting and talk that they can, regardless of its size. Local meetings (especially those more agnostic ones, such as the Unix Unanimous meetings that have been held monthly in Toronto since those days of the GUI wars) can be just as enligtening as the larger annual gatherings such as those held by Usenix and similar organizations. My own favourite conference of recent years (due to cost and locality) is the BSDcan conference held in Ottawa, Ontario every May. It's open to all, not just BSD developers, has proven to have a very good international contingent of attendees, and is always fun.

If there's no such meeting or conference in any given locality then perhaps someone can begin organizing one that meets the needs of their peers and colleagues. Sometimes all it takes is finding an approriate meeting space and letting everyone know that it's available. Format and further promotion will evolve as people begin to share their ideas, needs, and experience.