Participate in OpenOffice.org

Programming

Programming

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.

The good news is that we have a good To-dos list. It complements our general Development Category, which lists most of the tools a developer will need to get started. Be sure to checkout our wiki, as it has lots of useful information.

Plus, we are here to help. Send an email to dev@openoffice.apache.org 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:

  1. Get the Sourcecode and start building it
    The Tools Projects is necessary resource for anyone interested in building and working on OpenOffice.org code. How to get the source code and how to build OpenOffice.org and many more details are described on the tools pages.

  2. Review the To-Dos
    Our to-dos page presents the key issues of interest to the core components. Recommended for all contributors prior to working on the OpenOffice.org code.

  3. Create an extension
    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 Java, Python, StarBasic, or JavaScript. The OpenOffice.org component model is quite extensive and can be daunting at first. To help you, there is a comprehensive Developers Guide. Plus, you can get help from dev@api.openoffice.org. 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 repository and our developer wiki on the subject.

  4. Fix a bug
    In most cases this will require knowing C++ and sometimes Java. Start by finding a bug that itches you. Then contact the development list and we will help you fix it.

  5. Contribute to a core module
    Core components are written in C++. If you know C++ you can start by finding the project or component that interests you. Join that project's mailing list and introduce yourself. You will probably need to familiarize yourself with the Developers Guide.
  6. Use your XML knowledge
    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 SVG files.

  7. Spread the file format
    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 ODF toolkit project for more information on this.

Say you just want to send us a patch. Great! Here's what to do:

How to submit code to OpenOffice.org

We ask that all code submitted to OpenOffice.org be submitted via Issue Tracker . In your submission please list "Issue Type" as PATCH. Your code will be sent to the committer for the appropriate project.

Submit a signed and filled-out copy of the Oracle Contributor Agreement (OCA) . It is a pdf and you must print it out, scan a signed original and email to ooo-oca_ww@oracle.com

We explain our reasons for requiring the OCA in the Licensing FAQ. The FAQ further explain the use and advantages of our copyright policy.

In order for your code to be committed to the source tree:

  • Your OCA must have been received. This Agreement covers all submissions of code.
  • The committer must approve your code for submission.

OpenOffice.org maintains a list of persons and companies 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 us.

You might also find it useful to visit our Guidelines for Participate in OpenOffice.org page, which outlines the way in which your work can be channeled into this project.