Skip navigation

Tag Archives: libreoffice

On Monday September 16th, Richard Stallman, long-time president and founder of the FSF, has resigned from both his position at the FSF, and the MIT.

There’s a plethora of reporting around that – if you’re short on time, then I recommend reading Thomas Bushnell’s rather excellent medium piece in full.

Many things can be said about this event, but immediately coming to defend RMS as a principled old man, who was the victim of a witch hunt, is not it. I fundamentally disagree with Michael here, and like to point out (though its obvious), that his point of view is not shared nor endorsed by The Document Foundation, albeit aggregated on their planet.

This is what I posted last night to the TDF board, when we discussed the implications on Michael’s post being on that planet:

Dear board,

Björn wrote:

Or to put it much better argumented and better informed than I ever could:
View at

Please do read the linked article in full. It echos my thoughts
exactly, but with much more authority & eloquence than I could have.

If you have some extra time, the entire story is many years, and
probably thousands of pages worth of words - but it's not a happy
story (it includes, at various occasions, RMS endorsing child
pornography and pedophilia).

For me, the sticking point is a slight remix of one of Thomas'
sentences: Michael treated the problem as being “let’s make sure we
don’t criticize RMS unfairly”, when the problem was actually, “how can
we come to terms with a decades-long history of RMS’s own mistreatment
of women and held views incompatible with broad societal norms &

In light of the above, I reject, in the strongest possible terms,
being seen near a statement that starts with "Really disappointed to
see the outcome with RMS". The blog post is offensive to women, the
victims in particular, tone-deaf to the wider issues at stake, and
harmful for TDF's reputation when issued by a board member on a
TDF-imprinted site.

It would have been better to stay silent.

Can someone please fix this?


-- Thorsten

Update 2019-09-23: Perhaps not entirely unambiguous – I wasn’t suggesting here that Michael would fully endorse RMS, but coming to his defense at this incident. Also adding the real name of my fellow TDF director, whom I was responding to in the mail above.

Update 2019-10-15: Bradley Kuhn’s statement after leaving the FSF is worth reading in its entirety, and well reflects what I believe leaders should aspire to.


Let me join Mike, Miklos and Björn in the blog reporting on last month’s LibreOffice Hackfest in Hamburg (a good old tradition):

LibreOffice Python hacking

With a nice round number of 100000 (decimal 32) participants and surprisingly non-rainy and warm April weather in Hamburg, we met at very stylish offices that also generously provided us with food and beverages. Further shout-outs to TDF (and all its donors) for providing travel support for our volunteers and, equally importantly, sponsoring CIB’s very own Armin Le Grand fulltime mentoring on and off site.

You can find more details on contributions and work done on the event’s wiki page, and also for the simultaneous German community meetup (wiki, blog); just as much here: code-wise, we had 55 commits from hackfest participants over the weekend –

11  Zdeněk Crhonek
 9  Stephan Bergmann
 5  Christian Lohmaier
 5  Katarina Behrens
 5  Sophia Schröder
 4  Armin Le Grand
 3  Michael Meeks
 3  Tamas Bunth
 3  Heiko Tietze
 2  Markus Mohrhard
 2  Miklos Vajna
 1  Linus Behrens
 1  Nithin Kumar Padavu

and probably another 15 or so landing in the weeks after, but with substantial work carried out during the hackfest. I’m really quite happy with the outcome, as well as with the number of new and old names in the above list!

I’d like to highlight one particular area of work (as it’s not reflected yet in the list above i.e. no commits on master yet), namely Regina’s ongoing endeavour to improve LibreOffice ODF conformance (or alternatively the ODF specification, if instead she believes LibreOffice gets it right and the spec has it wrong). This is especially noteworthy as it’s purely volunteer work, including weekly attendance and contribution to ODF technical committee phone meetings. Regina spent the weekend poring over LibreOffice drawing subsystem minutiae with CIB’s Armin Le Grand, and in the end wrote up a plan on making the layer functionality in Draw/Impress more useful and compliant to how ODF specifies layers: Make drawing layers ODF conform .

