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

<h3><font color="#CC6600" face="Courier New, Monospaced">Spotlight: On Developers 
  and Technology</font> </h3>
<h4>Spotlight Two</h4>
<p>Spotlight focuses this week on the <a href="//mail_list.html" target="_blank">mailing 
  lists</a>, in particular on the &quot;Groupware&quot; thread in the &quot;<a href="ttp://www.openoffice.org/www-discuss/current/" target="_blank">discuss</a>&quot; 
  list that has engaged many of contributors, who debated not just the technology, 
  but what even constitutes &quot;groupware,&quot; and its relationship to OpenOffice.org, 
  a question that implicitly invokes discussion about the project's goals and 
  strategies. (The editorial column, &quot;<a href="ec16Jan01.html" target="_blank">Quo 
  Vadis OpenOffice.org</a> of 16 January 2001, touched on the early phases of 
  this discussion.) The thread is quite extensive, and curious readers are encouraged 
  to review the thread index. For a rough summary of what Groupware more or less 
  includes (note the caution of the phrasing), readers might want to look at <a href="//www-discuss/current/msg01753.html" target="_blank">this 
  message</a>. </p>
<p>The thread is itself a combination of several others: an initial discussion 
  related to mail and messaging functionality (the &quot;Say it isn't so&quot; 
  thread), an <a href="//www-discuss/current/msg01163.html">appeal</a> 
  to the community for those features and functions they would like to see in 
  the next major release of OpenOffice.org, a <a href="//www-discuss/current/msg01211.html">discussion</a> 
  related to future integration of OpenOffice.org software with handheld computers, 
  the bold cross-fertilization of a <a href="http://www.ximian.com/" target="_blank">Ximian.com</a> 
  mailing-list <a href="//www-discuss/current/msg01387.html" target="_blank">post</a> 
  to OpenOffice.org's own lists (a move that was <a href="//www-discuss/current/msg01803.html">cheered</a> 
  by the community), to the thread that synthesized many of the issues into one: 
  the Groupware thread, <a href="//www-discuss/current/msg01531.html" target="_blank">initiated</a> 
  at the end of January and which served as a sort of manifesto for the project.</p>
<p>On 13 February,  <a href="http://slashdot.org/articles/01/02/13/1854219.shtml">Slashdot noticed</a> 
  the discussion: what a sign of arrival!</p>
<p>&nbsp;</p>
<p><b>Previous Spotlights</b></p>
<p><a href="spotlight1.html" target="_blank"><i>Spotlight 
  One, 5 February 2001:</i></a> J&ouml;rg Brunsmann, the first external committer 
  to the OpenOffice.org project.</p>
</body>
</html>

