LibreOffice community focus: Development

Over the past few weeks, we’ve talked to the documentation, localisation, QA (quality assurance) and design communities about their preparations for LibreOffice 6.0, which is due to be released this week. For our final Community Focus, we turn to the developer community, which has helped to implement many of the new features you can see in the release notes.

How does the community work on new features?

Development in LibreOffice is achieved using a wide variety of tools and services, which is a testament to the maturity and longevity of the project. The LibreOffice developer toolkit is best summarized by going through the lifespan of a single patch:

1. Communication. When a user would like to see a new feature in LibreOffice, or identifies a problem, he/she has one of several options to bring it up:

  • Bugzilla: We use our own self-hosted Bugzilla instance. This one of the biggest installations of Bugzilla out there. If you don’t want to report a new issue but would like to contribute towards existing ones, we collect and sort bugs based on skill, difficulty and topic. We also provide a list of EasyHacks that new contributors are encouraged to tackle for a start.
  • E-mail lists: We have several e-mail lists used for general discussion, reports, help and development, the two most important are: libreoffice@lists.freedesktop.org (developers) and users@global.libreoffice.org (users). Here’s how to sign up to the lists.
  • IRC: Core and not-so-core LibreOffice hackers usually hang around in the #libreoffice and #libreoffice-dev channels on the Freenode IRC network. You are welcome to join and ask for help, guidance and general support in there.
  • Telegram, QA, Twitter, etc: We are present on many other online services – global or localized for your community. Check the full list here.

Users, developers and project members usually roam these communication channels and both development and general discussion is taking place. Communication is key. Then the next part is…

2. Development. During this phase the most important tools in the LibreOffice developers’ toolkit are:

  • Git: The LibreOffice source code is self-hosted using Git and is available here. Getting started with LibreOffice and Git is outlined on this page, and an easy build set-up can be achieved using the logerrit tool that we provide.
  • Wiki: The Wiki is a good place to look for information and refine your question before reaching out.
  • Code search: You can easily search (grok) the codebase and reference parts of code in your inquiries to developers using the Opengrok installation.

3. Next steps. Once general agreement has been achieved on how to implement a new feature or fix a specific bug, the following services are used:

  • Gerrit: Core developers and newcomers alike collaborate on the shared code base, using the communication channels outlined before, and Gerrit code review. The Gerrit procedure is recommended for all submissions and all projects that are part of the LibreOffice realm. Signing up on our self hosted Gerrit is crucial to the development process and getting you code admitted into the project.
  • Jenkins and Tinderboxes: Once a specific patch is submitted via Gerrit, a set of automatic continuous integration QA&build tests are being run for all supported platforms, and any defects or regressions will be reported automagically along with feedback from other developers.

An overview of our most critical infrastructure used for development and release engineering is available on this site, while the Wiki has a list of additional services.

Another useful tool – a new addition to the toolkit – is the LibreOffice dashboard. You can use it to inspect the development, release and lifecycle of LibreOffice core and its associated repos with a bird’s-eye view.

So that’s the final Community Focus – a big thanks to all developers and testers who’ve helped to add the many great new features in LibreOffice 6.0! (And thanks to Teodor Mircea Ionita for his help with this post.) Stay tuned to this blog for the official announcement of the new release…

Sunday Marketing #2

In 2017, The Document Foundation has announced the availability of a Dashboard, based on data gathered from several development-related repositories. It is a very useful resource for marketing, as it can be configured to provide either an overview of the project or several detailed charts which can be used to get a more precise picture of what has happened in term of commits, committers, organizations, and issues. The time span covered by the dashboard can be set by the user, from days to years.

The three histograms show trends related to commits, committers and organizations during the last 12 months (clicking on the thumbnails will open a large image, easier to read).

Commits and committers show a rather stable trend, which confirms the maturity of the project. The very few lows in commits are either seasonal or related to the LibreOffice Conference, when core developers are spending most of their time on knowledge sharing rather than on code hacking.

The organizations’ histogram adds the affiliation bit to commits. Collabora, Red Hat and independent volunteer developers (marked as “unknown” in the legend) are the three largest group of contributors, followed by CIB and SIL. Of course, we would like to see more contributions from developers paid by large organizations deploying LibreOffice for personal productivity.

The following four thumbnails show the dashboard home configured for the following time intervals: 2 years, 1 year, 6 months and 90 days. They provide some interesting insights.

Coming up on December 22: Bug Hunting Session for LibreOffice 6.0 RC1

2017 is coming to a close, but our community is still busy preparing for the release of LibreOffice 6.0, which is due in late January 2018. Many new features have been added to this version, and to make it as reliable as possible, we want your help!

On December 22 we will have an international Bug Hunting Session (BHS), testing the RC1 (first release candidate) of LibreOffice 6.0. You can download, try out and test this RC1 version – and if you spot any bugs, let our QA (Quality Assurance) community know.

Mentors will be available to help you file bugs from 11:00 UTC to 15:00 UTC on that day. All assistance is greatly appreciated – together we can make LibreOffice 6.0 the best release ever, for millions of people around the world! For full details on the Bug Hunting Session, and how to get involved, see our wiki:

Click here for full details about the Bug Hunting Session

