|
|
Log in / Subscribe / Register

A LibreOffice update

By Jonathan Corbet
October 23, 2013

LinuxCon Europe
The LibreOffice office suite is a large program with an active, growing development community; it can be hard to keep up with what is happening with it. Fortunately, LibreOffice developer Michael Meeks showed up at LinuxCon Europe to update the audience on what LibreOffice has been up to and what can be expected in the near future. The picture that emerged showed a busy community rapidly adding features and fixing bugs while trying to ease the way for new developers to join the project.

Easier development

Much of the work in LibreOffice, Michael said, continues to be oriented toward making the code base easier to work with. The community wants to grow, and making the code easy to work with seems like a good way to make progress toward that goal. Recently we have seen the completion of an effort to replace the build system which, he said, was "traditionally appalling." All it took to make things better was "three years of hard work."

[Michael Meeks] Another attempt to make things friendly for new developers is the easy hacks page. Experienced developers routinely deny themselves the pleasure of making an easy improvement, choosing instead to add a description of the problem to this page. That allows new developers to come in and find a straightforward project that lets them immediately make things better for LibreOffice users.

A unique development tool used in the LibreOffice community is the "BiBisection" tool. A lot of changes can go in during a six-month development cycle; by the time somebody finds a bug, it can be difficult to determine which change caused it. Such problems call for bisection, but asking users to go through the process of building LibreOffice a dozen or more times to isolate a buggy commit is a hard sell. So, instead, the BiBisection system automatically creates a binary build every ten commits or so, then checks the resulting binary in as a git commit. Git, it seems, is good at compressing the result, to the point the repository holding binaries for the full LibreOffice development history fits in a mere 3GB of space. Now users can quickly bisect a problem by checking out the binaries and running them directly.

Releases, past and future

The LibreOffice 4.0 release came out in January 2013, with a lot of new stuff. Some of the headline features Michael mentioned include range comments (allowing a comment to be attached to a range of text), import of files in the RTF format, "ink annotation" support (drawing over a document, essentially), support for the CMIS protocol (allowing interoperability with applications like SharePoint, Alfresco, Nuexo, and more), Microsoft Publisher import, Visio import, support for Firefox themes, and an implementation of the Logo language.

LibreOffice 4.1 followed in May. A significant new feature in this release is font embedding, where the fonts used in a document can be embedded within the document itself. That improves interoperability between office suites, and, even, between systems; one need no longer fear the mess that results from the replacement of one's fonts when opening a document on a new machine. There is also support for the easy creation of slide decks from photo albums, 90° rotation of images in Writer (Draw has long since had arbitrary rotation), GStreamer 1.0 support, an experimental side bar taken from Apache OpenOffice, and about 3,000 bug fixes, 400 of which came from OpenOffice. With those fixes, there are "only" 5,000 open bug reports for LibreOffice — many of those, he said, are likely to be duplicates.

The 4.2 release can be expected in January 2014. It should feature an improved "start center," the screen that appears when the application first starts up. There will be a new math panel for improved entry of mathematical expressions, a much improved Android remote for running presentations, an iOS remote control app, and integration with Google's GDrive service.

Another big change in this release is a "data structure drug bust" in the Calc spreadsheet application. Calc, it seems, suffers from "rampant object orientation," with the concept of a cell used as the base class for everything. That results in cells being used for everything, including undo, change tracking, and so on; everything has to know about cells. The result is extreme memory use, slow computation, and difficult code. The new code gets rid of the cell base class and, whenever possible, stores data contiguously in arrays. That lets things run faster with a lot less memory; it also opens up possibilities for using the graphics processor (GPU) for computations in the future.

4.2 will have a much faster XML parser. It is fashionable to be against XML, Michael said; XML is seen as being slow to parse, but that doesn't have to be. The LibreOffice developers have sped things up; they have also split XML parsing into a separate thread that can execute in parallel with ordinary processing. There will be better layout integration, with many of the dialogs created with Glade, even though LibreOffice is not based on GTK. The result should be more consistent dialogs and, someday, the ability to use native toolkit dialogs.

This release will also have a fast Firebird embedded database. It replaces HSQLDB, which, he said, is a living proof that Java code can be difficult to integrate with a C++ application. The configuration code will be cleaned up. Even people who like to tweak their applications heavily might think that the 25,000 knobs provided by LibreOffice are a bit much. Configuration options are not being removed — Michael was clear that the project doesn't believe in that — but many of them will be hidden in an "expert" menu. StarBasic will support code completion. And there will be better support for the display of character borders.

Further in the future, we should see a much-improved version of LibreOffice running on Android. There is also a "CloudOffice" prototype HTML5 application, but there is not much additional work being done in that area yet. Collaborative editing is seeing rather more work, with a new mechanism (based on undo tracking) to help keep documents synchronized. Work is progressing on "hybrid PDF files" where the OpenDocument file is embedded within a PDF generated from it. That is a path toward the creation of editable PDF files. Finally, "flattened" files run the normal file format through a pretty printer, allowing them to be inspected (or changed) in an ordinary text editor.

In summary, Michael said, the LibreOffice community is thriving and growing. There are not only a lot of contributors; there are also a number of companies participating; he suggested that projects supported primarily by one company are somewhat risky to be a part of. But, he said, more contributors are always welcome; the audience was invited to jump in and start sending patches.

[Your editor would like to thank the Linux Foundation for travel support to attend LinuxCon.]

Index entries for this article
ConferenceLinuxCon Europe/2013


The LWN site is currently under high scraper load, so comment display has been suppressed for anonymous users. If you are a human, you may read the comments by clicking the button below:

Note: you can avoid this step in the future by logging into your LWN account.


Copyright © 2013, Eklektix, Inc.
This article may be redistributed under the terms of the Creative Commons CC BY-SA 4.0 license
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds