<html><head>
<meta HTTP-EQUIV="content-type" CONTENT="text/html; charset=UTF-8">
</head>
<body>
<h2>Community  Articles: Opinions, Interviews, Analyses</h2>
<p><a href="../lspintro.html" target="_blank">-Louis Su&aacute;rez-Potts</a></p>
<p>3 September 2001</p>

<br>
<h3>The State of Open Source</h3>
<br>


<h4>OpenOffice.org at LinuxWorld Expo 2001 (San Francisco)</h4>

<p><a href="http://linuxworldexpo.com/index2.shtml" target="_blank">LinuxWorld Expo</a> this year was far more sparsely attended than previously--no surprise. However, the <a href="http://news.cnet.com/news/0-1003-200-7018328.html" target="_blank">OpenOffice.org exhibit</a> proved immensely popular. As <a href="//servlets/ReadMsg?msgId=113355&amp;listName=discuss" target="_blank">Josh Berkus</a> and <a href="//servlets/ReadMsg?msgId=113322&amp;listName=discuss" target="_blank">Michael Dean </a>have already reported, the OpenOffice.org exhibit was a smashing success. In fact, from what I could tell, it was easily one of the most popular exhibits on the floor, and one of the few to draw a constant crowd. Hats off to Zaheda Bhorat and Max Lanfranconi, who tirelessly manned the booth and gave brilliant demonstrations. </p>
<br>
<h4>Panel: Complacency and Concern</h4>
<p>The panel titled, "<a href="http://news.cnet.com/news/0-1003-200-7008296.html?tag=mn_hd" target="_blank">The State of Open Source</a>" proved interesting for reasons I didn't quite anticipate. The often-animated conversation between panel members Linus Torvalds (Linux, Transmeta), Brian Behlendorf (<a href="http://www.apache.org/" target="_blank">Apache</a>, <a href="http://www.collab.net" target="_blank">CollabNet</a>), Larry Augustin (<a href="http://www.valinux.com/" target="_blank">VA Linux</a>; moderator), Jeremy Allison (<a href="http://www.samba.org/" target="_blank">Samba</a>), and Dirk Hohndel (<a href="http://www.suse.com/index_us.html" target="_blank">SuSe</a>) suggested that Open Source had reached a new level, sometimes of absurdity, and that there were dangers ahead it would be foolish to ignore.</p>

<p>I was fortunate to be there. The hall--a giant basement room in San Francisco's exuberantly postmodern <a href="http://www.marriott.com/epp/default.asp?MarshaCode=SFODT" target="_blank">Marriott Hotel</a>--was packed, with several rows of people standing in the back and in the rear aisles. To add to the theatrics, two giant screens, on either side of the proscenium, showed the panelists, and we could all clearly see the shine of sweat as the cameras came in close. </p>

<p>There was no need to sweat: the panel was before an adoring crowd. When Linus walked in, for example, everyone erupted in applause (which he accepted good naturedly) and Larry Augustin tried to make the discussion friendly and supportive of Open Source.</p>

<p>Which is when the whole panel seemed to me to enter a surreal landscape. Hadn't VA Linux, which Larry runs, just issued its latest <a href="http://linuxtoday.com/news_story.php3?ltsn=2001-08-25-011-20-PR-BZ-CY" target="_blank">gloom report, in which it stated that parts of it were going proprietary</a>? And hasn't the whole IT world and the optimistically titled "New Economy" been undergoing such <a href="http://www.nytimes.com/2001/09/03/business/03ECON.html" target="_blank">painful contractions</a> as to make us all think the game might be over, or at the very least, <i>the same old</i>? Yet none of this was mentioned. I sat there bemused, surrounded by hundreds of the faithful, and thought of a programmer friend I had just encountered who had been laid off and, two months later, had still not found a job.</p> 

