<html><head>
<meta HTTP-EQUIV="content-type" CONTENT="text/html; charset=UTF-8">
<title>Source &amp; Technology</title></head>
<body>
<h2>FAQs</h2>
<p><i>Last updated 2002-08-01<br>
  </i></p>
<table cellpadding=0 cellspacing=0 border=0>
  <tr>
    <td bgcolor="#cc6600"><img src="/branding/images/spacer.gif" height=1 width=5></td>
    <td><img src="/branding/images/spacer.gif" height=1 width=15></td>
    <td> <a href="faq-questions.html">Overview</a> &nbsp;&nbsp; <img src="/branding/images/separator.gif"> 
      &nbsp;&nbsp; <a href="faq-source.html">Source &amp; Technology</a> 
      &nbsp;&nbsp; <img src="/branding/images/separator.gif"> 
      &nbsp;&nbsp; <a href="faq-issuezilla.html">Issue Tracker</a> &nbsp;&nbsp; <img src="/branding/images/separator.gif"> 
      &nbsp;&nbsp; <a href="faq-licensing.html">Licensing</a> &nbsp;&nbsp; 
      <img src="/branding/images/separator.gif"> &nbsp;&nbsp; 
      <a href="faq-community.html">Community</a> &nbsp;&nbsp; <img src="/branding/images/separator.gif"> 
      &nbsp;&nbsp; <a href="mirrors_faq.html">Mirrors</a>&nbsp;&nbsp; <img src="/branding/images/separator.gif"> 
      &nbsp;&nbsp; <a href="faq-asian.html">Asian FAQs</a> &nbsp;&nbsp; <img src="/branding/images/separator.gif"> 
      &nbsp;&nbsp; <a href="faq-other.html">Other</a></td>
  </tr>
</table>

<table border="1" width="100%" cellspacing="0" cellpadding="2" bordercolor="#99ccff" bgcolor="#FFFFFF">
  <td bgcolor="#f0f0f0">
    These faq have been compiled over the span of OpenOffice's lifetime.
    Most of the information is now out of date.
    See <a href="https://wiki.openoffice.org/wiki/Documentation/FAQ">the OpenOffice FAQ page</a> on our official wiki
    for up-to-date information.
    If you find instances that need updating, let us know by sending a note to <a href="mailto:dev@openoffice.apache.org">dev@openoffice.apache.org</a>.
  </td>
</table>

<a name="top"></a><a name="technology"></a> 
<h3><img src="/branding/images/start_blue_bar.gif">&nbsp;&nbsp; 
  Source &amp; Technology: Questions&nbsp;&nbsp;<img src="/branding/images/end_blue_bar.gif"></h3>
<ol>
  <li> <a href="#1">How can I get the source code from OpenOffice.org?</a> 
  <li><a href="#2">What should I download?</a> 
  <li> <a href="#3">May I offer to sell a CD-ROM from my site containing the latest 
    sourcecode from OpenOffice.org?</a> 
  <li> <a href="#4">What does the OpenOffice.org source code provide?</a> 
  <li> <a href="#5">What is the StarOffice/OpenOffice.org file format?</a> 
  <li> <a href="#6">Why was XML chosen by Sun for the StarOffice Productivity 
    Suite?</a> 
  <li> <a href="#7">Where can I get the XML specification and DTDs?</a> 
  <li> <a href="#8">What is the OpenOffice.org technical roadmap?</a> 
  <li> <a href="#9">What about the StarOffice Productivity Suite's integrated 
    desktop?</a> </li>
  <li> <a href="#10">What happened to Email and Scheduler from StarOffice 5.2?</a> 
  </li>
  <li><a href="#11">How do I install OpenOffice.org on a server for use by multiple 
    users?</a> </li>
  <li><a href="#12">Why does OpenOffice.org require Java at installation?</a></li>
  <li><a href="#13">Can I run OpenOffice.org without having an X server installed,for 
    example, to use only its UNO API?</a></li>
</ol>
<hr>

<h3><img src="/branding/images/start_blue_bar.gif">&nbsp;&nbsp; 
  Source &amp; Technology: Answers&nbsp;&nbsp;<img src="/branding/images/end_blue_bar.gif"></h3>


<ol>
  <li value="1"><b>How can I get the source code from OpenOffice.org?<a name="1"></a></b> 
    <p> The source code is available via CVS from the central <a href="/download/index.html">download 
      page</a>.</p>
  </li>
</ol>

<p>
<a href="#top">Back to top</a>



<hr ALIGN=left SIZE="1" NOSHADE>
<ol>
  <li value="2"><b>What should I download?</b> <a name="3" id="3"></a> 
    <p> The answer depends on what you wish to do. 
    <dd>A. I want to use the OpenOffice.org office suite in my home or office 
    </dd>
    <dd>B. I want to see the source code and develop for OpenOffice.org.</dd> <br>
      <p>In either case, please also go to our central <a href="/download/index.html">Download 
      Page</a>, where there are links to the latest downloads.</p> 
 
</ol>

<p>
<a href="#top">Back to top</a>





<hr ALIGN=left SIZE="1" NOSHADE>
<ol>
  <li value="3"><b>May I offer to sell a CD-ROM from my site containing the latest 
    source code from OpenOffice.org?</b><a name="2"></a> 
    <p> If you would like to do this, please review 
      the <a href="../about_us/OEM_and_CD.html">OEM and CD-ROM</a> page.</p>
  </li>
