<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>News 2003-07: July</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<h2>News 2003-07: July</h2>
<p>2003-08-19</p>
<p>The following articles represent a selection of those pertaining to OpenOffice.org,
  Open Source, or the general IT industry that may be of interest to the community.
  If you would like to share an article with the community, please send the link
  to Louis Su&aacute;rez-Potts, Editor, at <a href="mailto:marketing@openoffice.apache.org">marketing@openoffice.apache.org</a>. </p>
<p><a href="../news.html">Back to News Index</a></p>
<hr>
<br>
<table width="100%" border="1" cellpadding="4" cellspacing="0" bordercolor="#99CCFF">
  <tr>
    <td colspan="2"  class="alt4">2003-08: July</td>
  </tr>
  <tr>
    <td rowspan="2" class="alt8"><a href="http://www.infoconomy.com/">infoconomy</a></td>
    <td  class="alt9"> <a href="http://www.infoconomy.com/pages/news-and-gossip/group83187.adp">McNealy: "Don't
        touch" Linux without legal guarantees</a> <br>
      <em>2003-07-31</em></td>
  </tr>
  <tr>
    <td  class="alt9">"Scott McNealy, the chairman, president and CEO of systems
      vendor Sun Microsystems, has dramatically warned companies of the legal
      dangers of using open source software such as the Linux operating system."</td>
  </tr>
  <!--cut here-->
  <tr>
    <td rowspan="2" class="alt8"><a href="http://www.newsfactor.com/">NewsFactor</a></td>
    <td  class="alt9"> <a href="http://www.newsfactor.com/perl/story/21994.html">Sun
        Adds Gnome Open-Source Interface to Solaris </a> <br>
      <em>2003-07-30</em></td>
  </tr>
  <tr>
    <td  class="alt9">James Maguire writes that "Leveraging the growing interest
      in open-source applications, Sun Microsystems will release its Solaris
      operating system with the Gnome desktop interface as an option." </td>
  </tr>
  <!--cut here-->
  <tr>
    <td rowspan="2" class="alt8"><a href="http://newsforge.com/">NewsForge</a></td>
    <td  class="alt9"> <a href="http://newsforge.com/newsforge/03/07/23/1745235.shtml?tid=51">Open
        Asia: Under the radar, FLOSS thrive </a> <br>
      <em>2003-07-28</em></td>
  </tr>
  <tr>
    <td  class="alt9">Frederick Noronha continues his detailed analysis of FLOSS
      in Asia.</td>
  </tr>
  <!--cut here-->
  <tr>
    <td rowspan="2" class="alt8"><a href="http://news.com.com/">c|net</a></td>
    <td  class="alt9"> <a href="http://news.com.com/2100-1013_3-5055658.html?tag=fd_top">Sun
        proposes new Web services specs </a> <br>
      <em>2003-07-27</em></td>
  </tr>
  <tr>
    <td  class="alt9">Martin LaMonica reports that, "Sun Microsystems and a handful
      of partners on Monday will announce they are seeking the approval of Web
      services specifications for coordinating electronic transactions."</td>
  </tr>
  <!--cut here-->
  <tr>
    <td rowspan="2" class="alt8"><a href="http://newsforge.com/">NewsForge</a></td>
    <td  class="alt9"> <a href="http://newsforge.com/newsforge/03/07/19/1713232.shtml?tid=4">Why
        governments should be allowed to specify Open Source software </a> <br>
      <em>2003-07-25</em></td>
  </tr>
  <tr>
    <td  class="alt9">Robin 'Roblimo' Miller argues against so-called "'free-market'
      advocates" and for the requirement that governments use open-source software
      (OSS). </td>
  </tr>
  <!--cut here-->
  <tr>
    <td rowspan="2" class="alt8"><a href="http://www.osnews.com/">OSnews</a></td>
    <td  class="alt9"> <a href="http://www.osnews.com/story.php?news_id=4108">Small
        Business Dilemma: Open Source or Proprietary Software? </a> <br>
      <em>2003-07-23</em></td>
  </tr>
  <tr>
    <td  class="alt9">Special contributor to OS news Alex Chejlyk analyses the
      lure of open-source software (OSS) for small businesses. Recommended.</td>
  </tr>
  <!--cut here-->
  <tr>
    <td rowspan="2" class="alt8"><a href="http://zdnet.com.com/">ZDNet</a></td>
    <td  class="alt9"> <a href="http://zdnet.com.com/2100-1104_2-5047543.html">Europe
        to push for open source </a> <br>
      <em>2003-07-21</em></td>
  </tr>
  <tr>
    <td  class="alt9">Matthew Broersma reports that, "The European Commission
      is placing open standards and open-source software at the centre of its
      efforts to promote interoperable e-government services with a new working
      paper introduced this month."</td>
  </tr>
  <!--cut here-->
  <tr>
    <td rowspan="2" class="alt8"><a href="http://newsforge.com/">NewsForge</a></td>
    <td  class="alt9"> <a href="http://newsforge.com/newsforge/03/07/11/2056234.shtml">Open
        Asia: Japan and Korea embrace open source </a> <br>
      <em>2003-07-21</em></td>
  </tr>
  <tr>
    <td  class="alt9">Frederick Noronha writes on recent initiatives in Japan
      and Korea regarding Open Source.</td>
  </tr>
  <!--cut here-->
  <tr>
    <td rowspan="2" class="alt8"><a href="http://news.com.com/">c|net</a></td>
    <td  class="alt9"> <a href="http://news.com.com/2100-1016_3-5047571.html?tag=fd_top">SCO
        takes aim at Linux users </a> <br>
      <em>2003-07-21</em></td>
  </tr>
  <tr>
    <td  class="alt9">In an update, Lisa M. Bowman writes that, "SCO Group, a
      company arguing that Linux infringes on its Unix intellectual property,
      said Monday it has been granted key Unix copyrights and will start a program
      to let companies running Linux avoid litigation by paying licensing fees. "</td>
  </tr>
  <!--cut here-->
  <tr>
    <td rowspan="2" class="alt8"><a href="http://searchenterpriselinux.techtarget.com/">SearchEnterpriseLinux.com</a></td>
    <td  class="alt9"> <a href="http://searchenterpriselinux.techtarget.com/originalContent/0,289142,sid39_gci915065,00.html">Making
        a pitch for OpenOffice </a> <br>
      <em>2003-07-17</em></td>
  </tr>
  <tr>
    <td  class="alt9">Solveig Haugland, SearchEnterpriseLinux.com Site Expert
      and respected OpenOffice.org contributor, provides a compelling, point-by-point
      argument for switching to OpenOffice.org. Highly recommended. </td>
  </tr>
  <!--cut here-->
  <tr>
    <td rowspan="2" class="alt8"><a href="http://zdnet.com">ZDNet</a></td>
    <td  class="alt9"> <a href="http://zdnet.com.com/2100-1107_2-1027136.html">Who's
        liable for Linux? </a> <br>
      <em>2003-07-18</em></td>
  </tr>
  <tr>
    <td  class="alt9">Columnist Charles Cooper discusses the SCO suit and some
      of its more interesting repercussions.</td>
  </tr>
  <!--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/article/03/07/16/HNjupiter_1.html?development">Jupiter:
        SMBs eye open-source as Microsoft alternative </a> <br>
      <em>2003-07-16</em></td>
  </tr>
  <tr>
    <td  class="alt9">Stacy Cowley reports that "Some price-sensitive small and
      midsize businesses (SMBs) are turning to Linux and other open-source products
      as a lower-cost alternative to Microsoft Corp.'s ubiquitous business software,
      Jupiter Research found in a recent study."</td>
  </tr>
  <!--cut here-->
  <tr>
    <td rowspan="2" class="alt8"><a href="http://www.onlamp.com/">O'Reilly ONLamp</a></td>
    <td  class="alt9"> <a href="http://www.onlamp.com/pub/a/onlamp/2003/07/14/oscon_report.html">Kapor's
        Thoughts on Desktop Linux </a> <br>
      <em>2003-07-14</em></td>
  </tr>
  <tr>
    <td  class="alt9">Daniel Steinberg interviews Mitch Kapor (<a href="http://www.osafoundation.org/">OSAF</a>, <a href="http://www.eff.org/">EFF</a>)
      on the state of Linux on the desktop. Recommended.</td>
  </tr>
  <!--cut here-->
  <tr>
    <td rowspan="2" class="alt8"><a href="http://www.onlamp.com/">O'Reilly ONLamp</a></td>
    <td  class="alt9"> <a href="http://www.onlamp.com/oscon2003/">The O'Reilly
        Open Source Convention 2003 Summary</a> <br>
      <em>2003-07</em></td>
  </tr>
  <tr>
    <td  class="alt9">The O'Reilly Open Source Convention 2003 took place in
      Portland, Oregon, USA from 07-07 to 11-07. O'Reilly has posted many useful
      links and summaries to the conference panels.</td>
  </tr>
  <!--cut here-->
  <tr>
    <td rowspan="2" class="alt8"><a href="http://newsforge.com/">NewsForge</a></td>
    <td  class="alt9"> <a href="http://newsforge.com/newsforge/03/07/14/1513220.shtml">OGo:
        No go so far </a> <br>
      <em>2003-07-14</em></td>
  </tr>
  <tr>
    <td  class="alt9">Taking a skeptical view of the claims made by the OGo project,
      which offers Exchange-like functionality for Linux users, Russell Pavlicek
      argues that OGo has a way to go before it is ready for enterprise. A useful,
      cogent article. Recommended.</td>
  </tr>
  <!--cut here-->
  <tr>
    <td rowspan="2" class="alt8"><a href="http://www.processor.com/">Processor.com</a></td>
    <td  class="alt9"> <a href="http://www.processor.com/proeditorial/article.asp?article=articles/p2528/06bp28/06bp28.asp&guid=wxhz4gw0">Open
        Source Perspective: The Significance of Open Source</a> <br>
      <em>2003-07</em></td>
  </tr>
  <tr>
    <td  class="alt9">Noted columnist Russell Pavlicek discusses open source,
      examines what it is, what it is not, what it could be. Recommended.</td>
  </tr>
  <!--cut here-->
  <tr>
    <td rowspan="2" class="alt8"><a href="http://www.usatoday.com/">USA Today</a></td>
    <td  class="alt9"> <a href="http://www.usatoday.com/tech/news/2003-07-14-linux-tech_x.htm">Linux
        took on Microsoft, and won big in Munich </a> <br>
      <em>2003-07-14</em></td>
  </tr>
  <tr>
    <td  class="alt9">Byron Acohido gives a riveting and in-depth account of
      Munich's decision to choose open-source software. Especially good examination
      of Microsoft's reaction and strategy. Recommended.</td>
  </tr>
  <!--cut here-->
  <tr>
    <td rowspan="2" class="alt8"><a href="http://springfield.news-leader.com/">News-Leader.com</a></td>
    <td  class="alt9"> <a href="http://springfield.news-leader.com/columnists/asby/0714-OpenOffice-106062.html">OpenOffice
        is great free option to Microsoft Office</a> <br>
      <em>2003-07-14</em></td>
  </tr>
  <tr>
    <td  class="alt9">In a fine and encouraging article on OpenOffice.org, columnist
      Dean Asby strongly recommends OpenOffice.org as an alternative to Microsoft
      Office.</td>
  </tr>
  <!--cut here-->
  <tr>
    <td rowspan="2" class="alt8"><a href="http://newsforge.com/">NewsForge</a></td>
    <td  class="alt9"> <a href="http://newsforge.com/article.pl?sid=03/07/10/2133217">Open
        Asia: GNU/Linux gaining visibility across the continent</a> <br>
      <em>2003-07-14</em></td>
  </tr>
  <tr>
    <td  class="alt9">Frederick Noronha provides a valuable account of the rise
      of open-source software (OSS) in Asia. Recommended.</td>
  </tr>
  <!--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/article/03/07/14/HNwalmartsuse_1.html">Walmart.com
        sells Microtel PC with SuSe Linux software </a> <br>
      <em>2003-07-14</em></td>
  </tr>
  <tr>
    <td  class="alt9">John Blau, IDG News Service, reports that visitors to Wal-Mart's
      online shop "will find a new PC on offer with a bundle of preloaded open
      source software products from SuSE Linux." The package offered by SuSe
      includes OpenOffice.org.</td>
  </tr>
  <!--cut here-->
  <tr>
    <td rowspan="2" class="alt8"><a href="http://news.com.com/">c|net</a></td>
    <td  class="alt9"> <a href="http://news.com.com/2009-1087-1024609.html">Inside
        the open-source development model </a> <br>
      <em>2003-07-13</em></td>
  </tr>
  <tr>
    <td  class="alt9">In a special to CNET News.com, "Harvard Business School
      professor Siobhan O'Mahony discusses her research on foundations formed
      around three projects: Debian, a complete non-commercial distribution of
      Linux; the GNU Object Model Environment (GNOME), which is a graphical user
      interface for Linux-based operating systems; and Apache, a public domain
      open source Web server." Recommended. </td>
  </tr>
  <!--cut here-->
  <tr>
    <td rowspan="2" class="alt8"><a href="http://newsforge.com/">NewsForge</a></td>
    <td  class="alt9"> <a href="http://newsforge.com/newsforge/03/07/10/2356241.shtml?tid=19">The
        Caribbean learns about Free and Open Software - Part Two (of Two) </a> <br>
      <em>2003-07-11</em></td>
  </tr>
  <tr>
    <td  class="alt9">Robin "Roblimo" Miller reports that "The inaugural Caribbean "Free,
      Libré and Open Source" (FLOS) Software Conference - IT WORKS!" conference
      was held here June 26 and 27. It was an impressive first effort. Several
      local Free Software advocates felt the conference, which was held behind
      tight security in the Trinidad and Tobago Central Bank building, was too
      oriented toward officialdom. But was this bad? Officialdom was certainly
      there in force -- and was listening with open ears to the Free and Open
      Source message. "</td>
  </tr>
  <!--cut here-->
  <tr>
    <td rowspan="2" class="alt8"><a href="http://www.infoworld.com/">eWeek</a></td>
    <td  class="alt9"> <a href="http://www.eweek.com/article2/0,3959,1190334,00.asp">Open-Source
        Groupware Aims at Exchange </a> <br>
      <em>2003-07-11</em></td>
  </tr>
  <tr>
    <td  class="alt9">Mark Hachman, of ExtremeTech (www.extremetech.com), provides
      an insightful account of the release of OGo: "In the spirit of the OpenOffice
      assault on Microsoft Office, a group of independent developers has begun
      an open-source groupware project intended to provide an alternative to
      Microsoft's Exchange Server. " Recommended.</td>
  </tr>
  <!--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/article/03/07/10/HNogo_1.html">New
        group releases open source groupware </a> <br>
      <em>2003-07-10</em></td>
  </tr>
  <tr>
    <td  class="alt9">Paul Krill reports that, "OpenGroupware.org (OGo) on Thursday
      announced its formation and release of groupware server software under
      an open source format. An official at OpenOffice.org, a complementary project
      for building an open source office suite, calls the OGo project a replacement
      for Microsoft Exchange."</td>
  </tr>
  <!--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/article2/0,3959,1189755,00.asp">Open
        Source on Rise in Government </a> <br>
      <em>2003-07-10</em></td>
  </tr>
  <tr>
    <td  class="alt9">Reporting from OSCON 2003, Peter Galli writes that, "The
      use of open-source software is alive and well and growing among government
      agencies, including the U.S. Census Bureau." Recommended..</td>
  </tr>
  <!--cut here-->
  <tr>
    <td rowspan="2" class="alt8"><a href="http://www.internetnews.com/">Internetnews.com</a></td>
    <td  class="alt9"> <a href="http://www.internetnews.com/dev-news/article.php/2233471">Open
        Source Takes on Exchange </a> <br>
      <em>2003-07-10</em></td>
  </tr>
  <tr>
    <td  class="alt9">Thor Olavsrud reports that "OpenOffice.org gained a sister
      organization and Microsoft gained another open source competitor Thursday
      with the coming out party for OpenGroupware.org, an open source project
      developing groupware server software which competes with Microsoft's Exchange
      Server. " Recommended.</td>
  </tr>
  <!--cut here-->
  <tr>
    <td rowspan="2" class="alt8"><a href="http://www.informationweek.com/">InformationWeek</a></td>
    <td  class="alt9"> <a href="http://www.informationweek.com/story/showArticle.jhtml?articleID=12800067">Japan
        Mulls Switch To Linux For Public Servants Data </a> <br>
      <em>2003-07-09</em></td>
  </tr>
  <tr>
    <td  class="alt9">"The government would use the open-source operating system
      to manage personnel data for the nation's 800,000 central government employees." </td>
  </tr>
