<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <title>Participate in OpenOffice.org</title>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  <meta http-equiv="Content-Style-Type" content="text/css">
</head>
<body>
<p><a href="index.html">Participate in OpenOffice.org</a></p>
<table width="100%">
  <tbody>
    <tr>
      <td width="70"><a href="programming.html"><img
 src="_media/programming.png" alt="Programming" border="0" vspace="11"></a></td>
      <td style="vertical-align: middle;">
      <h1>Programming</h1>
      </td>
    </tr>
  </tbody>
</table>
<p>OpenOffice.org is a large and inclusive project. No matter what your
interests are, there is always a place for you here. Unfortunately, new
contributors often don't know where to begin.</p>
<p>The good news is that we have a good <a
 href="http://wiki.services.openoffice.org/wiki/To-Dos">To-dos list</a>.
It complements our general <a href="http://development.openoffice.org/">Development
Category</a>, which lists most of the tools a developer will need to
get started. Be sure to checkout our <a
 href="http://wiki.services.openoffice.org/wiki/Main_Page">wiki</a>, as
it has lots of useful information. </p>
<p> Plus, we are here to help. Send an email to <a
 href="mailto:dev@openoffice.apache.org">dev@openoffice.apache.org</a> and we'll help
you get started. The list is friendly and supportive; the people want
to help. Meanwhile, here are some ideas for you:</p>
<ol>
  <li>
    <p><b style="color: rgb(170, 0, 0);">Get the Sourcecode and start
building it</b><br>
The <a href="http://tools.openoffice.org">Tools Projects</a> is
necessary resource for anyone interested in building and working on
OpenOffice.org code. How to <a
 href="http://wiki.services.openoffice.org/wiki/Getting_It">get the
source code</a> and <a
 href="http://wiki.services.openoffice.org/wiki/Building_OpenOffice.org">how
to build OpenOffice.org</a> and many more details are described on the
tools pages.</p>
  </li>
  <li>
    <p><b style="color: rgb(170, 0, 0);">Review the To-Dos </b><br>
Our <a href="http://wiki.services.openoffice.org/wiki/To-Dos">to-dos
page</a> presents the key issues of interest to the core components.
Recommended for all contributors prior to working on the OpenOffice.org
code.</p>
  </li>
  <li>
    <p><b style="color: rgb(170, 0, 0);">Create an extension</b><br>
Exensions are easy to write and fun to see in action. With relatively
little effort, you can add features that millions of others will use.
Extensions can add new features by using <a
 href="http://framework.openoffice.org/scripting/scriptingf1/developer-guide.html">
Java</a>, <a href="http://udk.openoffice.org/python/python-bridge.html">Python</a>,
    <a href="http://docs-pdf.sun.com/817-1826/817-1826.pdf">StarBasic</a>,
or <a
 href="http://framework.openoffice.org/scripting/scriptingf1/developer-guide.html">
JavaScript.</a> The OpenOffice.org component model is quite extensive
and can be daunting at first. To help you, there is a comprehensive <a
 href="http://api.openoffice.org/docs/DevelopersGuide/DevelopersGuide.pdf">
Developers Guide</a>. Plus, you can get help from <a
 href="mailto:dev@api.openoffice.org">dev@api.openoffice.org</a>.
Extensions can be proprietary or open, and they can tie into the depths
of the code or simply link up to it. It's all up to you. For more
information, look at our <a
 href="http://extensions.openoffice.org/">repository</a> and
our <a
 href="http://wiki.services.openoffice.org/wiki/Extensions_development">developer
wiki</a> on the subject.</p>
  </li>
  <li>
    <p><b style="color: rgb(170, 0, 0);">Fix a bug</b><br>
In most cases this will require knowing C++ and sometimes Java. Start
by <a
 href="http://qa.openoffice.org/issue_handling/project_issues.html">
finding a bug</a> that itches you. Then contact the <a
 href="mailto:dev@openoffice.apache.org">development list</a> and we will help