In addition, there will be a local event in Ankara, organised by the Turkish LibreOffice community. Here are the details:

  • Date: Dec 22 Friday
  • Time: 14:00-17:00 (UTC+3)
  • Location: TUBITAK ULAKBIM, 7th Floor, Meeting Room 2
  • Registration form: https://goo.gl/forms/paVTg3ExZDn0Oytj1
  • Attendees will bring their own laptops. Registration until Thursday 17:00 (UTC+3) is required. There will be snacks, tea, and some swag!

Document Liberation Project: 2017 in review


While most of the posts on this blog are about LibreOffice, another project overseen by The Document Foundation is DLP – the Document Liberation Project. Whereas LibreOffice is an end-user application, DLP is a collection of free and open source software libraries that help to convert document formats. Developers can use these libraries in their programs, in order to import and export a large variety of files – including proprietary formats. Many well-known applications use DLP libraries, including Inkscape, Scribus, Calligra and of course LibreOffice.

So, what happened in DLP throughout 2017? Read on for our round-up of the year’s news…

New import filter: QuarkXPress

Aleksas Pantechovskis, as part of the Google Summer of Code, worked on a new import filter for QuarkXPress documents: libxqp. It currently supports QuarkXPress 3.1 – 4.1 documents, and this image shows it in action (original QuarkXPress file on the left, and how it’s converted into OpenDocument on the right):

Big improvements to Lotus 123 import

Laurent Alonso made some major improvements to the Lotus 123 filter, adding support for many formatting and layout options. Check out these pictures as an example – the top shows a Lotus 123 file in LibreOffice 5.3, missing almost all of its formatting. Underneath, however, you can see how it’s rendered in LibreOffice 5.4, with much more of the formatting present (click for bigger):

New library releases

Throughout the year, many libraries were updated as well. Here’s a summary:

  • 2 Aug – libepubgen 0.0.1 – This fixes escaping of HTML entities, and the code has been updated to C++11
  • 12 Sep – libwpd 0.10.2X – Also updated to C++11, and includes various fixes from OSS-Fuzz
  • 12 Sep – libwpg 0.3.2 – Improves performance of reading image data from WPG2 files
  • 14 Sep – libzmf 0.0.2 – Minor code cleanups and some fixes from OSS-Fuzz
  • 15 Sep – libcdr 0.1.4 – Fixes issues found by Coverity, and require C++11 for build
  • 16 Sep – libfreehand 0.1.2 – Parses more features, including text on paths, stroke patterns, arrows, and custom line and fill styles
  • 21 Oct – libvisio 0.1.6 – Various improvements to import of MS Visio files, plus Coverity and OSS-Fuzz fixes
  • 23 Oct – libetonyek 0.1.7 – Improves support for gradients, cell styles, non-RGB colours, and table border lines
  • 13 Dec – libepubgen 0.1.0 – EPUB3 support, plus support for embedded fonts, cover images and footnotes
  • 13 Dec – writerperfect 0.9.6 – Adds support for StarOffice Writer and Zoner Draw documents, and includes universal conversion tools

Find out more!

For details on the libraries mentioned above, see the projects page on the site. And check out the contribute page to see how you can help – because even if you’re not a developer, you can prepare sample documents for testing. Oh, and to learn more about DLP, watch this short video!

Please confirm that you want to play a YouTube video. By accepting, you will be accessing content from YouTube, a service provided by an external third party.

YouTube privacy policy

If you accept this notice, your choice will be saved and the page will refresh.

LibreOffice contributor interview: Gautam Prajapati

Gautam has been working on the LibreOffice Viewer for Android, as part of the Google Summer of Code. We caught up with him at our recent conference in Rome, to talk about progress in the Android app, his experiences of joining the community, and how others can get involved.

Please confirm that you want to play a YouTube video. By accepting, you will be accessing content from YouTube, a service provided by an external third party.

YouTube privacy policy

If you accept this notice, your choice will be saved and the page will refresh.

Second Bug Hunting Session for LibreOffice 6.0

After the first Bug Hunting Session for LibreOffice 6.0, which was held on October 20th 2017, we’re glad to announce the Second Bug Hunting Session on November 27th – this time being held on a Monday, for the first time!

LibreOffice 6.0 will be announced at the end of January 2018, and so far, almost 800 bugs have been fixed in this version, with more than 700 people reporting, triaging or fixing those bugs. More info can be found here. Besides that, a large number of new features, which are summarized in the release notes, have been added.

In order to find, report and triage bugs, the tests during the Second Bug Hunting Session will be performed on the first Beta version of LibreOffice 6.0, which will be available on the pre-releases server a few days before the event. Builds will be available for Linux (DEB and RPM), macOS and Windows, and will run in parallel with the production version.

Mentors will be available on November 27th 2017, from 8AM UTC to 10PM UTC for questions or help in the IRC channel: #libreoffice-qa (connect via webchat). Of course, hunting bugs will be possible also on other days, as the builds of this particular Beta release (LibreOffice 6.0.0 Beta1) will be available until mid December.

And it’s still the Month of LibreOffice!

Throughout November we’ve been running a Month of LibreOffice, awarding cool stickers to contributors across the project. The Bug Hunting Session is your chance to get a sticker for your laptop or PC – so get involved and help us make LibreOffice 6.0 the best release yet! See here for more about the Month of LibreOffice.

And there’s more information about how to hunt bugs in LibreOffice 6.0 Beta1 in this wiki page.