Behind the scenes at TDF: Infrastructure

With the beginning of 2015, a new year packed with exciting projects and ideas around LibreOffice and The Document Foundation, we today finish our behind-the-scenes series, to share achievements in 2014 with our community and our generous donours, to whom we’d like to express our sincerest gratitude and thanks for their incredible and wonderful support and their invaluable contributions!

I’m Alexander Werner and I am responsible for the infrastructure of The Document Foundation on a contracted basis since March 2014. I have been with the project since its foundation in 2012, and been a longtime supporter of free and open source software. As a volunteer I helped setting up and maintaining our first server and optimizing it to handle the load of the first days.
The infrastructure is one of the most important things The Document Foundation provides for the community. As long as every part is working as expected, it is basically invisible. It is my job to make sure that this is always the case, mostly by orchestrating the different services on our growing number of virtual machines.

When the LibreOffice fork began, we started with only one server where all services were located – mailing lists, both private and public, website, mirror management, wiki and many more. As time went by, this server survived its first slashdot, but soon it became clear that more power was needed. So our infrastructure started growing organically as more and more servers were added. Our admins specialized on different parts of the infrastructure, while the whole configuration was centrally documented in a single ODT file.

It soon became clear that this was not a viable solution – our quest for infra 2.0, as we internally call it, began. The admin team worked under fast escalating load while looking for ways to optimize resource usage, inclusion of new volunteers, configuration documentation and management. Also high availablility of services became increasingly important. In our sparse free time we started creating concepts, tested HA with DRBD, Pacemaker and Heartbeat, evaluated different solutions for centralized documentation and started using tools for centralized configuration management.

It soon became clear that we needed more flexibility for working HA with the solution described above, so as interim solution we started virtualizing services first in paravirtualized guests with LXC and then switched to fully virtualized guests with KVM. For infrastructure documentation I suggested to use the documentation generator Sphinx. The source files for the documentation – human readable RST text files – are located in a git repository, and the online documentation is automatically updated on every push. For configuration management and deployment, I eventually stumbled upon SaltStack.

My daily work consists of working on various small recurring tasks such as helping people with mailing list troubles, adding and removing mirrors in MirrorBrain, installing updates and doing necessary reboots as well as handling unexpected incidents such as the Heartbleed bug.

In spring I started working on our Salt states, made them more reliable and made sure that all user accounts are now managed by Salt. I have setup a new virtualization host with VMs for Gerrit, Jenkins, Bugzilla and Plone. Apart from that I worked on improving the documentation of our services, looking for undocumented and unused services.

I also worked on our AskBot setup. While having set up the initial AskLibO instance, it was decided to contract Evgeny Fadeev, the primary developer of AskBot, to develop additional features needed by our community, which will then be made available upstream again. Despite that, I also did some changes such as enabling the newly-developed multilanguage support, fixed template bugs and administered the list of moderators.

Except for my ongoing work to improve the Salt states and adding more not yet managed servers to our Salt infrastructure, I also continued to concatenate various documentation sources into our centralized repository.

I also worked on a download counter that will be useful to track all our downloads by language, location, version and operating system.

But the most interesting, time consuming and fascinating part of my work was the planning, testing and setup of our new cluster/cloud infrastructure. As it was decided to virtualize all of our services, I looked for a solution that is easy to manage and maintain but provides powerful tools for easily creating highly available services.

After quite some time of evaluating I decided to go for oVirt – a KVM-based virtualization solution that provides a nice out-of-the-box experience, the simplicity of its setup was worlds apart from other solutions. It is also possible to provide fully high available services with only two nodes by having the management engine run as VM on the platform.

During the time of evaluation I also had contact to hardware suppliers and hosters, and after a good offer from manitu we decided to host our new platform on two large, dedicated servers, each with 256 GB RAM and 64 CPU cores. Until the end of the year, over 20 virtual machines were migrated and a third node was ordered that will be used primarily for crash testing and to increase the stability of the platform even more.

If you are interested in learning more about our infrastructure or helping out, consider subscribing to the website mailing list, where infra calls are announced or write a mail to alex@documentfoundation.org

Create a Template for LibreOffice, and get a free T-shirt

The Document Foundation launches a competition to increase the number of document templates bundled with the upcoming major release of Libreoffice, open to designers, artists, and creatively talented users.

Deadline for submission, to be included in LibreOffice 4.4, is January 4, 2015. Templates submitted after this deadline will be considered for later LibreOffice major and minor releases, like LibreOffice 4.5 or LibreOffice 4.4.1.

Templates will be selected by the members of the LibreOffice Design Team, and may be edited before the inclusion. Authors of the templates bundled with LibreOffice 4.4 will get a free T-shirt either at LibreOffice booth at FOSDEM on Saturday January 31, or Sunday February 1, 2015, or by post after FOSDEM, and will be credited with a mention on http://www.libreoffice.org/about-us/credits/. They will also have a chance to meet LibreOffice developers and the design team during and after the show.

