<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>News: OpenOffice.org 1.0</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body> 
<h2>News: OpenOffice.org 1.0 and 1.0.1</h2>
<p><i>Last updated 2002-08-02</i></p>
<p>The following articles represent a selection of those pertaining to OpenOffice.org 
  1.0. If you would like to share an article with the community, please send the 
  link to <a href="mailto:dev@openoffice.apache.org">dev@openoffice.apache.org</a>. 
  This page will be updated daily. For news relating to other issues, please go 
  to our general <a href="../news.html">News</a> page.</p>
<p>We have organized the news items by date, with the earliest first; and by language. 
  Please, also check with the <a href="http://lang.openoffice.org/">Lang projects</a> 
  (Native Language Development) for the most current news, especially news in 
  <a href="http://de.openoffice.org/">Deutsch</a>, <a href="http://fr.openoffice.org/">Fran&ccedil;ais</a>, 
  <a href="http://it.openoffice.org/">Italiano</a>, <a href="http://nl.openoffice.org/">Nederlands</a>, 
  <a href="http://es.openoffice.org/index.html">Espa&ntilde;ol</a>.</p>
<p>Choose the language of your interest from the table below:<a name="top"></a></p>
<table cellpadding="2" 
					  bordercolor="#00315a" cellspacing="0" border="0">
  <tr> 
    <td width="43%" class="alt6" > <a href="#da">Danish (da)</a> </td>
  </tr>
  <tr> 
    <td class="alt7" width="43%" > <a href="#nl">Dutch (nl)</a> </td>
  </tr>
  <tr> 
    <td width="43%" class="alt6"> <a href="#en">English (en)</a> </td>
  </tr>
  <tr>
    <td class="alt7"><a href="#no">Norwegian</a></td>
  </tr>
  <tr> 
    <td width="49%" class="alt6"> <a href="#pt">Portuguese (pt)</a> </td>
  </tr>
  <tr> 
    <td width="49%" class="alt7"> <a href="#sv">Swedish (sv)</a> </td>
  </tr>
  <tr> 
    <td width="49%" class="alt6"> <a href="#tr">Turkish (tr)</a> </td>
  </tr>
</table>
<hr>


<br>

