<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>
<p>Our new feature will focus on persons and issues of interest to the OpenOffice.org 
  community. To kick off the feature, we are delighted to present J&ouml;rg Brunsmann, 
  who lives and works in Germany and is the first external committer to the project. 
  Welcome J&ouml;rg! <br>
</p>
<p>We asked J&ouml;rg to provide some insights into why he chose to join the OpenOffice.org 
  community and what he finds important about the project. As you can read, his 
  responses are generous and enthsiastic.</p>
<p><i>Why did you choose to join the OpenOffice.org community?</i><br>
  <br>
  OpenOffice.org gives me the opportunity to learn about and work on emerging 
  technologies. In the not too-distant future the Internet will be accessed by 
  mobile individuals using a variety of high-bandwidth devices. This is where 
  the new Web services architecture fits in very nicely. Making these services 
  available for OpenOffice.org users and making OpenOffice.org components available 
  as Web services for other users is what I'm interested in. The great people 
  of the <a href="http://udk.openoffice.org/">UDK OpenOffice.org sub project</a> 
  had this on their to-do list but with a low priority. They gave me the opportunity 
  to get involved in this area. Thus far we're dreaming up ways to improve the 
  Web pages, thinking about a SOAP Apache module and defining component APIs. 
  And since it's a very young technology we learn something new every day. <br>
  <br>
  I would like to encourage other people to find their place in the OpenOffice.org 
  world. Unlike other open-source projects the OpenOffice.org crew is very qualified, 
  friendly, values your input and really wants outside people to contribute. It's 
  true the source code is big. But that only means there's more opportunity. <br>
  <br>
  If this sound all too nice, let me assure you that as with every big software 
  development project not everything is perfect. There's a lot to do on documentation, 
  new source code to write, and we must maintain and improve existing source code. 
  Software development and documentation is difficult and sometimes frustrating 
  work. But if things go as planned, the work is great. It even makes it more 
  fun to cooperate with people over the Internet. </p>
</body>
</html>

