GSoC/GCI Archive
Google Summer of Code 2009

Go OpenOffice

Web Page:

Mailing List:

Go OpenOffice (go-oo) is a branch, or distribution that adds features, fixes and fun to the project. We also have a distinctive approach to code ownership - believing that nicely separable pieces of code should not be assigned to, owned and exploited by a single corporate entity, but owned by all. The project ships on the majority of Linux distributions, and forms the base for NeoOffice (Mac) and various other variants, such as OxygenOffice.


  • Crosscompile Win32 OOo on Linux Setting up a build environment for OOo on Windows is a pain, requires expensive tools (at least when needing all features), and the IO performance of the used cygwin/msvs mix is rather disappointing. This task includes setting up, (if necessary) provide missing headers and tools, and actually performing a full cross build of OOo under Linux. Fortunately most libraries should compile out of the box, but there are some tricky parts with very specific windows code. For example, if there's code that uses ATL it will have to be rewritten because there's no way to compile that with a gcc compiler. It can be very time consuming project, because you'll have to change all the makefiles with the new crosscompile configuration with a mix of linux and windows settings. And, of course, compiling is one thing but then it has to work well. Basically: 1. Creating the new configuration in the OOo build system. 2. Making changes to the makefiles to target the Win32 platform. 3. Provide missing headers / tools. 4. Decide solutions for non-compilable code. 4. Check the things compiled work as expected. 5. Creating the installer.
  • Extending Functionality of the Templates in Impress For my GSoC project, I would like to do one of the proposals in Impress. The one I'm most interested in is extending the number of templates in Impress and possibly allowing users to create their own templates.
  • Hyperlink/Reference navigation buttons My project would include adding navigation buttons to Go OpenOffice applications. It's a feature people are used to because of everyday use of Internet browsers, and according to, they are really missing it in OOo. My plan is also to create an (optional) additional feature, back/forward buttons with Recency with Temporal Ordering Enhancement, inspired by the paper on this link:
  • Improving OpenOffice Writer’s document comparison Comparing documents for changes is an essential feature in text editing software. Currently, Writer’s comparison function performs poorly (worse than the algorithms below). The goal of this project is to significantly improve it by using several algorithms: an LCS based one, a Levenshtein distance one, and an algorithm that takes into account moving portions of the text. An evaluative algorithm will choose the best output. The user will be able to choose the method and set its parameters.