<table width="100%" border="1" cellpadding="4" cellspacing="0" bordercolor="#99CCFF">
  <tr> 
    <td colspan="2" class="alt4">2002 (English)<a name="en"></a></td>
  </tr>
  <tr> 
    <td rowspan="2" class="alt8"><a href="http://www.pcmag.com/">PC Magazine</a></td>
    <td class="alt9"> <a href="http://www.pcmag.com/article2/0,4149,427069,00.asp">OpenOffice 
      Appears Dept.</a><br>
      <i>2002-08-06</i></td>
  </tr>
  <tr> 
    <td  class="alt9"> As the much-respected columnist John C. Dvorak writes, 
      &quot;Much of the recent buzz among computer users has been around the release 
      of the all-free office suite OpenOffice.org 1.0, available for download 
      at www.openoffice.org. This open-source spin-off of Sun's StarOffice might 
      become the biggest threat yet to the Microsoft Office suite monopoly.&quot;</td>
    <!--cut here-->
  <tr> 
    <td rowspan="2" class="alt8"><a href="http://www.msnbc.com/">MSNBC</a></td>
    <td class="alt9"> <a href="http://www.msnbc.com/news/788759.asp?0dm=N14OT&cp1=1#BODY">An 
      alternative to Microsoft Office</a><br>
      <i>2002-08-01</i></td>
  </tr>
  <tr> 
    <td  class="alt9"> In a very positive article, AP journalist Matthew Fordahl 
      reviews OpenOffice.org 1.0 and finds it &quot;sleek&quot; and a real threat 
      to Microsoft Office. Worth reading. </td>
    <!--cut here-->
  <tr> 
    <td rowspan="2" class="alt8"><a href="http://www.nytimes.com/">The New York 
      Times</a><br>
      (Free registration required)</td>
    <td class="alt9"> <a href="http://www.nytimes.com/2002/06/20/technology/circuits/20STAT.html">The 
      Office Software That Roared</a><br>
      <i>2002-06-20</i></td>
  </tr>
  <tr> 
    <td  class="alt9">David Pogue, the <em>Times' </em>chief technology columnist, 
      writes a brilliant article extolling OpenOffice.org--and mentioning just 
      why it poses such a threat to Microsoft's Office. As he puts it, &quot;The 
      world waited for a contender that was so compelling, people might actually 
      consider filing for Microsoft divorce. Now there is one. It's called OpenOffice, 
      and it has a killer feature: it's free.&quot; A must read.</td>
    <!--cut here-->
  <tr> 
    <td rowspan="2" class="alt8"><a href="http://downloads-zdnet.com.com/">ZDNet 
      Downloads</a></td>
    <td class="alt9"> <a href="http://downloads-zdnet.com.com/3000-2064-10108484.html">Positive 
      Feedback on ZDNet Downloads!</a><br>
      <i>2002-06-09</i></td>
  </tr>
  <tr> 
    <td class="alt9">Project member &quot;Sal&quot; alerted us to the wave of 
      great feedback on the popular ZDNet OpenOffice.org 1.0 download.</td>
    <!--cut here-->
  <tr> 
    <td rowspan="2" class="alt8"><a href="http://www.bloomberg.com">Bloomberg.com</a></td>
    <td class="alt9"> <a href="http://quote.bloomberg.com/fgcgi.cgi?T=marketsquote99_news.ht&s=APOHfDhWUU3VuIE1p">Sun 
      Micro Targets Top Microsoft Product With Office Program</a><br>
      <i>2002-05-14</i></td>
  </tr>
  <tr> 
    <td class="alt9">Describing StarOffice as a &quot;latest attack&quot; by the 
      beleaguered company, Bloomberg writer Dan Goodin portrays Sun as deploying 
      StarOffice as infantry in a war against Microsoft.</td>
    <!--cut here-->
  <tr> 
    <td rowspan="2" class="alt8"><a href="http://www.wohl.com/issue.htm">Amy D. 
      Wohl's Opinions</a></td>
    <td class="alt9"> <a href="http://www.wohl.com/wa0219.htm">Sun&#8217;s Staroffice 
      6.0 Shines But Not Too Brightly</a> <br>
      <i>2002-05-15</i></td>
  </tr>
  <tr> 
    <td class="alt9">A generally favorable, interesting analysis that sparked 
      an informative <a href="http://www.wohl.com/issue.htm#Letters%20To%20The%20Editor:%20Mixed%20Opinions%20On%20Sun%92s%20Staroffice%20And%20Openoffice.Org">debate</a> 
      between Wohl and OpenOffice.org's Nick Richards (see above). Wohl argues 
      that OpenOffice.org is not right now a strong enough contender against Microsoft 
      Office, but &quot;for new users in cost conscious environments like education, 
      small business, and emerging markets (like China, Africa, and parts of Latin 
      America), StarOffice could represent a good, low-cost choice, trading off 
      some features and ease of use for lower cost.&quot; </td>
    <!--cut here-->
  <tr> 
    <td rowspan="2" class="alt8"><a href="http://www.nzherald.co.nz">New Zealand 
      Herald </a></td>
    <td class="alt9"> <a href="http://www.nzherald.co.nz/storydisplay.cfm?storyID=1993017&thesection=technology&thesubsection=general">Enza 
      says &quot;no&quot; to Microsoft</a><br>
      <i>2002-05-15</i></td>
  </tr>
  <tr> 
    <td class="alt9">&quot;Fruit exporter Enza is saying no to Microsoft's new 
      Software Assurance licensing scheme and is likely to dump Microsoft Office 
      for the bulk of its 500 users.&quot; Instead, Enza is following many others 
      and will consider OpenOffice.org</td>
    <!--cut here-->
  <tr> 
    <td rowspan="2" class="alt8"><a href="http://www.nzherald.co.nz">New Zealand 
      Herald </a></td>
    <td class="alt9"> <a href="http://www.nzherald.co.nz/storydisplay.cfm?storyID=1993017&thesection=technology&thesubsection=general">Enza 
      says &quot;no&quot; to Microsoft</a><br>
      <i>2002-05-15</i></td>
  </tr>
  <tr> 
    <td class="alt9">&quot;Fruit exporter Enza is saying no to Microsoft's new 
      Software Assurance licensing scheme and is likely to dump Microsoft Office 
      for the bulk of its 500 users.&quot; Instead, Enza is following many others 
      and will consider OpenOffice.org.&quot;</td>
    <!--cut here-->
  <tr> 
    <td rowspan="2" class="alt8"><a href="http://techupdate.zdnet.com/">ZDNet: 
      Tech Update</a></td>
    <td class="alt9"> <a href="http://techupdate.zdnet.com/techupdate/stories/main/0,14179,2865704,00.html">Considering 
      OpenOffice.org</a><br>
      <i>2002-05-15</i></td>
  </tr>
  <tr> 
    <td class="alt9">Writes Dan Farber: &quot;A few weeks ago I joined the free 
      software camp, replacing my trusty and mostly reliable, Microsoft Office 
      with the 1.0 release of OpenOffice.org. By free, I mean OpenOffice.org is 
      an open source, zero-cost replacement for Microsoft Office with a comparable 
      feature set. My verdict so far: OpenOffice.org rates a 7 on a scale of 10 
      from the perspective of an individual user untethered from corporate manacles.&quot; 
    </td>
    <!--cut here-->
  <tr> 
    <td rowspan="2" class="alt8"><a href="http://techupdate.zdnet.com/">ZDNet: 
      Tech Update</a></td>
    <td class="alt9"> <a href="http://techupdate.zdnet.com/techupdate/stories/main/0,14179,2865668,00.html">OpenOffice.org--the 
      people's StarOffice</a><br>
      <i>2002-05-15</i></td>
  </tr>
  <tr> 
    <td class="alt9">An excellent article by Todd&nbsp;Volz that briefly touches 
      on the history of the project, it's constituent projects and on the software 
      itself, what it does, how it differs from StarOffice 6.0, and what its promise 
      is.</td>
    <!--cut here-->
  <tr> 
    <td rowspan="2" class="alt8"><a href="http://www.idg.net.nz/">Computerworld 
      New Zealand</a></td>
    <td class="alt9"> <a href="http://www.idg.net.nz/webhome.nsf/NL/79D606D158B83740CC256BB5000AF992%0D">All 
      eyes on Linux: Microsoft absent as free OS dominates show</a><br>
      <i>2002-05-13</i></td>
  </tr>
  <tr> 
    <td class="alt9">An examination of the strong open-source realities and possiblities 
      represented in the recent Auckland, NZ, Computerworld Expo.</td>
    <!--cut here-->
  <tr> 
    <td rowspan="2" class="alt8"><a href="http://www.infoworld.com">InfoWorld</a></td>
    <td class="alt9"> <a href="http://www.infoworld.com/articles/op/xml/02/05/13/020513opsource.xml?0515weli">Opening 
      the desktop</a><br>
      <i>2002-05-13</i></td>
  </tr>
  <tr> 
    <td class="alt9">A characteristically excellent analysis of the current state 
      of Open Source, in this case, of the real possibilities of the open-source 
      desktop. </td>
    <!--cut here-->
  <tr> 
    <td rowspan="2" class="alt8"><a href="http://www.tandemnews.com">The Washington 
      Post </a> </td>
    <td "54" class="alt9"> <a href="http://www.washingtonpost.com/wp-dyn/articles/A4246-2002May11.html">The 
      Office Suite That Lets You See Past Redmond</a> <br>
      <i>2002-05-12</i></td>
  </tr>
  <tr> 
    <td class="alt9">As columnist Rob Pegoraro writes, &quot;OpenOffice.org 1.0 
      arrived, and Microsoft Office's long winning streak may finally screech 
      to a halt. OpenOffice is what many computer users have been waiting and 
      wishing for: It's free, open-source, Office-compatible and cross-platform 
      (Windows, Linux and Solaris, with a Mac OS X version in early development).&quot;</td>
    <!--cut here-->
  <tr> 
    <td rowspan="2" class="alt8"><a href="http://www.tandemnews.com">Tandem </a> 
    </td>
    <td height="54" class="alt9"> <a href="http://www.tandemnews.com/viewstory.php?storyid=1305&page=1">A 
      free alternative to Microsoft: The New OpenOffice.org 1.0 has finally been 
      released to public</a><br>
      <i>2002 05-12</i></td>
  </tr>
  <tr> 
    <td class="alt9">&quot;The good news.... After a lengthy wait, one of the 
      best alternatives to proprietary formats, Openoffice.org, is finally reaching 
      maturity. Some weeks ago, in fact, the OpenOffice.org community released 
      version 1.0 of the well-known open-source suite.&quot;</td>
    <!--cut here-->
  <tr> 
    <td rowspan="2" class="alt8"><a href="http://radio.weblogs.com">RadioWeblog</a></td>
    <td class="alt9"> <a href="http://radio.weblogs.com/0103807/stories/2002/05/09/ifIWasScottMcnealyAndHadResponsibilityForOpenOffice.htmltml">If 
      I were Scott McNealy</a> <br>
      <i>2002-05-09</i></td>
  </tr>
  <tr> 
    <td class="alt9">Trenchant comments on What Sun Should Do.</td>
    <!--cut here-->
  <tr> 
    <td rowspan="2" class="alt8"><a href="http://www.zdnet.com.com">ZDNet News</a> 
    </td>
    <td "54" class="alt9"> <a href="http://zdnet.com.com/2100-1104-902358.html">Free 
      office suite heads to the Mac</a><br>
      <i>2002-05-08</i></td>
  </tr>
  <tr> 
    <td class="alt9">Matthew Broersma (of ZDNet UK) writes, &quot;OpenOffice.org, 
      the open-source office suite project, has reached a milestone in porting 
      the software to Mac OS X with an early release for Mac developers.&quot;</td>
    <!--cut here-->
  <tr> 
    <td rowspan="2" class="alt8"><a href="http://maccentral.macworld.com/">MacCentral</a> 
    </td>
    <td height="54" class="alt9"> <a href="http://maccentral.macworld.com/news/0205/07.openoffice.php">Sun 
      releases OpenOffice to developers</a><br>
      <i>2002 05-07</i></td>
  </tr>
  <tr> 
    <td class="alt9">MacCentral was the first to report on the developer version 
      of the Mac OS X port released at Apple's 2002 WWDC.</td>
    <!--cut here-->
  <tr> 
    <td rowspan="2" class="alt8"><a href="http://www.eweek.com">eWeek</a></td>
    <td class="alt9"> <a href="http://www.eweek.com/article/0,3658,s%253D708%2526a%253D26349,00.asp">OpenOffice.org: 
      Serious Suite Alternative</a><br>
      <i>2002 05-06</i></td>
  </tr>
  <tr> 
    <td class="alt9"> &quot;...Enter OpenOffice.org 1.0, which became available 
      for download last week. OpenOffice.org--or OOo, as it has become known--is 
      a freely available, open-source office productivity suite that delivers 
      enough functionality and Office file format compatibility to make it a compelling 
      replacement for the Microsoft suite and a good option for Linux and Solaris 
      users.&quot; </td>
    <!--cut here-->
  <tr> 
    <td rowspan="2" class="alt8"><a href="http://www.linuxformat.co.uk/">LinuxFormat 
      </a></td>
    <td class="alt9"> <a href="http://www.linuxformat.co.uk/modules.php?op=modload&name=News&file=article&sid=433">OPENOFFICE.ORG 
      COMMUNITY ANNOUNCES OPENOFFICE.ORG 1.O</a><br>
      <i>2002-05-02</i></td>
  </tr>
  <tr> 
    <td class="alt9">News from the <a href="../about_us/ooo_release.html">press 
      release</a>.</td>
    <!--cut here-->
  <tr> 
    <td rowspan="2" class="alt8"><a href="http://www.eweek.com">eWeek</a></td>
    <td class="alt9"> <a href="http://www.eweek.com/article/0,3658,s=701&a=26315,00.asp">Red 
      Hat to Drop StarOffice 6</a><br>
      <i>2002-05-03</i></td>
  </tr>
  <tr> 
    <td class="alt9">Peter Galli writes that because Sun will now charge for StarOffice 
      6, RedHat will consider free alternatives--such as OpenOffice.org.</td>
    <!--cut here-->
  <tr> 
    <td rowspan="2" class="alt8"><a href="http://www.geek.com">Geek.com</a></td>
    <td class="alt9"> <a href="http://www.theregister.co.uk/content/4/25112.html">OpenOffice 
      1.0 </a><br>
      <i>2002-05-02</i></td>
  </tr>
  <tr> 
    <td class="alt9">&quot;OpenOffice has reached the 1.0 release, meaning it's 
      stable and ready for prime-time.&quot;</td>
    <!--cut here-->
  <tr> 
    <td rowspan="2" class="alt8"><a href="http://www.cnet.com">c|Net</a></td>
    <td class="alt9"> <a href="http://news.com.com/2100-1001-897986.html">Sun's 
      OpenOffice open for business</a> <br>
      <i>2002-05-02</i></td>
  </tr>
  <tr> 
    <td class="alt9">&quot;Sun Microsystems and its open-source allies have released 
      version 1.0 of OpenOffice, a free version of Sun's StarOffice desktop software 
      and a competitor to Microsoft Office.&quot;</td>
    <!--cut here-->
  <tr> 
    <td rowspan="2" class="alt8"><a href="http://www.wininformant.com/">WinInfo</a></td>
    <td class="alt9"> <a href="http://www.wininforma%0Dhttp://www.wininformant.com/Articles/Index.cfm?ArticleID=25072nt.com/Articles/Index.cfm?ArticleID=25072%0Dhttp://www.wininformant.com/Articles/Index.cfm?ArticleID=25072">Free 
      Office Suite Now Shipping</a><br>
      <i>2002-05-02</i></td>
  </tr>
  <tr> 
    <td class="alt9">&quot;The OpenOffice.org community has finally unleashed 
      the long-awaited initial release of OpenOffice.org 1.0, a full-featured, 
      free Microsoft Office alternative.&quot;</td>
    <!--cut here-->
  <tr> 
    <td rowspan="2" class="alt8"><a href="http://www.oregonlive.com/">Slashdot</a></td>
    <td class="alt9"><a href="http://slashdot.org/articles/02/05/01/1232239.shtml?tid=162">OpenOffice.org 
      Team Releases Version 1.0</a><br>
      <i>2002-05-01</i></td>
  </tr>
  <tr> 
    <td class="alt9">Slashdot congratulates OpenOffice.org and there are many, 
      many responses.</td>
    <!--cut here-->
  <tr> 
    <td rowspan="2" class="alt8"><a href="http://zdnet.com.com/">ZDNet News </a></td>
    <td class="alt9"> <a href="http://zdnet.com.com/2100-1104-897370.html">Free 
      OpenOffice picks up from StarOffice</a><br>
      <i>2002-05-02</i></td>
  </tr>
  <tr> 
    <td class="alt9">&quot;OpenOffice.org developers have put the finishing touches 
      on their productivity suite, which provides users and businesses with an 
      alternative to Microsoft's Office suite. The free OpenOffice uses the same 
      code base as the StarOffice software for which Sun Microsystems charges 
      a fee.&quot;</td>
    <!--cut here-->
  <tr> 
    <td rowspan="2" class="alt8"><a href="http://www.computerworld.com/">Computerworld</a></td>
    <td class="alt9"> <a href="http://www.computerworld.com/softwaretopics/software/appdev/story/0,10801,70703,00.html">OpenOffice.org 
      releases Version 1.0 of its free office suite</a><br>
      <i>2002-05-01</i></td>
  </tr>
  <tr> 
    <td class="alt9">&quot;After 18 months of development, Version 1.0 of the 
      open-source OpenOffice.org productivity sutie was released today for free 
      download.&quot; </td>
    <!--cut here-->
  <tr> 
    <td rowspan="2" class="alt8"><a href="http://www.bityard.com">bityard</a></td>
    <td class="alt9"> <a href="http://www.bityard.com/article.php?sid=259">OpenOffice 
      1.0 Unleashed against MS Office</a><br>
      <i>2002-05-01</i></td>
  </tr>
  <tr> 
    <td class="alt9">&quot;Amid the dominance found in the office productivity 
      sector, Sun Microsystems through it OpenOffice.org project has released 
      the first version of a community based effort to unseat Microsoft&#8217;s 
      massive stranglehold.&quot;</td>
    <!--cut here-->
  <tr> 
    <td rowspan="2" class="alt8"><a href="http://www.theregister.co.uk/">LinuxWorld.com.au</a></td>
    <td class="alt9"> <a href="http://www.linuxworld.com.au/news.php3?nid=1458&tid=1">OpenOffice 
      1.0 available for free download</a> <br>
      <i>2002-05-01</i></td>
  </tr>
  <tr> 
    <td class="alt9">Featuring commentary by OpenOffice.org's own Zaheda Bhorat 
      and Sam Hiser.</td>
    <!--cut here-->
  <tr> 
    <td rowspan="2" class="alt8"><a href="http://www.itworld.com">ITworld.com</a></td>
    <td class="alt9"> <a href="http://www.itworld.com/App/891/020501openoffice/">OpenOffice 
      1.0 available for free download</a> <br>
      <i>2002-05-01</i></td>
  </tr>
  <tr> 
    <td class="alt9">&quot;A free version of Sun Microsystems Inc.'s StarOffice 
      business productivity suite is now available for download from OpenOffice.org, 
      an open-source developer community sponsored by Sun.&quot;</td>
    <!--cut here-->
  <tr> 
    <td rowspan="2" class="alt8"><a href="http://weblog.flora.ca">Flora</a></td>
    <td class="alt9"> <a href="http://www.theregister.co.uk/content/4/25112.html">OpenOffice.org 
      Community announces OpenOffice.org 1.0: Free office productivity </a><br>
      <i>2002-05-01</i></td>
  </tr>
  <tr> 
    <td class="alt9">&quot;Global Community builds full-featured office suite 
      with revolutionary momentum.&quot;</td>
    <!--cut here-->
  <tr> 
    <td rowspan="2" class="alt8"><a href="http://www.infoworld.com">InfoWorld</a></td>
    <td class="alt9"> <a href="http://www.infoworld.com/articles/hn/xml/02/05/01/020501hnopenoffice.xml">Sun 
      offers free version of StarOffice</a><br>
      <i>2002-05-01</i></td>
  </tr>
  <tr> 
    <td height="47" class="alt9">Tom Krazit reports for IDG on the interview conducted 
      with Community Manager Zaheda Bhorat and Marketing Co-Lead Sam Hiser.</td>
    <!--cut here-->
  <tr> 
    <td width="12%" rowspan="2" class="alt8"><a href="http://www.theregister.co.uk/">The 
      Register</a></td>
    <td width="88%" class="alt9"> <a href="http://www.theregister.co.uk/content/4/25112.html">OpenOffice 
      suite goes 1.0</a><br>
      <i>2002-05-01</i></td>
  </tr>
  <tr> 
    <td class="alt9">&quot;[C]ongratulations[...,] people. We'll download it as 
      soon as we can get in.&quot; The article is interesting, and examines the 
      nuances of the nature of 1.0.&quot;</td>
    <!--cut here-->