For myself, I (almost) didn’t get any hacking done but instead spent time mentoring, getting face time with many people, providing hackers with (mostly double) espressos, and had a handful of quite excellent discussions that only tend to happen with enough of smart people in the same room:

  • discussed opportunities around GPG signing and encryption for the public sector with Lothar Becker
  • pondered the future of application development (electron vs. browser-only vs. native ports – and all kinds of in-betweens) with Tim, Michael, and Benjamin
  • got the latest news around autocrypt, memory hole and from Björn Petersen
  • went through a number of sticky problems TDF is facing with regard to upcoming GDPR end of May, with K-J, Uwe, Florian and Eike.
    • BTW for the record, I consider GDPR a broadly good thing & not an undue burden, and a useful motivation also for volunteer and charity organisations to live up to some data protection ideals.

And last but not least thanks to Armin, Bubli, Michael and Siegmund for being the local CIB posse on the ground for that hackfest; and of course thanks to CIB for letting us have such an outstanding LibreOffice team – and to all volunteers donating a full weekend to LibreOffice!

Here are some impressions from the event (thx to Sweetshark for sharing his pictures – that work is (C) 2018 Björn Michaelsen, as noted in the image description):

With the release of LibreOffice 5.4.0 today, I’m most happy to announce support for OpenPGP / GnuPG keys when signing ODF documents in LibreOffice under Linux. This is great if you already use GPG/PGP for email with your peers, as it ensures authenticity of your ODF documents regardless of the mode of transport or storage.

For any ODF document, simply navigate to File->Digital signatures in LibreOffice, and the certificate selection dialog will transparently list all suitable signing keys on your system, including those from Kleopatra, KGpg, GPA or Enigmail – that perhaps you’re using already for secure email.

Pick a GPG key, and LibreOffice will delegate all password entry and GPG crypto to tried-and-true system components (the LibreOffice process won’t even see you passphrase):

Sign document with GPG key

We also made signature status much more visible – before, signed documents only had a tiny icon down in the status bar (both for valid, as well as for broken or untrusted signatures – not ideal for noticing). LibreOffice there follows the trend set by browsers, to make security features (and broken trust) much more obvious. Your validly signed document will now show up like this:

InfoBar showing signature status

Work is ongoing on adding support for Windows (and perhaps other platforms) as well – as of today, LibreOffice 5.4 supports this feature only under Linux. Furthermore, we also plan to provide GPG-based encryption of ODF documents (currently, document encryption is based on individual passwords), stay tuned!

This work was generously sponsored by the German federal office for information security (BSI), and of course builds on top of great software like GnuPG – many thanks!

This is the fourth (and last) in a series (1, 2, 3) of quick updates on travel and meetups I attended this year, for or because of LibreOffice / The Document Foundation. The next LibreOffice event you’ll definitely meet me will be the annual LibreOffice conference, this time in Aarhus, Denmark, on Sep. 23-25th.

As I keep saying every year, FOSDEM is really the FLOSS event to go for me. If I could attend only one, I’d be hard pressed to choose between LibOCon and FOSDEM – it is that great. Fortunately, that hard choice is not upon me. The TDF board therefore uses FOSDEM for one of the two in-person board meetings (the other one being during LibOCon) per year, and also tries to have a hackfest adjacent to it. Which is rather economic on travel, since lots of people are around already.

The LibreOffice project was again co-running the Open Document Editors devroom, and this time, we hit some true home runs. Especially for the mobile topics, the room was full to the gunwales. I was looking after our own small lightning talks track, with the following talks (slides linked):

  • Jos van den Oever about font embedding in ODF (slides/demo)
  • Asheesh Laroia about ODF support in EtherCalc (slides)
  • Your truly with the Nice Slides in Seconds! pitch (slides, /code)

Next to looking after LibreBaby and socializing with tons of people on the hallways, I attended only a few talks myself. Beyond our own dev room stuff, I recall a home-made GPS watch talk, and one about making your tests fail via randomized parameterization, which were both great.

