<html><head>
<meta HTTP-EQUIV="content-type" CONTENT="text/html; charset=UTF-8">
</head>
<body>


<title>Allchin's Demagoguery</title>

<h2><font color="#cc6600" face="Courier New, Courier, mono" size="+2">Editor's 
  Column</font></h2>
<p>22 February 2001<br>
  <br>
</p>
<h3><font face="Times New Roman, serif">Allchin's Demagoguery</font></h3>
<p
style="margin-top: 0.42cm; margin-bottom: 0.5cm; page-break-after: avoid"><font face="Times New Roman, serif">by 
  Bill Roth, <i>Guest Contributor</i></font></p>
<p>My family is not a quiet one. When we care about something, we care deeply. 
  And loudly. And with great passion. There are certain things, in both my personal 
  and professional life that get me up in arms. I have a <a
href="http://java.sun.com/features/2000/04/oreilly.html">history</a> of mounting 
  the hustings when someone does something unethical or unfair. It was in the 
  vein that I blearily posted my<a
href="//www-discuss/current/msg01855.html"> first message</a> 
  on the news that Jim Allchin thinks that Open Source Software (OSS) is a threat 
  to the American way of life.</p>

<p>But first: Let me make it clear that I am speaking as <a
href="http://www.geocities.com/wgroth2/sunresume.html">Bill Roth</a>, Computer 
  Scientist, and someone who has been involved with GPL software for 10 years. 
  I am not speaking for Sun in any way.</p>

<p>Back to the main point. In a C-Net <a
href="http://news.cnet.com/news/0-1003-200-4833927.html?tag=st.cn.1.lthd">article</a>,
Jim Allchin of Microsoft is quoted as saying, ''Open source is an
intellectual-property destroyer,'' Allchin said. ''I can't
imagine something that could be worse than this for the software
business and the intellectual-property business.'' </p>

<p>He goes on to include a thinly veiled threat, namely that Microsoft
will begin lobbying against open source software. ''I'm an
American, I believe in the American Way,'' he said. ''I worry if
the government encourages open source, and I don't think we've
done enough education of policy makers to understand the threat.''
</p>

<p>What unmitigated demagoguery.</p>

<p>I find this hypocritical in the extreme. Here is a company that pleaded to 
  any one that would listen that its--allegedly failed--competitors were using 
  the courts to do what they could not in the marketplace. Then then the tables 
  turn. A technology arises that is a clear and present danger to its way of doing 
  things, namely the open source movement. What does Microsoft do? Lean on the 
  courts and the legislative process.</p>

<p>While Microsoft has done some <a
href="http://www.zdnet.com/eweek/stories/general/0,11011,2687872,00.html">backpedaling</a> 
  in the press, it is clear that they intend to make this a public policy issue. 
  We can not let this go unanswered. I urge you all to pay close attention to 
  this issue in the coming weeks and be ready to support pro-OSS legislators. 
  (Part of the problem is that we will have to figure out who they are first.)</p>

<p>The core of the issue is that OSS does in fact threaten the
traditional understanding of intellectual property. But it does
so in an indirect way, rather than a direct one. Open source
software is software that is created in such a way as to allow
the distribution of the software AND its source code for free.
There is also relatively little restriction on the redistribution
of the source code .</p>

<p>OSS is not, as Allchin says, an IP destroyer. In fact, people who contribute 
  to open source projects like Sun's OpenOffice.org freely yield their IP and 
  their copyrights to the project. This is the key point. OSS is a different expression 
  of IP. As <a
href="//www-discuss/current/msg01891.html">Frank Hecker</a> 
  has pointed out, what Allchin tries to do is to tie a legitimate activity, like 
  OSS, to an illegitimate one like Napster, whose issues with copyright law are 
  well known. Scurrilous in the extreme.</p>

<p>While Microsoft's arguments are outrageous, their position on open
source is not. In fact, it makes sense, given their position. OSS
represents the work of thousands of people building meaningful
software and giving it away for free. In effect, it represents
tremendous downward pricing pressure that could have catastrophic
effects on their business. </p>

<p>This is why OSS is dangerous. It is not dangerous because it
threatens IP. It is dangerous because it threatens the revenue
stream that Microsoft and other companies get from their production of
IP.</p>

<p>This is a distinctly old world way of looking at things. In general, OSS is 
  not an inhibitor to a revenue stream, but something that can enhance it. It 
  is, under the right conditions, a good business strategy. This is why Sun and 
  other companies are jumping to use it wholeheartedly.</p>

<p>My father would look at what we're doing in OpenOffice.org as sheer lunacy 
  and one aparatchik short of communism. We're giving away valuable work output 
  for free. And on this topic, as many others, I'm sure we would have a very lively 
  (and loud) argument. But that's just how life is in our family.</p>
<p><i>[Comments? Please direct them to OpenOffice.org's <a href="//mail_list.html">discuss 
  mailing list</a> -Editor]</i></p>
</body>
</html>