</table>

<p><a href="#top">Back to Top</a></p>
<hr>

<br>
 
<table width="100%" border="1" cellpadding="4" cellspacing="0" bordercolor="#99CCFF">
  <tr> 
    <td colspan="2" class="alt4">2002 (Danish)<a name="da"></a></td>
  </tr>
  <tr> 
    <td rowspan="2" class="alt8"><p><a href="http://www.cw.dk/">Computerworld</a></p>
      </td>
    <td class="alt9"> <a href="http://www.cw.dk/default.asp?Mode=2&ArticleID=14549">OpenOffice: 
      Gratis tvilling til StarOffice</a><br>
      <em>2002-05-06</em></td>
  </tr>
  <tr> 
    <td class="alt9">&quot;Hvis man kan undv&aelig;re database, skabeloner og 
      clip-art, s&aring; er der ingen grund til at betale for Suns version af 
      open source-kontorsuiten. Forskellen mellem de to produkter er ganske ubetydelig 
      for langt de fleste brugere.&quot;</td>
    <!--cut here-->
  <tr> 
    <td rowspan="2" class="alt8"><a href="http://www.comon.dk">Comon</a></td>
    <td class="alt9"> <a href="http://www.comon.dk/index.php?page=news:show,id=11214">OpenOffice 
      1.0 er ude</a><br> <em>2002-05-01</em></td>
  </tr>
  <tr> 
    <td class="alt9">&quot;OpenOffice.org har udsendt version 1.0 af sin gratis 
      kontorpakke til b&aring;de Linux, Solaris og Windows. Det betyder, at vi 
      sandsynligvis snart vil se den endelige version af Suns StarOffice 6.0.&quot;</td>
    <!--cut here-->