The monday after, we had a full day of TDF board meetings (good progress there on annual budget planning, and a number of smaller items), and the UX hackfest in parallel. I used the opportunity to corner both Michael M. and Michael S. on ODF topics, with now hopefully much better mutual alignment. On the actual hacking front, I spent most of the time finishing up my markdown slide generator project, the result of which was mentioned on this blog already.

Pair programming, UX hackfest

Pair programming, UX hackfest

This is the third in a series (1, 2) of quick updates on travel and meetups I attended this year, for or because of LibreOffice / The Document Foundation.

On March 19-20th already, the 2nd LibreOffice hackfest in Las Palmas, Gran Canaria took place at the ULPGC. Thanks to Fran Santana and the team from the university for hosting us, and my new company CIB for sponsoring food & drinks and diners – and a very significant infusion of people into the LibreOffice ecosystem!

Scheduling was perfect, we reportedly had the worst weather of the year thus far, so sitting down & hacking really was the only alternative. Accordingly, a number of things got done, bugs fixed, and stuff/folks bootstrapped.

There were a few encouraging contacts to local LibreOffice users, and very interesting conversations with students, some of them really new to the ideas, concepts & the way of life inside a FLOSS project.

On a personal note, I’m very happy to report that travelling, and working, with a 1.5 year-old is very much possible in FLOSS land. Both university and hackfest attendees were lovely, understanding, and forgiving LibreBaby the occasional cries of joy (and anger). 🙂

This is the second in a series of quick updates on travel and meetups I attended this year, for or because of LibreOffice / The Document Foundation.

On invitation by Michael and his Collabora crowd, this year saw the first LibreOffice hackfest ever on English soil, conveniently located, and helpfully scheduled in parallel to the annual Cambridge beer festival.

Attendees and host were great, my attention this time evenly split between hacking, personal talks, and very well-organised and entertaining evening activities (see below). I even fixed a bug! 🙂

This is the first in a series of quick updates on travel and meetups I attended this year, for or because of LibreOffice / The Document Foundation.

Thanks to Florian, the German LibreOffice community again had the opportunity to meet in person, to work and plan activities for the coming 12 months. As usual, this meetup took place in the Linux Hotel in Essen, a lovely location, and conveniently placed in the middle of Germany. The event took place a few weeks ago already, during the weekend June 19-21st. Bubli went first, since I could only join Saturday evening due to a conflicting family event.

The meeting was a blast, and with a virtual group like the LibreOffice community, a most welcome (and far too seldom) opportunity to connect in person. The agenda was packed, and a number of activities identified there got started already (IT & Business trade fair, updated flyers).

Martin and Italo, cooking

Martin and Italo, cooking

Sunday morning plenary session

Sunday morning plenary session

Was great to be there, and very encouraged by the newly-invigorated German LibreOffice community spirit! On that account, and if you’re able to read German: there’s a very nice and in-depth special edition of the iX computer magazine available, covering Office productivity in general and LibreOffice in particular.

After a 1.5 year stint in Linux virtualization and cluster file systems (thanks SUSE for the exciting times – btw, they’re hiring!), I’m most happy to report today a return to fulltime LibreOffice work.

Starting already from last Thursday, I’m now part of a growing team of LibreOffice experts at the German CIB, one more in a set of independent software vendors offering service, support, consulting, as well as migration and trainings around LibreOffice. In my other capacity as chairman of LibreOffice’s The Document Foundation, it is most encouraging to see this thriving ecosystem, providing real choice to anyone deploying LibreOffice professionally.



Did I mention that The Document Foundation really encourages everyone relying on LibreOffice in a business setup, to talk to one of the ecosystem companies for (optional) bugfixing and support? This is not because LibreOffice would not be usable as such, but instead it is my experience that bugs and other problems turn up only with specific documents. A service contract with one of the listed companies gives your specific problems the priority they need, when you need it.

What else to add at this point? I look forward being in Munich most of this month, one of the larger LibreOffice deployments in the public sector, that we’re supporting. I’d like to encourage anyone using, or considering use of LibreOffice professionally, to take a look at Munich as a wonderful example; and of course CIB — and I personally — would be most happy to support you and your company to make your LibreOffice deployment a success!