you fix it.</p>
  </li>
  <li><b style="color: rgb(170, 0, 0);">Contribute to a core module </b><br>
Core components are written in C++. If you know C++ you can start by
finding the <a href="/projects/accepted.html">
project or component</a>
that interests you. Join that project's mailing list and introduce
yourself. You will probably need to familiarize yourself with the <a
 href="http://api.openoffice.org/docs/DevelopersGuide/DevelopersGuide.pdf">
Developers Guide</a>.</li>
  <li>
    <p><b style="color: rgb(170, 0, 0);">Use your XML knowledge</b><br>
OpenOffice.org uses XML for all of its files. XSLT tools are available
to support non-native XML. If you know XML and XSLT there is much you
can do here. For instance, you can provide an SVG input transformation
so OpenOffice.org can open <a href="http://www.w3.org/TR/SVG/">SVG</a>
files.</p>
  </li>
  <li>
    <p><b style="color: rgb(170, 0, 0);">Spread the file format</b><br>
The OpenOffice.org file format is just a collection of zipped XML
files. And the technology generating them is interesting. Take a look
at our <a href="http://wiki.services.openoffice.org/wiki/To-Dos">ODF
toolkit project</a> for more information on this. </p>
  </li>
</ol>
<p><a name="sca"></a>Say you just want to send us a <a
 href="http://wiki.services.openoffice.org/wiki/Contributing_Patches">patch</a>.
Great! Here's what to do: </p>
<table border="0" cellpadding="4" cellspacing="0">
  <tbody>
    <tr>
      <td><img src="/images/licensing.png"
 align="middle" border="0"></td>
      <td>
      <p class="Header">How to submit code to OpenOffice.org</p>
      <p>We ask that all code submitted to OpenOffice.org be submitted
via <a
 href="http://qa.openoffice.org/issue_handling/project_issues.html">Issue
Tracker </a>. In your submission please list "Issue Type" as PATCH.
Your code will be sent to the committer for the appropriate project. </p>
      <p>Submit a signed and filled-out copy of the <a
 href="//licenses/oca.pdf">Oracle 
Contributor Agreement (OCA) </a>. It is a pdf and you must print
it out, scan a signed original and email to ooo-oca_ww@oracle.com
</p>
      <p>We explain our reasons for requiring the OCA in the <a
 href="//FAQs/faq-licensing.html#usinglicenses">Licensing
FAQ</a>. The FAQ further explain the use and advantages of our
copyright policy. </p>
      <p>In order for your code to be committed to the source tree: </p>
      <ul type="a">
        <li>Your OCA must have been received. This Agreement covers all
submissions of code. </li>
        <li>The committer must approve your code for submission.</li>
      </ul>
      <p>OpenOffice.org maintains a <a
 href="//copyright/copyrightapproved.html">list
of persons and companies</a> who have filed a contributor agreement. If
you have filed an Agreement or prior form and your name is not on the
list, please contact <a href="mailto:dev@openoffice.apache.org">us</a>.
      </p>
      <p>
You might also find it useful to visit our <a
 href="//dev_docs/guidelines.html">Guidelines
for Participate in OpenOffice.org</a> page, which outlines the way in
which your work can be channeled into this project.
      </p>
      </td>
    </tr>
  </tbody>
</table>
<p>&nbsp;</p>
<p><!-- 

Public Documentation License Notice


The contents of this Documentation are subject to the Public Documentation License Version 1.0 (the "License"); you may only use this Documentation if you comply with the terms of this License. A copy of the License is available at //licenses/PDL.html.

The Original Documentation is "programming.html". The Initial Writer of the Original Documentation is Daniel Carrera Copyright (C) 2004. All Rights Reserved. (Initial Writer contact: dcarrera [at] digitaldistribution.com.)  This current document is derived from that original.

Contributor(s): Louis Suarez-Potts (LSP), louis [at] openoffice.org

For a record of all changes made to the original document by Louis Suarez-Potts, see the CVS history at OpenOffice.org (www/www/contributing/programming.html and contributing/www/*)

--></p>
</body>
</html>