</table>
<p><a href="#top">Back to Top</a></p>
<hr>
<br>
<table width="100%" border="1" cellpadding="4" cellspacing="0" bordercolor="#99CCFF">
  <tr> 
    <td colspan="2" class="alt4">2002 (Dutch)<a name="nl"></a></td>
  </tr>
  <tr> 
    <td rowspan="2" class="alt8"><a href="http://www.tweakers.net/">Tweakers.net</a></td>
    <td class="alt9"> <a href="http://www.tweakers.net/nieuws/21647">StarOffice 
      alternatief OpenOffice bereikt versie 1.0</a><br> <em>2002-05-01</em></td>
  </tr>
  <tr> 
    <td class="alt9">&quot;StarOffice is begonnen als een project van een klein 
      groepje programmeurs dat een goed alternatief wilde maken voor Microsoft 
      Office. Hoewel het pakket nadat het in handen van Sun kwam een tijdje gratis 
      is geweest, hangt er sinds versie 6.0 weer een prijskaartje van $100 aan. 
      Voor de mensen die niet bereid zijn om dat bedrag te betalen is er het zusje 
      van StarOffice: OpenOffice. Deze heeft pas geleden versie 1.0 bereikt. OpenOffice 
      is gebaseerd op dezelfde sourcecode als StarOffice, maar is in tegenstelling 
      tot dat pakket w&egrave;l gratis.&quot;</td>
    <!--cut here-->
  <tr> 
    <td rowspan="2" class="alt8"><a href="http://www.linuxmag.nl/">Linux Magazine 
      </a></td>
    <td class="alt9"> <a href="http://www.linuxmag.nl">OpenOffice 1.0 is 
      uit</a><br>
      <em>2002-05-01</em></td>
  </tr>
  <tr> 
    <td class="alt9">&quot;Vanaf nu kun je OpenOffice downloaden van www.openoffice.org. 
      OpenOffice is de officesuite die op dezelfde code is gebaseerd als StarOffice, 
      maar die wel volledig Open Source is, en die je dus ook vrij kunt downloaden. 
      Sun biedt wel support en wat extra features, zoals een database en speciale 
      fonts, maar ze gaan ook ongeveer honderd euro vragen voor StarOffice. Voor 
      de gewone Linux-gebruiker, die toch meer op vrijheid is gesteld dan op support, 
      is OpenOffice dus een uitkomst.&quot;</td>
    <!--cut here-->
