<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <title>How to join the OpenOffice.org project?</title>
</head>

<body>

<h1>How to join the OpenOffice.org project?</h1>

<h3><a href="#general">Information for all</a></h3>
<h3><a href="#user">What users should do</a></h3>
<h3><a href="#dev">What developers should do</a></h3>

<br/>

<p id="general">The development of OpenOffice happens under the roof of the Apache Software Foundation (ASF).</p>

<p>More information can be found here:</p>

<ul>
  <li><a href="http://openoffice.apache.org/get-involved.html">Get Involved</a></li>
  <li><a href="http://openoffice.apache.org/mailing-lists.html">Mailing Lists</a></li>
</ul>

<br/>

<h2 id="user">For Users:</h2>

<p>For questions relating to the use of OpenOffice (the application) write a mail to: <b>users@openoffice.apache.org</b>. A very popular and effective mailing list.
This list is in English only (for other languages visit the "<a href="http://native-lang.openoffice.org">Native-Lang</a>"project lists).</p>

<ul>
  <li><a href="mailto:users-subscribe@openoffice.apache.org?subject=subscribe">Subscribe</a></li>
  <li><a href="mailto:users-unsubscribe@openoffice.apache.org?subject=unsubscribe">Unsubscribe</a></li>
  <li><a href="http://openoffice.apache.org/mailing-lists.html#users-mailing-list">Search in the archives</a></li>
  <li><a href="news://news.gmane.org/gmane.comp.openoffice.questions">gmane.comp.openoffice.questions</a></li>
</ul>

<p>Please note that this is not a normal mail address but a mailing list. Please familiarize yourself with the <a href="https://openoffice.apache.org/mailing-lists.html">Mailing List Guidelines</a>
and the text below if you have not already and do not know what this means.</p>

<h3>All our lists are public</h3>

<p><b>They are not private message centers. Messages posted to them are carried by, among others, <a href="http://www.gmane.org/" target="_blank">Gmane</a>
and <a href="http://openoffice.markmail.org">MarkMail</a>. They are public. Therefore, consider carefully what you say: thousands if not millions may read
your words and they won't just read them today but also decades from now.</b></p>

<p>Anyone can post to our most popular lists, but if you are not already subscribed, your message will be moderated. In this way, we limit the amount of
spam entering the message lists.</p>

<p>Of the lists to which you might consider subscribing, the most useful are the "dev," "users," and "announce." Both the dev and users lists accept
posts; the announce list does not. Its function is to disseminate important information that is of interest to the general community. Individual projects
have their own announce and discuss lists, too. As a rule, honor the nature of the list.</p>

<p><b>If you want to post a message without it being moderated, please subscribe to the relevant mailing list.</b> To subscribe to any list, all you have to
do is click on the "Subscribe" links and send on the empty email message that will be automatically generated and addressed. This message is just to let the
friendly computer know of your intentions; you will immediately, upon sending this first note, receive a confirmation notice. Follow the instructions and
send it back.</p>

<h3>Mailing List Guidelines</h3>

<p>Please familiarize yourself with the <a href="https://openoffice.apache.org/mailing-lists.html">Mailing List Guidelines</a>, if you have not already.</p>

<br/>

<h2 id="dev">For Developers:</h2>

<p><b>Every developer is invited to join us, old hackers as well as new ones.</b> Please join the OpenOffice mailing list and help us shape the OpenOffice development:</p>

<ul>
  <li><a href="mailto:dev@openoffice.apache.org">dev@openoffice.apache.org</a></li>
</ul>

</body>
</html>
