

<!--#include virtual="/doctype.html" -->
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    
    <link href="/css/ooo.css" rel="stylesheet" type="text/css">
    
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <title>How to join the OpenOffice.org project?</title>

    
    <script src="https://www.apachecon.com/event-images/snippet.js"></script>
  </head>
  <body>
    <!--#include virtual="/brand.html" -->
    <div id="topbara">
      <!--#include virtual="/topnav.html" -->
      <div id="breadcrumbsa"><a href="/">home</a></div>
    </div>
    <div id="clear"></div>
      
      
    <div id="content">
      
      

<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>


      
    </div>
    <!--#include virtual="/footer.html" -->
  </body>
</html>