</table>
<p><a href="#top">Back to Top</a></p>
<hr>
<br>
<table width="100%" border="1" cellpadding="4" cellspacing="0" bordercolor="#99CCFF">
  <tr> 
    <td colspan="2" class="alt4">2002 (Norwegian)<a name="no"></a></td>
  </tr>
  <tr> 
    <td rowspan="2" class="alt8"><a href="http://www.digi.no/">digi.no</a></td>
    <td class="alt9"> <a href="http://www.digi.no/dtno.nsf/pub/dd20020503145704_ero_66573586">OpenOffice 
      1.0 klar til nedlasting</a><br>
      <em>2002-05-01</em> </td>
  </tr>
  <tr> 
    <td class="alt9">&quot;Den nye gratis kontorsuiten for Windows og Linux, OpenOffice 
      1.0, er klar til nedlasting. Det arbeides med en norsk utgave.&quot;</td>
    <!--cut here-->
</table>
<p><a href="#top">Back to Top</a></p>
<hr>
<br>
<table width="100%" border="1" cellpadding="4" cellspacing="0" bordercolor="#99CCFF">
  <tr> 
    <td colspan="2" class="alt4"><p>2002 (Portuguese-Brazil)<a name="pt"></a></p></td>
  </tr>
  <tr> 
    <td rowspan="2" class="alt8"><p><a href="http://www.tchelinux.com.br/">Tch&ecirc;Linux</a>,</p>
      <p><a href="http://www.revistadolinux.com.br/">Revista do Linux</a></p></td>
    <td class="alt9"> <a href="http://www.tchelinux.com.br/">Lan&ccedil;ado a 
      vers&atilde;o 1.0 do OpenOffice!</a> <br> <em>2002-05-02</em></td>
  </tr>
  <tr> 
    <td class="alt9">&quot;A equipe do projeto OpenOffice orgulhosamente anuncia 
      o lan&ccedil;amento do OpenOfice 1.0, sua su&iacute;te de aplicativos Office 
      baseada no c&oacute;digo fonte do StarOffice, e que &eacute; a base para 
      o StarOffice 6.&quot;</td>
    <!--cut here-->
  <tr> 
    <td rowspan="2" class="alt8"><a href="http://www.terra.com.br/">Terra Informatica</a></td>
    <td class="alt9"> <a href="http://www.terra.com.br/informatica/analises/openoffice.htm">OpenOffice 
      1.0</a> <br> <em>2002-05-02</em></td>
  </tr>
  <tr> 
    <td class="alt9">&quot;Para quem n&atilde;o acompanhou o processo, vale a 
      informa&ccedil;&atilde;o: h&aacute; pouco mais de um ano e meio, a Sun Microsystems 
      resolveu abrir o c&oacute;digo fonte do StarOffice, o seu pacote de aplicativos 
      para escrit&oacute;rio que anda no encal&ccedil;o do Microsoft Office. Surgia 
      ali o OpenOffice, projeto de software livre onde a comunidade poderia contribuir 
      para a evolu&ccedil;&atilde;o do StarOffice, &agrave; semelhan&ccedil;a 
      do que ocorre com outros programas, incluindo o sistema operacional Linux. 
      &quot;</td>
    <!--cut here-->