To be considered for inclusion, templates must meet the following conditions:

  • They are an original work, and are not converted from existing templates.
  • They are licensed under Creative Commons CC0.
  • They are based only on fonts bundled with LibreOffice (Caladea, Carlito, DejaVu, Gentium, Liberation, Libertine G, Open Sans, PT Serif, Source Code, Source Sans).
  • They are based on LibreOffice styles, and not on direct element formatting. Styles must be created according to the expected use of the template.
  • They contain only a minimum of text (ideally, no text at all), as they will not be translated for LibreOffice 4.4. Because of that, language must be en_us.

To participate, either upload the template on TDF wiki or send it by email to templatecontest@libreoffice.org, and we will add it to the list. Templates will be collected here: https://wiki.documentfoundation.org/Design/Whiteboards/Templates_for_LibreOffice_4.4.

Please specify the category and/or the intended use of the template, and the license of the template. You can send any number of templates, provided that all of them meet the above conditions.

For more information about creating templates, please check here: https://help.libreoffice.org/Writer/Creating_a_Document_Template and
here: http://lodahl.blogspot.ae/2014/12/making-good-and-solid-templates.html.

As an example, categories of templates could be: books of various types, address/phone books, business cards, calendars, curriculum vitae/resumes, essays, expense reports, letters, lists, records and reports of various types, schedules, etc.

Be creative ! We look forward to bundle your template designs !

Get ready for LibreOffice 4.3 bug hunting session

The Document Foundation (TDF) announces the schedule of the first LibreOffice 4.3 bug hunting session, which will start with the availability of the first beta of the new major release in calendar week 21 (May 23 to May 25).

Participating will be easy. Details of the bug hunting session are on TDF wiki (https://wiki.documentfoundation.org/BugHunting_Session_4.3.0), where there is also a growing list of LibreOffice 4.3 new features and improvements to check for bugs and regressions (https://wiki.documentfoundation.org/ReleaseNotes/4.3).

To participate, it will be necessary to have a PC with Windows, MacOS or Linux, and LibreOffice 4.3 Beta 1 (available at http://www.libreoffice.org/pre-releases), plus a lot of enthusiasm.

Filing bugs will be extremely easy, thanks to the help of experienced volunteers who will be around on the QA mailing list (libreofficeqa@lists.freedesktop.org) and IRC channel (irc://irc.freenode.net/#libreoffice-qa).

A second LibreOffice 4.3 bug hunting session will be organized – with the same pattern – immediately after the release of LibreOffice 4.3 Release Candidate 1, in mid June.

LibreOffice happy to work with Coverity Scan results

Spending part of my time to LibreOffice QA, I look over the web page displaying all the commits for LibreOffice code (1) from time to time.
The last months, I saw an large amount of commits related to ‘Coverity’. I remembered that name from years back, in the old OpenOffice.org project.
To explain: Coverity is a project that runs all kind of automated code checks, discovering typical but often hidden programming errors. Memory leaks, but also errors that may cause little, not so often encountered errors for the users. The reports from Coverity are a valuable contribution to – among others – the LibreOffice development process.

The work on using the Coverity reports for LibreOffice is done by a variety of LibreOffice developers, some on the building and testing, others on the other work to fix the issues. In the first months many hundred improvements have been made, making LibreOffice more robust, better. There are still some few thousand issues left however 🙂 So pls get in contact if you like to help with these improvements.

Again it’s lovely to see that core and volunteer developers work together to get thousands of improvements in the LibreOffice code.
Of course in this special case it only can be done with to the work of the Coverity team, that helps open source projects to become more stable and improve quality. Thanks a lot for that!

Impress Remote for Android: video and how-to instructions

Impress Remote for Android is one of the coolest features introduced by LibreOffice 4.0. With version 4.0.1, it is compatible with every platform – Linux, MacOS and Windows – and works like a charm.

In order to install and operate the Impress Remote you must first download it from Google Play on your Android smartphone, and then follow a simple procedure, which is described in this wiki page and also in this video:

[youtube http://www.youtube.com/watch?v=hM5H4fUxq4M&w=640&h=360]

If you like the Impress Remote for Android, please remember that The Document Foundation is a not for profit entity which lives thanks to the work of many volunteers, but also thanks to donations, which support infrastructure, marketing and community development.

Waving TDF Long Tail

TDF Long Tail

In 2012, developers hacking LibreOffice code have been around 320, with a majority of volunteers and a minority of people paid by companies such as SUSE, RedHat and Canonical (plus a multitude of smaller organizations such as Lanedo, which is also a member of our Advisory Board and builds a significant part of its business by providing development related value added services on top of LibreOffice code).

The graphic visualization of the individual commits has the shape of a “long tail“. The pie is an explosion of the work done by the top 33 hackers with 100+ commits: 16 volunteers, and 17 paid developers (11 from SUSE, 5 from RedHat and one from Canonical). At TDF, we do not have “paid volunteers” because we love transparency and truth.

If you are not familiar with the importance of the “long tail”, especially for free software projects, you might get some interesting insights from the following TED speech, by Clay Shirky:

[youtube http://www.youtube.com/watch?v=sPQViNNOAkw?rel=0&w=640&h=480]

Clay Shirky has inspired the work of Chris Anderson on the long tail (article, book and blog) with his 2003 essay “Power Laws, Weblogs and Inequality“, which is a very interesting reading.