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

<h2>Spotlight: On Developers 
  and Technology</h2>
<br>
<h4> Scott Carr, Maintainer, <a href="http://whiteboard.openoffice.org/doc/" target="_blank">Documentation Project</a></h4>
<P>I am 28, and have been fooling with computers for about 18 years now. I am 
  a programmer for a company that develops telephony products; I developed my 
  skills in programming through trial and error over the last several years. For 
  the past year, I have been using and adopting GNU/Linux as my main desktop. 
  Although I still program for several companies in VB, I am trying to migrate 
  them to the more open solution GNU/Linux has to offer. 
<P>My interests include computers, programming, playing guitar, and working on Open Source and Free Software projects. Of the different models for programming I have worked in, I enjoy the feeling of sharing that one gets from the Open Source and Free Software communities.


<P>I have recently become the maintainer for the Documentation and User_FAQ projects 
  for OpenOffice. Already, as a team, people have been exchanging ideas and collaborating 
  to create a help system for the OpenOffice.org project as a whole. I have never 
  met any of the people on this "team" in person, but we have already been working 
  together in a way most companies only "say" they do. This is the promise of 
  what can happen in Open Source and Free Software. 
<P>Open Source and Free Software are certainly not just an American concept, but the idea does bring to mind a certain phrase, "We the people..."  I believe the rest can be filled in.  This ideal helped bring together a nation.  This ideal is what brings together the open source community.  The people are what make the project, not the corporate decisions of pointy haired managers.  To me, this is open source and free software.


<P>Have fun...
</body>
</html>