</table>
<p><a href="#top">Back to Top</a></p>
<hr>
<br>
<table width="100%" border="1" cellpadding="4" cellspacing="0" bordercolor="#99CCFF">
  <tr> 
    <td colspan="2" class="alt4"><p>2002 (Swedish)<a name="sv"></a></p></td>
  </tr>
  <tr> 
    <td rowspan="2" class="alt8"><a href="http://www.allamedia.com">Allamedia.com</a></td>
    <td class="alt9"> <a href="http://www.allamedia.com/pcit/artikel_192.shtml">Gratis: 
      OpenOffice.org klarar det mesta!</a> <br> <em>2002-05-02</em></td>
  </tr>
  <tr> 
    <td class="alt9">&quot;I paketet ing&aring;r bra program f&ouml;r ordbehandling, 
      kalkyl, presentation och grafik.&quot;</td>
    <!--cut here-->
</table>
<p><a href="#top">Back to Top</a></p>
<hr>
<br>
<table width="100%" border="1" cellpadding="4" cellspacing="0" bordercolor="#99CCFF">
  <tr> 
    <td colspan="2" class="alt4">2002 (Turkish)<a name="tr"></a></td>
  </tr>
  <tr> 
    <td rowspan="2" class="alt8"><a href="http://www.bilisimcumhuriyeti.com/">Bilisim 
      Cumhuriyeti</a></td>
    <td class="alt9"> <a href="http://www.bilisimcumhuriyeti.com/?islem=hg&id=1390">MS 
      Office'e dis&cedil;li rakip</a><br>
      <em>2002-05-01</em></td>
  </tr>
  <tr> 
    <td class="alt9">&quot;OpenOffice.org grubu 18 ayl∂k &ccedil;abas∂n∂n sonucunu 
      ald∂. A&ccedil;&#8225;k kaynak kodlu ofis yaz&#8225;l&#8225;m&#8225; OpenOffice.org 
      1.0 art∂k indirilmeye haz∂r.&quot;</td>
    <!--cut here-->
  <tr> 
    <td rowspan="2" class="alt8"><a href="http://www.bilisimcumhuriyeti.com/">Bilisim 
      Cumhuriyeti</a></td>
    <td class="alt9"> <a href="http://turk.internet.com/haber/yazigoster.php3?yaziid=4352">OpenOffice.org 
      Grubu OpenOffice 1.0'∂ Duyurdu</a><br>
      <em>2002-05-02</em></td>
  </tr>
  <tr> 
    <td class="alt9">&quot;D&uuml;nya &ccedil;ap∂ndaki yaz∂l∂m gelis&cedil;tiricileri 
      devrim niteligˆinde bir program∂ sunuyorlar. OpenOffice.org grubu (www.openoffice.org) 
      bug&uuml;n a&ccedil;∂k kaynak kodlu ofis yaz∂l∂m∂ olan OpenOffice.org 1.0'∂ 
      duyuruyor.&quot;</td>
    <!--cut here-->
  <tr> 
    <td rowspan="2" class="alt8"><a href="http://www.bilisimcumhuriyeti.com/">Bilisim 
      Cumhuriyeti</a></td>
    <td class="alt9"> <a href="http://www.bilisimcumhuriyeti.com/?islem=hg&id=1390">MS 
      Office'e dis&cedil;li rakip</a><br>
      <em>2002-05-01</em></td>
  </tr>
  <tr> 
    <td class="alt9">&quot;OpenOffice.org grubu 18 ayl∂k &ccedil;abas∂n∂n sonucunu 
      ald∂. A&ccedil;&#8225;k kaynak kodlu ofis yaz&#8225;l&#8225;m&#8225; OpenOffice.org 
      1.0 art∂k indirilmeye haz∂r.&quot;</td>
    <!--cut here-->
</table>
<p><a href="#top">Back to Top</a></p>
<hr>
</body>
</html>