And lastly, we’re still growing our team. Please check our (German) jobs page for offers, and/or if you’re an experienced LibreOffice hacker, contact me directly. For all of the above, my new work email is Thorsten.Behrens at

Happy hacking, and see you around! 🙂

Apologies for being really extra-late with this report, but at least I don’t have to update this post with links to late video uploads or the upcoming LibreOffice 4.4 features page. 😉

Let me first thank Google’s OpenSource office for their generousity, our many volunteer mentors for their time & efforts, and of course this year’s ten successful GSoC students for their outstanding job!

Without further ado, below is the collection of the achievements during the 2014 GSoC period, in no particular order:

Andrzej Hunt

Andrzej is a returning GSoC student, and continued his work with the mobile story for LibreOffice. In particular, he worked on tiled rendering support in Calc and Impress, to be used e.g. for viewer applications on mobile devices.

With his words, the achievements include:

  • “Zoom” Controls for the gtk tiled viewer. (Zooming is however quite slow as we’re repainting a huge tile…)
  • A part selector for the gtk tiled viewer, i.e. permits switching between tabs in a spreadsheet, or slides in a presentation (writer documents are however rendered all as one huge block).
  • Associated zoom and part selection methods for the LokDocView gtk+ widget.
  • A quad-tiled widget for testing (nothing to do with real tile composition…): this allows for inspecting tile transitions/borders (and was useful for finding some more glaring issues in the calc implementation).
  • Some automated tests that aren’t yet fully enabled due to some further bugs that have been uncovered (which would cause them to fail).

Here’s how it looks:

Impress tiled rendering

Calc tiled rendering

Andrzej’s LibOCon talk gives even more details.

Anurag Kanungo

Anurag implemented an Adobe Pagemaker import filter from scratch, for the Document Liberation Project – a sister project of LibreOffice, also under the roof of The Document Foundation

In his words, this is what he did:

  • Reverse Engineered about the encoding of various shapes ( line, rectangle, polygon, ellipse) in the pmd file format, using oletoy.
  • Parsing of various shape transformations such as Rotation and Skew.
  • Implementation of proper geometry and output the shapes to open document format.
  • Rotation and Skew is implemented for the shapes. So, that basic skeleton of all the shapes are ready.
  • Fill and Stroke are reverse engineered and parsing is done.
  • Solid Fill and Normal Stroke for shapes are output properly.

Remaining issues:

  • Ellipse Skew Output is not perfect yet.
  • Fill patterns are to be implemented. ( Bars, Tilted lines, Grids etc.)
  • Stroke patterns are to be implemented. ( Dashed array, multi line stroke etc.)
  • Stroke are not output properly, Pagemaker stroke overlaps the shape where as open document format adds stroke on the outside the shape. ( To reproduce the problem , try a custom stroke on a rectangle with width 40pt and then convert).
  • Fill doesn’t work fine for open polygon.

You can find a pagemaker file and a converted odg file here for comparison:

Original PageMaker rendering
As imported by the new filter

Further details can be found on Anurag’s blog.

Valentin Kettner

Valentin jumped onto the thankless job of refactoring Writer – both the oldest and the largest application in the LibreOffice suite, with a lot of coding sins and technical debt. One example: sw/inc/doc.hxx is included by half of the Writer source files, and itself includes loads of other headers (by way of being the central class of a text document). Apart from undesirably tight coupling, that also causes a major and unneeded increase in incremental (re-)build times.

