Skip navigation

With the mentor summit coming up, it’s high time to wrap up this year’s Google Summer of Code for ooo-build. We started the term with 6 students, of which one was sadly missing in action right from the beginning (to set the record straight, he returned all funds).

All participants initially had to fight with OOo’s inherent complexity; I can only stress the importance of getting used to build system, installation & debugging peculiarities before the actual coding starts.

Progress until midterm was good to excellent, except for one case, where we had to make the very hard decision whether to continue with a student showing insufficient results – in the end, the agreement was to drop him, pretty much according to all best practices and lessons learned from other organisations. What I find most encouraging, and open-minded, is the fact that he’s now returning to OOo, and even bringing a few other students from his university for a joint project. Welcome back, Jon!

Which leaves us with a total of four completed projects:

  • Cross-building OOo for win32 (Jesus Corrius, the code (basically all crosswin32-prefixed patches))
  • Impress slide layout rework (Dona Hertel, the code)
  • Writer document comparison (Tzvetelina Tzeneva, the code)
  • Writer document navigation buttons (Maja Djordjevic, the code)

For the last two, let me just reference Tzvetelina’s and Maja’s respective blog postings; I couldn’t possibly explain and advertise it better.

The idea for the cross-building stems from the fact that compiling OOo on win32 is dog slow. With OOo consisting of some 90% c++, compilation is highly i/o-intensive, with an access pattern that apparently makes the Linux buffer cache shine, and the Windows one fall flat on its face. Additionally, of course you’d free people from buying and relying on proprietary software. Additionally, having something cross-buildable usually makes a project’s build system cleaner and more orthogonal.

With the Impress slide layout project, the aim was to get rid of the many hard-coded places where slide layout kinds were handled, following the paradigm of having pure data – the general layout – in a data structure, and not implicitely in code. Of course, an extra benefit is that changing or adding layouts now no longer needs re-compilation of OOo. Specifically, Impress now loads an autolayout configuration file on startup, and exposes the necessary data structures via OOo’s component model to the lower-level subsystems, for import and export.

This was my second GSoC term as a mentor, and my first one as an organisation admin. I’m more than happy with the results; our students did really well, and I hope we’ll see continued contribution from them over time. I also wish to thank my fellow mentors for their time and enthusiasm, and of course Google for making all of this possible in the first place!


Finally, there’ll be a panel presentation of the GSoC results at the annual conference; we’ll hopefully manage to get most of the students and mentors there. Will keep you posted.



  1. Welcome back Jon!
    This sounds very good. I hope that your new project has something to do with OCR integration 🙂

  2. Hi,
    I’m the team manager on the project we’re doing at Centrale Nantes, with Jon

    We’re not working on OCR integration, but on the improving ink annotations on Impress, when working with a tablet PC.

    We have a blog at:

    Unfortunately, there seems to be a problem right now. If you have any questions, I’m often on the IRC chanel educooo.

    • Hey Nelle, yep, am aware of that; just happy that Jon is back at working at OOo. Let’s sort out the tablet problem on irc.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: