Date: Fri, 10 Apr 1998
This last Tuesday was the date for O'Reilly's Freeware Open Source summit and press conference. I promised a few people a trip report, and decided I might as well post it to the Python newsgroup. Warning: this is biased and may occasionally be mistaken where facts are concerned -- read at your own risk! It's also longer than I planned -- we did cover a lot...
Tim O'Reilly realized that freely available software is much more important for the Internet than most people, especially many of the higher level decision makers and their informers (e.g. the press) think. The common perception is that the Internet is mostly built on proprietary software, e.g. Solaris, Netscape, and Microsoft products. But in fact, many crucial pieces of software are in fact not proprietary: sendmail delivers 80% of all email mail, BIND (the Berkeley Internet Name Daemon) does most of the name-to-IP-address translations, Apache is the #1 web server, the most popular encryption software is PGP, the three most commonly used scripting languages are Perl, Tcl and Python, and so on.
All these great pieces of software are freely available in source form! What's going on here? Of course, we all know why this is -- this is a great software development model. But corporate America is slow to discover this. The release of the Mozilla sources by Netscape was the first hint that this may be changing -- and once this was announced, O'Reilly started to receive calls from the press about this mysterious "freeware", and realized there was an opportunity to increase the press's awareness of open source software.
The meeting had two distinct parts: first, the invited software developers discussed the merits and problems of open source software, their plans, and so on. Second, at the end of the day we held a press conference. I'll report on both events separately.
Basically, the gathered software developers talked amongst themselves from 9 till 5. It would have lasted all week if it weren't for Tim O'Reilly's talent as a moderator! Most participants were from the Bay Area; I flew in from Washington DC, and John Ousterhout (who normally also lives there) interrupted his vacation in Hawaii for a day.
We started off by a round where everyone was asked to mention their motivation and positive experiences: why did make source available, what worked well, what do you like about the process. In the end we agreed on two main reasons why the open source development model works so well. Most other reasons can be reduced to a special case of either of these.
One, from the developer's point of view, there's the advantage of *massive peer review* (also formulated as "debugging is parallellizable"). There is no other methodology for software development that yields software that is as reliable and robust as open source.
Two, from the user's point of view, the big advantage of open source flexibility. Linus Torvalds emphasized this with the following example: he is generally quite happy with Netscape's browser, but he has one wish: to disable animated GIFs, which are used almost exclusively for advertising. Without source, he couldn't do this! (Jamie Zawinski of Netscape called this "scratching itches." :-)
Other advantages of open source software development that were mentioned included low cost technology transfer, and the use of a reference implementation to help develop a standard.
As far as the initial motivation for making source available, a (surprising, to me!) large number of developers said their initial or ulterior motivation was moral/ethical: they believe that it is "the right thing to do" to make source available.
In the next round, we discussed our negative experiences -- what doesn't work, what are your biggest problems, and so on. Apart from some joke entries like "our biggest problem are stupid people", two problems were common.
One, as a package becomes more popular, the developer spends more time on helping users than on developing software. While there are ways to avoid this (e.g., don't answer email), it remains a problem -- without a support organization, you're it! This can be summarized as "you're crushed by your own success."
Two, it's often a problem to get the people who want to contribute to do so in a meaningful manner. The darkest picture was painted by John Ousterhout, who claims that a contributed patch saves him only 50% of the development time compared to writing it himself from scratch. Some agreed; others (like me) rebutted that it's a sliding scale -- yes, for the core of the package, this may be true -- but there are many peripheral items where much contributed code can be accepted "as is" -- even if it doesn't work -- since the massive peer review / debugging once it is released will eventually fix it. Linus has an extreme but clear point of view: the *interfaces* need to be designed carefully by the main developer; the implementations may be buggy. For example, Linus doesn't mind at all if there are some buggy device drivers -- that only affects a small number of people, and only until they get fixed -- while a bad design will haunt you until the end of times. (This matches my own experience, but Linus said it clearer.)
This boils down to a matter of control. It was noted that almost all systems represented have a core that's kept under (relatively) tight control by the main developer, and a well-defined and flexible extension mechanism which is used by most contributors, where control is less important.
Other problems that were mentioned included the current intellectual property laws and the way the legal system is abused to enforce them in strange ways, and unfair "badmouthing" of open source software by competitors trying to peddle proprietary solutions. Also, the distribution model (revenue model) isn't ideal -- you can't buy most freeware packages at your local neighborhood software supermarket, even in Palo Alto. (You can buy Red Hat Linux there, though!) Code bloat was also mentioned (but the Netscape boys pointed out that this is not a unique problem of open source software :-).
After lunch, we discussed what to do about the problems.
We didn't say much more about the control issues, except to note that managing a distributed development team like the contributors to the average open source package is a bit like herding cats. (The first time this came up I heard "hurting cats", which I found a bit strange -- luckily Tim or other O'Reilly people made copious notes on a flip board. :-) The best contribution (for me) came from Eric Raymond and Cygnus' John Gilmore, who noted that it's possible to train your contributors, (e.g. through style guides, coding standards etc.), and that this is actually an effective way to improve the quality of the contributions. One way to go at it is simply saving scraps of "internal documentation" as you are producing them, e.g., in response to email questions from other developers, and in a couple of years, voila, an internals manual!
The rest of the time (and also interspersed throughout the rest of the day) we discussed various business models that may make open source a sustainable activity, rather than a hobby or a questionable skunkworks activity.
It turns out that almost everyone present was involved in an attempt to commercialize their software -- and *everyone* wanted to do so without making the sources proprietary. Everybody's situation is a little different though -- sometimes because of the user base of their software, sometimes because of the competition, sometimes for legal reasons, and sometimes simply because they have different motivation.
For example, John Gilmore told us how Cygnus is successful selling GCC ports to the embedded systems industry -- a small niche market that, before Cygnus came in, was monopolized by a small number of compiler companies who'd charge a million to retarget an existing compiler to a slightly different chip.
Another success story was told by Sameer Parekh of C2Net, who are selling Stronghold, a commercial, secure version of Apache. Because of the patent situation on encryption software, there is no free encryption code that can be used for commercial purposes, so companies in need of a web server with encryption have to pay *some* vendor. Note that C2Net provides their customers with the source for their version of Apache, but only with binaries of their encryption library.
Yet another story was told by Paul Vixie of the Internet Software Consortium, a non-profit that's maintaining BIND. Some big computer vendors paid the ISC a lot of money for Paul to further develop BIND, and didn't mind that Paul would make the sources available for free to others, as long as the work got done.
There were also those for whom it was too early to declare success (or failure): Larry Wall and Linus Torvalds aren't making any money directly off selling copies of Perl and Linux. Others are though, and of course O'Reilly makes a lot of money on the Perl books -- as are other publishers. Linus has an exciting non-Linux related job at Transmeta, and has no plans to personally commercialize Linux; Larry however is working for O'Reilly and there are some plans to commercialize at least the Windows port (which is done by an outside company with some kind of license agreement from O'Reilly).
John Ousterhout has just made the jump to the commercial world for Tcl/Tk with his new company Scriptics, formed after Sun canceled its plans for producing Tcl/Tk products. John is planning on a mixture of open source and proprietary software: Tcl and Tk themselves will remain open source forever, but Scriptics plans to make money off proprietary tools like a debugger and a source analyzer. One reason to keep Tcl/Tk free is to ensure that nobody has an incentive to "fork off" an incompatible version.
Eric Allman of Senmail, Inc told a similar story -- he had first hoped to create a consortium but found all doors closed, so in order to remain in control he quit his job and formed Sendmail, Inc. with Greg Olson. He promises that a free version will remain available, but seems to aim at licensing it to the big computer vendors.
While everybody's story is different, there's one common line: everybody is working on a *sustainable* business model that produces a sufficient revenue stream to pay for developers and a support organization, without giving up the advantages of open source software. As Netscape's freeing of the Mozilla source shows, this idea is even getting some attention amongst traditional proprietary software vendors!
We spent some time discussing the terminology of choice. Tim took a straw poll. Free software or freeware got almost no positive votes the cutesy "freed software" even got many negative votes). The winner was a tie between open source software (favored by Eric Raymond) and sourceware (which has been used by Cygnus).
I've had some reservations about "open source", but I like it better than the too-cute sourceware, and I agree with the perception that freeware has a bad reputation -- and of course, much "freeware" comes without source, while the common factor of the software represented at the summit is the availability of source code.
Eric Raymond has trademarked the term "Open Source" (capitalized) and has a somewhat precise definition of what is or isn't Open Source on his web site (see below). I sometimes worry that this can become a limitation: what if I call my software Open Source, with his approval, and later I change the terms and conditions, or Eric changes his definition -- I could be sued by someone who says I have to stick to the Open Source rules. Eric believes that this won't happen, and besides says that everyone is free to use the "open source" (lowercase) without sticking to his definition. We'll see -- for now, I'm favorable to the concept, but we won't put "Open Source" on the Python web site yet. (Note that we don't use "freeware" either.)
We briefly discussed how to approach the press and possible follow-up meetings. The general conclusion seems to be that the time is ripe to try and get the message to the next level of managers in companies that are already using the products of open source software development -- the CIOs who don't even know that their developers are using Perl or Python, and only listen to their peer CIOs, the Wall Street Journal, and the expensive consulting and market analysis firms that haven't discovered open source software yet either. How we're going to do that? Clearly the press conference is a step in the right direction, and O'Reilly will be following up to the press. Eric Raymond is very active in talking to corporate people. Sarah Daniels of Scriptics has some big ideas for a joint ad campaign (we'll see...).
What I got out of it? Lots -- more clarity about why open source software works so well, and how to make it work even better, as well as motivation to try and find a revenue stream.
The press conference started around 5.30 and lasted until 7.30 or 8.00 PM. All developers sat behind a long table behind name tags, with Tim O'Reilly in the middle. There were about 20-30 reporters; the first hour we had our pictures taken about twice a second. Tim O'Reilly gave a short introduction (see URLs below) and then let the press go loose. They mostly picked the better-known names, so I didn't get to say much (of course, much attention went to the two guys from Netscape).
As predicted, it was at times difficult to divert the subject away from "how are you taking on Microsoft" or "clearly this can't work". With some journalists, you can give a perfectly clear answer to the question, and all they do is give you a blank stare and ask the same question again with slightly different words. But most of them were really trying to understand the message (and some clearly had already gotten it before they came). Once the formal part of the press conference was over, everyone stuck around and many one-on-one or two-on-two interviews were carried out.
All in all it was an interesting and useful event; see below for the first results. Of course, we'll have to see if we really change the perception of the open source software development model as a fringe freak issue...
(These predate the summit.)
(As forwarded to my by O'Reilly's PR team.)
Before the summit, Tom Abate wrote a column in the SF Chronicle, "The Brains Behind Freeware to Meet."
"Open source gurus convene"
Wednesday's San Francisco Chronicle had a full page piece by Tom Abate on the Open Source story, containing interviews with (and pictures of) Larry Wall, Linus Torvalds, Paul Vixie, and Tom Paquin. The on-line version, sans pictures.
Also, NPR ran a long piece on Linux Wednesday evening. There's a RealAudio version
Judy DeMocker's piece in Meckler's internetnews.com.
John Markoff is planning on running his piece on the summit in next Monday's New York Times.
For even more information on this topic, see webreview.
--Guido van Rossum (home page)