Below is the impressive list of changes Valentin did:

  • fdo#75280 Started cleaning up of sal_uIntPtr usage.
  • Split out the IDocumentDeviceAccess interface of SwDoc.
  • Started cleaning up of IDocumentDeviceAccess methods in SwDoc.
  • Removed getVirtualDevice and setVirtualDevice from SwDoc.
  • Cleaning up of IDocumentDeviceAccess methods in SwDoc.
  • Cleaning up of IDocumentDeviceAccess methods in SwDoc.
  • Finished cleaning up of IDocumentDeviceAccess methods in SwDoc.
  • Made SwDoc::getDocumentDeviceAccess return a reference.
  • Work on DocumentSettingManager for SwDoc.
  • Added 32DummyCompatabilityOptions to DocumentSettingMananger
  • Removed DocumentSettingManager methods from SwDoc.
  • Removed IDocumentSettingAccess.hxx include in SwDoc.hxx
  • Removed IDocumentDeviceAccess.hxx include in SwDoc.hxx
  • Fixed a typo in IDocumentSettingAccess.hxx
  • Added IDocumentSettingAccess& getIDocumentSettingAccess() to SwDoc
  • Changed DocumentDeviceManager includes to IDocumentDeviceAccess.
  • Split out IDocumentDrawModelAccess from SwDoc.
  • Moved SwDoc’s get methods from docnew to doc.cxx
  • Finished rebasing to master.
  • Refactored IDocumentChartDataProviderAccess in SwDoc.
  • Refactored IDocumentTimerAccess in SwDoc into DocumentTimerManager.
  • Refactored IDocumentLinksAdministration out of SwDoc.
  • Refactored IDocumentListItems out of SwDoc.
  • Refactored IDocumentListsAccess out of SwDoc.
  • Refactored IDocumentOutlineNodes out of SwDoc.
  • Refactored IDocumentContentOperations out of SwDoc.
  • Fixed build fail on MacOSX after f634ec5 .
  • Fixed another build failure caused by 2 refactorings.
  • Added #include to DocumentContentOperationsManager.
  • Refactored IDocumentRedlineAccess out of SwDoc.
  • Refactored IDocumentFieldsAccess out of SwDoc.
  • Refactored IDocumentLineNumberAccess.
  • Refactored IDocumentStatistics our of SwDoc.
  • Refactored IDocumentState out of SwDoc.
  • Refactored IDocumentLayoutAccess out of SwDoc.
  • Refactored IDocumentStylePoolAccess out of SwDoc.
  • Refactored IDocumentExternalData out of SwDoc.
  • Refactored SwDoc::GetEditShell .

Valentin’s mentor Michael Stahl’s LibOCon talk gives even more details.

Efe Gürkan Yalaman

Efe worked on the new LibreOffice start center, improving it such that templates now appear directly in the Start Center, and can be picked from there:


Below is what Efe achieved during GSoC:

  • Start Center now has TemplateLocalView with templates.
  • Default view (TemplateLocalView) is set to show all types of templates.
  • A few more handlers and toolbars got moved
  • Opening regions works properly
  • Creating and deleting folders works.
  • Moved initial parts of TemplateBar.(Save, Export etc.)

Future work:

  • Change Templates button with a dropdown to filter the templates for the Module.
  • Put a return point to Recent Documents. Maybe put it in the dropdown?
  • How should editing work?
  • Pondering about filtering (date, alphabetical, filetype etc.)

Efe’s LibOCon talk contains a demo and many more details.

Matteo Campanelli

Matteo worked on two pieces, both situated in the Draw and Impress text editing code. Firtly, the missing feature of setting a background color for text characters was implemented. This was needed especially be a number of Document Liberation Project import filters.


Secondly, a more challenging task was started, namely involving automatic flow of text from one box to another. Imagine having a text box containing too much content for its size. In some documents it is not possible or convenient to solve the problem resizing the box or the font. In these situations we may want the overflowing text to move to some other area in the document, such as another text box logically linked to the overflowing one. This is commonly used for two-column text layouts, but was missing for Impress


See also Matteo’s LibOCon talk for more details and insights.

Mihai Varga

Mihai successfully implemented support for OneDrive and Microsoft SharePoint 2010 native API into libcmis. He also fixed LibreOffice to work with those 2 new protocols. So users will soon be able to grab their documents from their OneDrive account or from SharePoint Foundation server.


See alo Mihai’s LibOCon talk for more details and a demo.

Krisztián Pintér

Krisztián implemented support for more colour palettes, reading of “.gpl” (Gimp) palettes and redesigned the colour picker to be able to use them. With the new colour picker the user has the ability to select the wished colour palette in a drop down menu that are included in the profile (by default there are already additional palettes included). As a document can have colours that are not provided by any colour palette (especially when the document is not ODF), Krisztián added gathering of all colours in the current opened document and presented them as “Document colours” palette.

