October 11, 2011

The LibreOffice Wildfire

The LibreOffice project celebrated their first birthday in September, and what a first year it was, all full of new energy and torrents of improvements. Let's take a tour of one of the most successful forks ever.

Why Fork?

After some exciting drama and suspense, LibreOffice was forked from OpenOffice.org in September 2010, so it just had its first birthday. I had the good fortune to talk to Michael Meeks, long-time OOo lead developer and SUSE desktop architect, and Italo Vignoli, member of the Document Foundation Steering Committee, about LibreOffice's first year. It's been a productive and busy year.

OpenOffice.org was owned by Sun until Oracle bought Sun in April 2009. Oracle did not demonstrate much interest in supporting OpenOffice.org. After the deal closed, Oracle said little to the community, and had conflicts with OOo contributors. The project had already been stagnating for some time, and key supporters and developers weren't interested in sitting around while it stagnated some more, so they took matters into their own hands. And thus the independent non-profit Document Foundation was born in September 2010, with the purpose of providing a home and governance for OpenOffice.org. Their original intent was not a fork, but a continuation of OOo. Oracle was not interested in a continuation, and in a gesture interpreted by some as a shot at LibreOffice, donated the code to the Apache Foundation in June 2011. And thus LibreOffice was forked from the OOo codebase. (I think LibreOffice is a better name anyway, because OpenOffice.org sounds like a Web site, not a piece of software.)

LibreOffice attracted many of the OOo developers, and operates under a different structure than OOo. Sun required copyright assignment; LibreOffice does not, but requests joint licensing. LibreOffice uses a uses dual LGPLv3/MPL license (or later) licensing, so licenses will be upgraded automatically. The Document Foundation attracted key supporters right away such as Red Hat, Novell, Canonical, Google, and GNOME. Novell merged their excellent Go-OO patchset into LibreOffice, and Red Hat also merged their enhancements. The first LibreOffice stable release was in January 2011, and LibreOffice is now in most Linux distributions.

So what happens to OOo? It lost momentum for more than two years, and is currently sitting in an Apache incubator while a development infrastructure is built. Projects sit in the incubator until they attract enough contributors to be viable. Italo Vignoli wrote in a recent blog that IBM hired a former Oracle developer to work on AOOo, and will likely hire more.

First-Year Figures

Here are a few numbers to illustrate how busy Year One of LibreOffice was:

  • 7, count 'em, 7 stable releases
  • 136 new Document Foundation members
  • 330 contributors made over 25,000 commits
  • 100+ mailing lists with over 15,000 subscribers
  • 7.5 million downloads, mainly Windows and Mac
  • Estimated total 25 million users worldwide
  • Android version
  • Several gigabytes of lard pruned from the source tree. Yes, gigabytes

New Features and Cleanups

LibreOffice is now on a six-month time-based release schedule designed to synchronize with major Linux distribution releases. There has been a whole lot of UI cleanup, for example 150 "missing icon" icons were removed. Font previews and text rendering are nicer, and an old font memory leak has been fixed. Rarely-used encodings have been moved to their own library, which reduces memory use. You can now add and remove color charts, and HTML export now includes a thumbnail creator. Version 3.4 can be installed in parallel with 3.3 on Linux, with independent user settings. Calc supports multiple key bindings: the traditional OOo set, or LibreOffice's new enhanced keybindings.

A slick new feature that even Microsoft Office doesn't have is an MS Works import filter. That's right, if you have old Works files moldering somewheres LibreOffice can read them, and convert them to other formats. WordPerfect support is better, and you can import Lotus Word Pro files. LibreOffice reads and writes Microsoft OOXML formats (.docx, .docm, .potx, .xlxs, and so on). And, just like OOo, it exports to PDF.

If you are interested in the hundreds of cleanups and improvements, check out the release notes for the different releases.

LibreOffice Welcome Wagon

A primary goal of the Document Foundation is to make LibreOffice a genuine community project, open to all contributors and not controlled by any single entity. As figure 1 shows, they have been successful in attracting and keeping a sizable number of new contributors in their first year, attracting more developers with commits in the first year than the OpenOffice.org project in its first decade.

 New Contributors Represented by Green Bar


Figure 2 shows this from a different perspective, with SUSE, Red Hat, and new contributors contributing similar levels of commits. Legacy OOo code accounts for a significant chunk, and smaller bits coming from Canonical, pre-Document Foundation volunteers, and a smattering of other contributors.

 Code contributions by company or group

Figure 3 shows the breakdown from yet another view: 200 occasional contributors are responsible for code cleaning, easy hacks, and patches. 90 regular contributors are credited with easy hacks, patches, and features, while a core of 40 contribute patches, features, and packaging.

The Document Foundation wants LibreOffice to be a fun place to hack, and offers a beginner track for new developers. The Contribute to the Foundation is for non-coders who want to contribute.

Quality assurance is a priority, with many testers and automated testing. New contributors can expect to have their code examined closely, while developers who consistently turn in good work will get commit privileges and not so much babysitting.

Document Format Standards Wars

Technology moves fast, and memories are short. Remember the ferocious ODF vs. OOXML battles just a few short years ago? How Microsoft fast-tracked its own OOXML through ECMA, and then gamed (some say corrupted and strong-armed) the ISO approval process? The flames, the passions, the dueling standards geeks? Well, that was then.

 Contributions per occasional, regular, and core contributors.

Not much has happened with OOXML since then. It got its ISO stamp of approval, and it is the default format for Microsoft Office. A number of countries and other entities are looking at it, or using as their default document format. ODF chugs along and ODF 1.2, which is used by LibreOffice, was just approved as an OASIS standard. ODF has broader support than OOXML. Life is short and messy, and both will probably exist side-by-side until something else comes along with the idea of supplanting them, but more likely will be one more thing added the pile. Just remember that computing is a continual cycle of cruft accumulations, and then nothing will surprise you.

So what comes next? Now that LibreOffice is freed from the legendary Sun bureaucracy and the even more legendary Oracle heavy-handedness, the sky's the limit.

Click Here!