<p>
Perhaps there was a reason for the odd silence on the issue of the economy. Perhaps Larry just thinks that a laid-off programmer is a resource suddenly possessed of a wealth of time for doing Open Source work?</p>

<p>Be that as it may, this strategy of see-no-bad sat well with Linus, who was perfectly happy with making ludicrously optimistic blandishments about how Open Source had nothing to worry about and how it would vanquish everything; in fact, he even offered the odd opinion that Uncle Sam (the US government) would protect us all from the depredations of monopolies like Microsoft, if for no other reason than because the U. S. government would not allow Microsoft to step on its turf.</p>

<p>Jeremy Allison agreed with Linus, that Open Source had nothing to worry about, and was equally charming and vague about what Open Source was, if not what it meant.  (It means good.)  But both Dirk Hohndel and Brian Behlendorf saw Open Source in a decidedly more vulnerable position, and both argued that Open Source is not necessarily the end-all and be-all that Linus and Jeremy want it to be.  The differences were philosophic and practical.</p>

<p>
On the one hand, Linus and Jeremy see the success of Open Source as predicated on personal decisions. Open Source will win out, in the end, because users will prefer to use it. This picture of a pure, laissez-faire meritocracy unaffected by monopolistic realities or by the determinations of intellectual property did not impress Brian and Dirk. Importantly, however, the panelists did agree on the need for a disciplinary mechanism within Open Source that would preserve it.  But it was left unclear whether such a device, such as the GPL, was enough in itself. And it was also unclear just how desirable a world in which all intellectual property was governed by Open Source licenses was, with Brian and Dirk both expressing the advantages of having <i>some</i> proprietary licenses.</p>

<p>But much of the discussion centered on a topic Brian raised early on: The specter of Microsoft.  He stated that Microsoft not the Linux kernel or Linux applications changed the nature of Open Source in the last year, by launching its infamous (and distracting) attack on Open Source and simultaneously (and insidiously) working to centralize systems via .NET and its Passport service.  As Brian saw it, Open Source should not, cannot, sit plumply on its laurels: it must continue the good fight, with renewed vigor, else Microsoft will accomplish a quiet coup, in which the open Internet becomes closed. </p>

<p>Although Brian was partly successful in getting the other panelists to discuss something important, both Jeremy and Linus essentially dismissed Microsoft as somehow having already lost the war, not just the battle. Their reasoning went something like this: Linux is now easy to use, there are many fine products out there geared to end-users and not geeks, so why should anyone want to use costly products from the Beast of Redmond? Microsoft, in this reading, is <i>so</i> yesterday.</p>

<p>Complacency is not an option. Linus and Jeremy could smugly, casually, express the greatest confidence that Open Source would win, because people need only say, NO to Microsoft, but they are wrong. Alternatives to Microsoft may exist but Microsoft is not only a maker of desktop products. Indeed, as Brian emphasized, its Internet activities are in fact far more insidious and potentially more disruptive of Open Source than, say, Microsoft Office.</p>

<p>Centralization and proprietary control are where the danger lies, and that is what Microsoft is all about.  Microsoft is not about to relent and cease its monopolistic behavior. It will go forward with .Net, with Passport, and with other such efforts. Without too much imagination, the effect of such moves might very well be the establishment of a  world in which we must pay a toll coming and going for the privilege of using what was once free for all. </p>

<p>For instance, the Internet is so easily and cheaply accessible (for U.S. residents, anyway) and the site of amazing innovation because it is predicated on open protocols and upon the fact that just about anyone can access most pages for free. No one proprietary file format dominates, forcing a charge on viewing Web pages. But if a monopoly power were to control not just file formats but also user profiles, the Internet, as a free space, available to all, might very well cease to exist. (A selected list of open vs. proprietary Internet protocols is available on this <a href="http://www.camworld.com/misc/oss_software.html" target="_blank">document</a>.)</p>


<p>&nbsp;
<p><a href="index.html">Previous articles</a>
</body>
</html>

