Interview with Jennifer Liebel and Tobias Madl from Munich

Last summer, German students Jenny and Tobias started a work placement organised and funded by the City of Munich. One of the most famous Linux deployments in the world, Munich began switching to Free Software across its desktop and server infrastructure in 2003, and completed the process ten years later. LibreOffice is included on all desktop computers, and the City manages its own development of the application, including training students on placements.

Tobias and Jenny talked with Sam Tuke about how they sped up LibreOffice significantly by reorganising its internal task management, with the help of their Mentor Michael Meeks, and the LibreOffice community. This work is a foundational technology for future improvements to our rendering model, converting it from immediate to deferred (ie. idle) rendering, which is necessary to get smooth double-buffered rendering without flicker. It’s great to see the investment from Munich improving the LibreOffice user experience for all.

Tobias and Jenny - students in Munich
Tobias and Jenny – students in Munich


About Jenny

  • Name: Jennifer Liebel
  • Web nicknames: jeyli
  • Nationality: German
  • Location: Munich Germany
  • Blog: Google+
  • Hobbies: personal fitness

About Tobias

  • Name: Tobias Madl
  • Web nicknames: tobaem
  • Nationality: German
  • Location: Neufahrn bei Freising, Germany
  • Blog: Google+
  • Hobbies: sword fighting, bouldering, fire fighting

When was your first LibreOffice contribution?
In August 2014, while completing a work placement with the City of Munich (Landeshauptstadt München), we started working on some LibreOffice ‘Easy Hacks‘; translating German comments into English, and working on automated quality checks with CppUnit tests. Around 20,000 city-owned computers run Linux, and LibreOffice comes pre-installed with the Limux distribution of Linux that they use. In our work placement we had the choice of what to work on, and we chose LibreOffice.
For the next seven months we worked on LibreOffice consistently.
Had you used LibreOffice before that?
Yes we were using it at University for coursework and presentations. It has all the features we need. Later on, Tobias presented his talk at FOSDEM using LibreOffice Impress.
When we began our Computer Science studies we started using Linux because it made software development easier. We chose Linux Mint, and as LibreOffice came bundled with it, we started using it.
How do you explain LibreOffice to others?
It’s an awesome alternative to Microsoft Office and if people don’t want to waste their money, they should definitely try it.
Do your fellow students use LibreOffice too?
Yes, many. Maybe even most of them. Mainly it’s used for presentations and text documents. Students here don’t get provided with a copy of Microsoft Office like at some universities, and many use LibreOffice instead. A few use Latex. Students here use LibreOffice on all operating systems.
What was your initial experience of contributing to LibreOffice like?
It was exciting and challenging: we were using new tools for the first time, like the Gerrit review platform for managing LibreOffice code contributions. Getting used to these tools was a lot of fun.
How did you choose what part of LibreOffice to work on?
We were members of a group of five students whose placement focused on LibreOffice. We worked on different parts. We were both lucky enough to be invited to the LibreOffice Conference in Bern, where we met Michael Meeks who works for the Document Foundation and Collabora. It was a fantastic event, and he proposed tasks that we could work on, and became our mentor.
One of the hardest options proposed was improving LibreOffice’s "main loop". This loop executes the most important actions that LibreOffice needs to start up and run itself, including loading macros, generating previews, updating menus, and more. It sounded demanding, and we both wanted to learn as much as possible, so we chose that.
Together we went through every single timer used in this loop, and invented a new task scheduling system, which manages the loop more efficiently. The list of tasks in the loop is huge; we wrote them up in documentation of our work on the Document Foundation Wiki. We planned and developed the new scheduler together to prioritise important tasks and drop some which were unnecessary.
Optimizing the main loop has been a huge and interesting task. We’ve learned a great deal, and are still improving the quality of our code.
How did you make decisions and distribute the work?
‘Scrum’ is an agile software development methodology that we used to organise our work. We had regular stand-up meetings, did paired programming (especially for harder tasks), and generally worked in the same space for easier communication.
Michael was in England, while we were in Germany, so we had video calls and communicated via email.
What was it like to be mentored?
Working with Michael was demanding but awesome, great to meet and get to know him. He’s very motivated! We had a few communication issues because of distance, and time available, but he was very helpful. He reviewed our code, gave us tips and direction, he spent a lot of time with us on our project.
Did you communicate with other LibreOffice community members?
Markus Mohrhard and Jan "Kendy" Holesovsky helped us a lot when we were starting out with setting up our working environment, and teaching us how to debug code efficiently with the GDB debugging tool.
Building LibreOffice binaries from source code on our own machines was easy thanks to the great documentation, but building a good development environment with the right Vim editor plugins was harder. We went to a LibreOffice/Debian Hackfest and were shown how to do it in person, which was really useful. Kendy also explained the purpose of other LibreOffice libraries that we didn’t understand which clarified things a lot.
Every day we were in the #LibreOffice IRC Chat channel talking with Kendy, Markus, Thorsten Behrens, Stephan Bergmann, Noel Grandin, and others. We had an opportunity for lots of chatting with nice people online, and then met many of them at the FOSDEM conference.
Caolán McNamara was also reviewing our work at the end of our placement, and we were very happy there was someone looking over our code because it was our first time merging code using Git for version control. We’d also like to thank Miklos Vajna, Michael Stahl, Tor Lillqvist, and Bjoern Michaelsen for helping us and reviewing our work.
Once we started chatting with people we felt accepted as part of the LibreOffice community. We were just some students, but people made time to help us.
Had you contributed to Free Software before your work on LibreOffice?
No, this was our first project, but we are thinking about contributing to other projects, maybe the Kodi home theatre application.
What aspect of LibreOffice do you like the most?
Clearly the friendly and open community, which supported us a lot. We had great fun with them.
What the one thing you’d like to change about LibreOffice?
Improve OpenGL support (hello Michael Jaumann, Stefan Weiberg 😉 ).
Michael Jaumann, a close friend of ours, developed OpenGL support for LibreOffice Impress. It was really awesome to get to know how that worked. We’re developing OpenGL shaders in another part of our Computer Science course, and we love it. It’s got so much potential. There are still some issues with implementing full-scale support in LibreOffice due to its use of some older APIs; it’ll be great when those are fixed.
What will you do after your studies?
Jenny: As part of our course commitment, we have to work for the City of Munich for three years after our degree. The City has a large IT department catering for most of its own technical needs, including software and hardware development, and sub-departments dedicated to Java applications, network infrastructure, and custom development workgroups. Our work placement was with the Linux Desktop branch, which caters to the many thousands of City staff using Linux in Munich and the region.
I’m not sure; I’ll probably stay in Munich. Let’s see after three years!
Tobias: I’m definitely interested in software development, but also in information security and embedded development. I’d like to work in a company in one of those fields, or even better a mixture from all of them, but I’m not sure if something like that exists.
Both: You can read more technical details about our work in the Document Foundation Wiki report.