<html><head>
<meta HTTP-EQUIV="content-type" CONTENT="text/html; charset=UTF-8">
</head>
<body>
<h2>News 2003-08: August</h2>
<p>2003-09-04</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: August</td>
  </tr>
  
  
  <tr>
    <td rowspan="2" class="alt8"><a href="http://newsforge.com/">NewsForge</a></td>
    <td  class="alt9"> <a href="http://newsforge.com/newsforge/03/08/27/132243.shtml?tid=3">Why offshore IT outsourcing can't be stopped </a><br>
      <em>2003-08-29</em></td>
  </tr>
  <tr>
    <td  class="alt9">Robin Miller of NewsForge writes on the outsourcing trend.  An interesting if personal take on the issue.</td>
  </tr>
  <!--cut here-->
 <tr>
    <td rowspan="2" class="alt8"><a href="http://www.economist.com/">Economist.com</a></td>
    <td  class="alt9"> <a href="http://www.economist.com/business/displayStory.cfm?story_id=2020889">Of monkeys and penguins </a><br>
      <em>2003-08-28</em></td>
  </tr>
  <tr>
    <td  class="alt9">An interesting and clear description of the SCO/Linux debate.   Worth reading.</td>
  </tr>
  <!--cut here--> 
   <tr>
    <td rowspan="2" class="alt8"><a href="http://asia.cnet.com/">CNETAsia</a></td>
    <td  class="alt9"> <a href="http://asia.cnet.com/newstech/applications/0,39001094,39148245,00.htm">Open source has "strategic role": M'sia</a> <br>
      <em>2003-08-28</em></td>
  </tr>
  <tr>
    <td  class="alt9">Ricardo Cesar reports on the initiatives in Brazil to move to using OSS.</td>
  </tr>
  <!--cut here-->
  
  <tr>
    <td rowspan="2" class="alt8"><a href="http://www.linuxworld.com.au/">LinuxWorld Australia</a></td>
    <td  class="alt9"> <a href="http://www.linuxworld.com.au/index.php?id=2026492001&fp=2&fpid=1">Brazilian parliament to adopt free software </a> <br>
      <em>2003-08-28</em></td>
  </tr>
  <tr>
    <td  class="alt9">"The Malaysian government has reaffirmed its support for the use and development of open-source software, saying that it has a 'strategic role'."</td>
  </tr>
  <!--cut here-->
   <tr>
    <td rowspan="2" class="alt8"><a href="http://www.business-standard.com/">Business Standard</a></td>
    <td  class="alt9"> <a href="http://www.business-standard.com/today/story.asp?Menu=26&story=21595">Should the government adopt open-source technology?</a><br>
      <em>2003-08-27</em></td>
  </tr>
  <tr>
    <td  class="alt9">Javed Tapia, Director (India) for Red Hat, weighs in on the debate, "Should the government adopt open-source technology?" Worth reading.</td>
  </tr>
  <!--cut here-->
  
  <!--cut here-->
   <tr>
    <td rowspan="2" class="alt8"><a href="http://dot.kde.org/1061919133/">KDE.News</a></td>
    <td  class="alt9"> <a href="http://dot.kde.org/1061919133/">Kastle 2003: KOffice Developers' Meeting Report </a><br>
      <em>2003-08-26</em></td>
  </tr>
  <tr>
    <td  class="alt9">In which KOffice decides to switch to the <a href="http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=office" target="_blank">OASIS</a> file format used by 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/2100-1012_3-5068007.html?tag=fd_top">Patent
        battle to culminate in Brussels </a> <br>
      <em>2003-08-26</em></td>
  </tr>
  <tr>
    <td  class="alt9">Matthew Broersma reports on the planned Web demonstration
      scheduled "to coincide with a real-life protest in Brussels, Belgium, on
      Wednesday." Among those participating are many of OpenOffice.org's <a href="http://native-lang.openoffice.org/">Native-Lang
      Projects</a>.</td>
  </tr>
  <!--cut here-->
  <tr>
    <td rowspan="2" class="alt8"><a href="http://www.theregister.co.uk/">The
        Register</a></td>
    <td  class="alt9"> <a href="http://www.theregister.co.uk/content/4/32483.html">Mac
        OpenOffice 'delay' debunked </a> <br>
      <em>2003-08-26</em></td>
  </tr>
  <tr>
    <td  class="alt9">Andrew Orlowski interviews Dan Williams, one of the primary
      developers of the Mac OS X (X11) port of OpenOffice.org to get the real
      story on what the putative "delay." Worth reading. (If you can help with
      the Mac port, <a href="mailto:dev@porting.openoffice.org">contact us</a>.)</td>
  </tr>
  
  <tr>
    <td rowspan="2" class="alt8"><a href="http://www.theregister.co.uk/">The Register</a></td>
    <td  class="alt9"> <a href="http://www.theregister.co.uk/content/7/32466.html">IT jobs under threat from WTO deal </a> <br>
      <em>2003-08-22</em></td>
  </tr>
  <tr>
    <td  class="alt9">Tim Richardson reports that, "The Professional Contractors Group (PCG) has urged IT contractors "not to panic" amid concerns that World Trade Organisation (WTO) negotiations to be held next month could result in the opening-up of the UK's employment market to cheaper overseas workers." Worth reading.</td>
  </tr>
  <!--cut here-->
  
  
  
  <!--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/22138.html">And
        Now, Mad Hatter Linux </a> <br>
      <em>2003-08-21</em></td>
  </tr>
  <tr>
    <td  class="alt9">James Maguire analyzes Sun's new endeavor, Mad Hatter.
      Curious about what it is? "In September, Sun will launch Mad Hatter, its
      Linux desktop suite designed to use low price and easy configurability
      to penetrate the desktop market." Worth reading.</td>
  </tr>
  <!--cut here-->
  <tr>
    <td rowspan="2" class="alt8"><a href="http://www.washingtonpost.com/">The
        Washington Post</a></td>
    <td  class="alt9"> <a href="http://www.washingtonpost.com/wp-dyn/articles/A23422-2003Aug20.html">The
        Quiet War Over Open-Source </a> <br>
      <em>2003-08-21</em></td>
  </tr>
  <tr>
    <td  class="alt9">Jonathan Kim writes an interesting article for those new
      to Open Source on the battles engaging the movement. Worth reading</td>
  </tr>
  <!--cut here-->
  <tr>
    <td rowspan="2" class="alt8"><a href="http://www.theregister.co.uk/">The
        Register</a></td>
    <td  class="alt9"> <a href="http://www.theregister.co.uk/content/4/32436.html">Long
        wait for Mac OS X OpenOffice </a> <br>
      <em>2003-08-20</em></td>
  </tr>
  <tr>
    <td  class="alt9">Andrew Orlowski reports on the stated delay in producing
      an Aqua-native version of OpenOffice.org. Worth reading.</td>
  </tr>
  <!--cut here-->
  <tr>
    <td rowspan="2" class="alt8"><a href="http://www.alwayson-network.com/">AlwaysOn</a></td>
    <td  class="alt9"> <a href="http://www.alwayson-network.com/comments.php?id=827_0_1_0_C">Jonathan
        Schwartz is Howling </a> <br>
      <em>2003-08-20</em></td>
  </tr>
  <tr>
    <td  class="alt9">A vigorous article by EVP of Software at Sun Jonathan Schwartz
      on the practical liabilities of using Microsoft software, the point being
      that just as in ecology, a monoculture suffers when presented with a parasite,
      in this case, the various worms and virii besetting MS software.</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/2008-1082_3-5065859.html?tag=fd_lede2_hed">Rockin'
        on without Microsoft</a> <br>
      <em>2003-08-20</em></td>
  </tr>
  <tr>
    <td  class="alt9">In an interesting article, David Becker examines how Ernie
      Ball, Sterling Ball's music company, has thrived since junking proprietary
      software and using Open Source versions, including OpenOffice.org. Worth
      reading.</td>
  </tr>
  <!--cut here-->
  <tr>
    <td rowspan="2" class="alt8"><a href="http://linuxtoday.com/">LinuxToday</a></td>
    <td  class="alt9"> <a href="http://linuxtoday.com/news_story.php3?ltsn=2003-08-20-021-26-NW-LL-PB">Oregon
        Open Source Bill Pushes Forward </a> <br>
      <em>2003-08-20</em></td>
  </tr>
  <tr>
    <td  class="alt9">Brian Proffitt, Managing Editor, writes on the state of
      Oregon Open Source bill. "According to Cooper Stevenson, coordinator of
      the Mid-Willamette Valley LUG and staunch supporter of the bill, the legislation
      will be heard in a public Senate committee hearing on Thursday, August
      21." Stay tuned.</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/08/14/1644210.shtml?tid=11">Open
        Asia: Variety of distros energize the continent</a> <br>
      <em>2003-08-18</em></td>
  </tr>
  <tr>
    <td  class="alt9">In the latest of his series on Open Source in Asia, Frederick
      Noronha discusses the variety of distributors in the region.</td>
  </tr>
  <!--cut here-->
  <tr>
    <td rowspan="2" class="alt8"><a href="http://www.fsf.org/">FSF</a></td>
    <td  class="alt9"> <a href="http://www.fsf.org/philosophy/sco/sco-preemption.html">SCO
        Scuttles Sense, Claiming GPL Invalidity </a> <br>
      <em>2003-08-18</em></td>
  </tr>
  <tr>
    <td  class="alt9">Eben Moglen, one of the leading legal minds on Open Source,
      weighs in with his views on the SCO issue. Worth reading.</td>
  </tr>
  <tr>
    <td rowspan="2" class="alt8"><a href="http://www.zdnet.com.au/">ZDNet Australia</a></td>
    <td  class="alt9"> <a href="http://www.zdnet.com.au/newstech/os/story/0,2000048630,20277354,00.htm">China
        blocks foreign software use in gov't. </a> <br>
      <em>2003-08-18</em></td>
  </tr>
  <tr>
    <td  class="alt9">The staff of ZDNET AU report that, "A new policy by China's
      governing body the State Council will rule that all ministries have to
      buy only locally-produced software at the next upgrade cycle."</td>
  </tr>
  <!--cut here-->
  <tr>
    <td rowspan="2" class="alt8"><a href="http://www.brazzil.com/">Brazzil</a></td>
    <td  class="alt9"> <a href="http://www.brazzil.com/2003/html/news/articles/aug03/p139aug03.htm">Brazil:
        Microsoft, Go Home </a> <br>
      <em>2003-08</em></td>
  </tr>
  <tr>
    <td  class="alt9">"Brazil believes that free software is an excellent tool
      for the democratization of knowledge, foreign currency savings, and the
      optimization of institutional investments and costs. The model also offers
      perspectives for Brazilian industries to research, create, and develop
      new free software programs." For information on OpenOffice.org in Brazil,
      see our <a href="/project/br/">BR</a> project.</td>
  </tr>
  <!--cut here-->
  <tr>
    <td rowspan="2" class="alt8"><a href="http://www.ofb.biz/">Open For Business</a></td>
    <td  class="alt9"> <a href="http://www.ofb.biz/modules.php?name=News&file=article&sid=260">GNU
        Questions: RMS on SCO, Distributions, DRM</a> <br>
      <em>2003-08-13</em></td>
  </tr>
  <tr>
    <td  class="alt9">Timothy Butler interviews Free Software genius Richard
      Stallman (RMS). Worth reading.</td>
  </tr>
  <!--cut here-->
  <tr>
    <td rowspan="2" class="alt8"><a href="http://www.reuters.com/">Reuters</a></td>
    <td  class="alt9"> <a href="http://www.reuters.com/newsArticle.jhtml?type=technologyNews&storyID=3256781&src=eDialog/GetContent">Low-Cost
        Linux Gaining on Microsoft in India </a> <br>
      <em>2003-08-11</em></td>
  </tr>
  <tr>
    <td  class="alt9">Anshuman Daga reports on the politics of Linux's ascendancy
      in India. For information on OpenOffice.org in Indian languages, see our <a href="/project/hi/">Hindi
      Project</a>.</td>
  </tr>
  <!--cut here-->
  <!--cut here-->
  <tr>
    <td rowspan="2" class="alt8"><a href="http://www.linuxworld.com/">LinuxWorld</a></td>
    <td  class="alt9"> <a href="http://www.linuxworld.com/story/33968.htm">SYS-CON
        Radio interviews Louis Suarez-Potts </a> <br>
      <em>2003-08-07</em></td>
  </tr>
  <tr>
    <td  class="alt9">OpenOffice.org Community Manager Louis Suarez-Potts is
      interviewed on OpenOffice.org by LinuxWorld's Kevin Bedell. </td>
  </tr>
  <!--cut here-->
  <!--cut here-->
  <tr>
    <td rowspan="2" class="alt8"><a href="http://www.internetnews.com/">InternetNews</a></td>
    <td  class="alt9"> <a href="http://www.internetnews.com/infra/article.php/2245441">Sun
        Shines on Complete Linux Desktop </a> <br>
      <em>2003-08-06</em></td>
  </tr>
  <tr>
    <td  class="alt9">Susan Kuchinskas reports on Sun EVP Jonathan Schwartz's
      keynote address at the recent San Francisco Linux World Expo. Worth reading.</td>
  </tr>
  <!--cut here-->
  <!--cut here-->
  <tr>
    <td rowspan="2" class="alt8"><a href="http://www.internetnews.com/">InternetNews</a></td>
    <td  class="alt9"> <a href="http://www.internetnews.com/ent-news/print.php/10794_2243431_2">Q&A:
        Jonathan Schwartz, Sun Microsystems </a> <br>
      <em>2003-08-01</em></td>
  </tr>
  <tr>
    <td  class="alt9">Erin Joyce interviews Sun's VP of software Jonathan Schwartz
      on Mad Hatter and on Sun's software policies. Worth reading.</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-7252-5060427.html?tag=nl">Sun
        pragmatic about open-source software </a> <br>
      <em>2003-08-11</em></td>
  </tr>
  <tr>
    <td  class="alt9">Stephen Shankland reports on Sun's open-source strategy
      and pragmatism. Worth reading. (Also many mentions of OpenOffice.org.)</td>
  </tr>
  <!--cut here-->
  <tr>
    <td rowspan="2" class="alt8"><a href="http://www.theregister.co.uk/">The
        Register</a></td>
    <td  class="alt9"> <a href="http://www.theregister.co.uk/content/4/32272.html">GPL
        goes to court </a> <br>
      <em>2003-08-11</em></td>
  </tr>
  <tr>
    <td  class="alt9">Andrew Orlowski, whose Brit wit and sharp intelligence
      make many of The Reg's articles so worth reading writes on SCO, the GPL,
      and much else. Worth reading.</td>
  </tr>
  <!--cut here-->
  <!--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/08/09/1355255.shtml?tid=19">Open
        Source is good for the Philippine economy</a> <br>
      <em>2003-08-11</em></td>
  </tr>
  <tr>
    <td  class="alt9">Victor Serafica explains why open-source software and technology
      is good for the Philippine economy. A clear and useful argument that examines
      the advantages of moving away from the present system to FLOSS.</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/08/08/0035222.shtml?tid=1">LinuxWorld
        wrapup: Bigger, better, and more boring than eve </a> <br>
      <em>2003-08-08</em></td>
  </tr>
  <tr>
    <td  class="alt9">Robin "Roblimo" Miller writes on this year's big industry
      bash for Linux, Linux World SF.</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,1212461,00.asp">'Maddog'
        Bullish on Open Source </a> <br>
      <em>2003-08-07</em></td>
  </tr>
  <tr>
    <td  class="alt9">An interesting interview with John "Maddog" Hall, noted
      open-source advocate.</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-7252_3-5060512.html?tag=fd_top">Advocates
        form open-source trade group </a> <br>
      <em>2003-08-06</em></td>
  </tr>
  <tr>
    <td  class="alt9">Lisa M. Bowman reports that, "A new trade group is on the
      horizon for open-source advocates hoping to dispel myths about the software
      and drive its adoption."</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-7252_3-5059846.html?tag=fd_top">SuSE
        Linux gets security credentials</a> <br>
      <em>2003-08-05</em></td>
  </tr>
  <tr>
    <td  class="alt9">Stephen Shankland reports that "Software seller SuSE Linux
      and server maker IBM have obtained a crucial security certification that
      will make the Linux operating system an option for demanding military and
      government customers, the companies announced Tuesday."</td>
  </tr>
  <!--cut here-->
  <tr>
    <td rowspan="2" class="alt8"><a href="http://www.osdl.org/">OSDL Newsroom</a></td>
    <td  class="alt9"> <a href="http://www.osdl.org/newsroom/press_releases/2003/2003_08_05_san_francisco.html">Sun
        Joins OSDL; Strengthens Commitment to the Open-Source Community and Driving
        Open Standards </a> <br>
      <em>2003-08-05</em></td>
  </tr>
  <tr>
    <td  class="alt9">In a press release, the "Open Source Development Lab (OSDL),
      a global consortium of leading technology companies dedicated to accelerating
      the adoption of Linux, today announced that Sun Microsystems has joined
      OSDL to help drive the development of open-standard software including
      Linux and to lend its expertise in the data center and carrier-grade markets.
      Through its membership with OSDL, Sun will participate in both the Carrier
      Grade Linux and Data Center Linux working groups to help advance the use
      of the Linux operating system and its functionality in the enterprise and
      telecommunications environments."</td>
  </tr>
  <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/os/story/0,10801,83708,00.html">Study:
        Linux nears Windows XP usability </a> <br>
      <em>2003-08-04</em></td>
  </tr>
  <tr>
    <td  class="alt9">John Blau writes that "Researchers studied how easily users
      could perform tasks using the two operating systems." Evidently, Linux
      is now easy to use.</td>
  </tr>
  <!--cut here-->
  <tr>
    <td rowspan="2" class="alt8"><a href="http://www.theregister.co.uk/">The
        Register</a></td>
    <td  class="alt9"> <a href="http://www.theregister.co.uk/content/53/32123.html">Sun
        and SuSE admit they like each other </a> <br>
      <em>2003-08-01</em></td>
  </tr>
  <tr>
    <td  class="alt9">A characteristically trenchant account of Sun's friendly
      relationship with SuSe.</td>
  </tr>
</table>
</body>
</html>