There were 2 more changes that were missing, are very convenient and highly requested: recent colours and custom colour. With custom colour a user has the ability to select a colour from the colour spectrum, and use that in the document. Recent colour are those that were recently chosen by the user – it is unlikely that a user will use many colours in a document so such a list of recent colours is very convenient for users when they are creating a document.

All this changes have been integrated into master and will be available in LO 4.4.

See also Krisztián’s LibOCon talk for more details and insights.

Rachit Gupta

Rachit worked on the LibreOffice support for FireFox personas (a feature implemented in an earlier gsoc term). During this Summer of Code, he improved the usability of personas. LibreOffice version 4.0 introduced the possibility of applying Firefox Personas to the suite so that users can customize the look and feel while working with LO. However, to do that, the user had to open up the dialog, which would redirect them to a browser, search for the themes on the Mozilla website, copy the URL back in the dialog and wait till the theme was downloaded and applied. The aim for the summer was to make this process a bit more intuitive for the user. The user can search for themes by putting in a search term in the dialog itself. The dialog searches for themes using the Mozilla add-on API, and display the first 9 results with previews in the dialog itself. The user can select any theme and continue working as the theme is now downloaded in a separate thread which does not block the main thread. Also, the user can install a self made theme using oxt extensions. The user can install multiple oxt themes and select one from them.


Palneik Mihaly and Szymon Kłos

Both Mihaly and Szymon worked (independently) on converting legacy UI fixed-layout dialogs over to Caolán’s new format, which is editable by the glade UI builder tool.

When they started working, 64 Dialogs and TabPages were still awaiting conversion. It was uncertain how to launch all of them (obscure cases, unclear if related to long-removed functionality etc). These were the last, and therefore most obscure, difficult to convert, or just plain huge ones.

And the end of the project, each student converted approximately 30 dialogs and TabPages. That means, all .src-based dialogs were converted, as well as all .src-based TabPages.

From the wiki page tracking the UI conversion:

  • 842 .ui files currently exist
  • There are 0 unconverted dialogs
  • There are 0 unconverted tabpages
  • There are 0 unconverted errorboxes
  • There are 0 unconverted infoboxes
  • There are 0 unconverted queryboxes
  • There are 0 unconverted warningboxes
  • There are 0 unconverted msgboxes
  • There are 0 unconverted floatingwindows
  • There are 19 unconverted dockingwindows
  • An estimated additional 19 .ui are required
  • We are 97% of the way through the .ui conversion.

(footnote: by now 100% is converted)

Please also see Palneik’s and Szymon’s LibOCon presentations for details and their experiences.

As an aside: the next opportunity to meet loads of LibreOffice hackers will be during the annual FOSDEM in Brussels. We’re having a number of talks in the OpenDocument Editor’s DevRoom, and a stand in the K building. Looking forward!

In a nice culmination of a month packed with family festivities and a gorgeous community event (our 2014 LibreOffice conference), today is the day that the LibreOffice project turns 4 years!

LibreOffice turns 2^2 years

LibreOffice anniversary

The project certainly has come of age since that special moment on September 28th, 2010, when after weeks of preparation (and an insane succession of all-nighters), LibreOffice entered the world. Run on a shoestring, off of a box thankfully sponsored by one of our initial supporters (but surviving slashdot), as of today the project has matured into an international community of thousands of contributors, hundreds of developers and a (small) number of employed staffers.

Highlighting just two of the rather (from a 2010 perspective) incredible achievements of the project – that the LibreOffice development team managed to clean up the inherited code base to a point that we’re leading the pack from a defect density point of view – and that as a first, substantial donated funds will be used to further a LibreOffice port into the mobile space.

I’m insanely proud of being part of this, and would like to express my sincerest gratitude to all of you who helped making the LibreOffice project such a fun ride & success – you know who you are!

Here’s to LibreOffice, here’s to our wonderful community. Happy Birthday! \o/

Graphic based on an original svg from Chris Noack