<tr>
    <td rowspan="2" class="alt8"><a href="http://www.theregister.co.uk/">National
        Public Radio (USA)</a></td>
    <td  class="alt9"> <a href="http://discover.npr.org/features/feature.jhtml?wfId=1319129">Computer
        File Sharing</a> <br>
      <em>2003-07-03</em></td>
  </tr>
  <tr>
    <td  class="alt9">Dan Charles interviews Joerg Heilig, Director of Software
      Engineering for StarOffice/OpenOffice.org, and Gary Edwards, OpenOffice.org
      member on the Oasis TCO, regarding OpenOffice.org and XML. Very interesting,
      worth listening to. </td>
  </tr>
  <!--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/article/03/07/02/HNgermanopen_1.html">Update:
        High growth rates for open source in Germany </a> <br>
      <em>2003-07-02</em></td>
  </tr>
  <tr>
    <td  class="alt9">John Blau, of IDG News Service, writes that, "Germany is
      poised to see sales of open source software and services grow substantially
      over the next few years, particularly in the public sector, according to
      a new report published Tuesday. "</td>
  </tr>
  <!--cut here-->
  <tr>
    <td rowspan="2" class="alt8"><a href="http://news.yahoo.com/news?tmpl=index2&cid=738">Yahoo!
        Reuters News</a></td>
    <td  class="alt9"> <a href="http://story.news.yahoo.com/news?tmpl=story&cid=569&ncid=738&e=9&u=/nm/20030701/tc_nm/tech_microsoft_linux_dc">Microsoft
        Beats Linux in Trio of Govt. Contracts </a> <br>
      <em>2003-07-01</em></td>
  </tr>
  <tr>
    <td  class="alt9">Bernard Warner writes that "Microsoft Corp announced a
      trio of European government contract wins on Tuesday, the latest salvo
      in the growing turf battle between the software giant and vendors of the
      upstart Linux software." </td>
  </tr>
</table>
</body>
</html>