</ol>

<p>
<a href="#top">Back to top</a>

<hr ALIGN=left SIZE="1" NOSHADE>
<ol>
  <li value="4"><b>What does the OpenOffice.org source code provide?<a name="4" id="4"></a></b> 
    <p> The OpenOffice.org source code initially includes the technology which 
      Sun Microsystems has been developing for the future versions of the StarOffice 
      Productivity Suite. The source is written in C++ and delivers language-neutral 
      and scriptable functionality, including Java[tm] technology APIs. This source 
      technology introduces the next stage architecture, allowing use of the suite 
      as separate applications or as embedded components in other applications. 
      Numerous other features are also present, including XML-based file formats.</p>
  </li>
</ol>

<p>
  <a href="#top">Back to top</a></p>

<hr ALIGN=left SIZE="1" NOSHADE>
<ol>
  <li value="5"><b>What is the StarOffice/OpenOffice.org file format?<a name="5" id="5"></a></b> 
    <p> XML.</p>
  </li>
</ol>

<p>
  <a href="#top">Back to top</a></p>

<hr ALIGN=left SIZE="1" NOSHADE>
<ol>
  <li value="6"><b>Why was XML chosen by Sun for the StarOffice Productivity Suite?<a name="6" id="6"></a></b> 
    <p> Because XML is an industry standard and the best choice for interoperable 
      structured data.</p>
  </li>
</ol>
<p>
<a href="#top">Back to top</a>
<hr ALIGN=left SIZE="1" NOSHADE>
<ol>
  <li value="7"><b>Where can I get the XML specification and DTDs?<a name="7" id="7"></a></b> 
    <p> You can get them from the XML Project, <a href="http://xml.openoffice.org">http://xml.openoffice.org</a>.</p>
  </li>
</ol>

<p>
  <a href="#top">Back to top</a></p>

<hr ALIGN=left SIZE="1" NOSHADE>
<ol>
  <li value="8"><b>What is the OpenOffice.org technical roadmap?<a name="8" id="8"></a></b> 
    <p> Sun has provided OpenOffice.org with a technical roadmap. This document 
      outlines the design of the source, in that it delivers separate applications/components, 
      which allow integration into platform user environments. In the end, of 
      course, the answer to this question is really up to the OpenOffice.org community. 
      For a current roadmap, please have a look in the <a href="http://development.openoffice.org/releases/index.html">development area</a>.</p>
  </li>
</ol>

<p>
  <a href="#top">Back to top</a></p>

<hr ALIGN=left SIZE="1" NOSHADE>
<ol>
  <li value="9"><b>What about the StarOffice Productivity Suite's integrated desktop?<a name="9" id="9"></a></b> 
    <p> Beginning with the 6.0 version of the product, the integrated desktop 
      will be scrapped and the applications will be componentized. </p>
  </li>
</ol>

<p>
  <a href="#top">Back to top</a></p>

<hr ALIGN=left SIZE="1" NOSHADE>
<ol>
  <li value="10"><b>What happened to Email and Scheduler from StarOffice 5.2?<a name="10" id="10"></a></b> 
    <p> After StarOffice 5.2 was released, a decision was made to concentrate 
      resources on the three core office productivity applications and on the 
      move to XML. With this redirection of efforts, the email and scheduler were 
      removed from the codebase.</p>
  </li>
</ol>
<p>
<a href="#top">Back to top</a>
<hr ALIGN=left SIZE="1" NOSHADE>
<ol>
  <li value="11"><b>How do I install OpenOffice.org on a server for use by multiple 
    users? </b> <a name="11" id="11"></a> 
    <p>Download and expand the tarball. Then, as root, issue this command from 
      within the &quot;install&quot; directory: 
    <p><font face="Courier New, Courier, mono">setup /net </font> 
    <p>As a regular user from each workstattion now run the command: 
    <p> <font face="Courier New, Courier, mono">/usr/local/openoffice60/program/setup 
      </font> 
    <p>And then choose Standard Workstation Installation when prompted</p>
</ol>
<p>
<a href="#top">Back to top</a>
<hr ALIGN=left SIZE="1" NOSHADE>
<ol>
  <li value="12"><b>Why does OpenOffice.org require Java at installation? </b> 
    <a name="12" id="12"></a> 
    <p>OpenOffice.org currently uses Java for: 
    <ul>
      <li>applets in html pages 
      <li>support of Java components 
    </ul>
</ol>
<p>
  <a href="#top">Back to top</a> 
<hr ALIGN=left SIZE="1" NOSHADE>
<ol>
  <li value="13"><b>Can I run OpenOffice.org without having an X server installed,for 
    example, to use only its UNO API?</b> <a name="13" id="13"></a> 
    <p>Yes, you can display to the Xvfb virtual frame buffer, which is part of 
      X11R6. For more information, please see:<br>
      <br>
      <a href="http://www.itworld.com/AppDev/1461/UIR000330xvfb/">http://www.itworld.com/AppDev/1461/UIR000330xvfb/</a> </p>
    
   <p> A real X Window display is only needed for the setup. </p>
</ol>
<p>
  <a href="#top">Back to top</a> 
<hr align=left size="1" NOSHADE>
</html>

