LibreOffice and Google Summer of Code 2023: The results

Google Summer of Code logo

This year, LibreOffice was once again a mentoring organization in the Google Summer of Code (GSoC), a global program focused on bringing more developers into free and open source software development. Five projects were finished successfully. Contributors and mentors enjoyed the time, and here we present some of the achievements, which should make their way into LibreOffice 24.2 in early February 2024!

You can experiment with the new features by using daily builds and report any problems in our bug tracker.


Improving OpenPGP encryption experience in LibreOffice by Ahmed Gamal Eltokhy

Mentors: Thorsten Behrens (allotropia), Heiko Tietze (TDF), Hossein Nourikhah (TDF)

LibreOffice can encrypt documents using OpenPGP public key cryptography by making use of external applications such as gpg4win, GPGTools and gnupg. Thanks to Ahmed’s work, it is now easier to manage and search keys and faster to navigate large keyrings.

Learn more about the encryption experience improvements in the final report.


Selecting tests to run on gerrit patches based on machine learning by Baole Fang

Mentors: Thorsten Behrens (allotropia), Stéphane Guillou (TDF), Christian Lohmaier (TDF)

This project was inspired by Mozilla’s work on Firefox’s continuous integration. There is now a system in place that makes predictions on the test failure possibility of submitted code changes and decides the most efficient way to build the changes. As this kind of machinery is very new to everyone, we expect many tweaks to follow.

Learn more about the machine learning project in the final report.


Search Field in Options by Bayram Çiçek

Mentors: Andreas Heinisch, Heiko Tietze (TDF)

Screenshot of search in options

Searching through options is pretty standard in applications these days, so it is about time LibreOffice learned how to do it!

Learn more about the search feature in the final report.


Convert Writer’s Java UNO API Tests to C++ by Dipam Turkar

Mentors: Tomaž Vajngerl (Collabora), Xisco Faulí (TDF)

The idea here was to reduce the dependency on Java during the LibreOffice build process. Half of the tests for Writer were converted.

Learn more about the test conversion project in the final report.


Add APNG import/export support by Paris Oplopoios

Mentors: Tomaž Vajngerl (Collabora)

APNG is short for Animated Portable Network Graphics. It is not an official extension to PNG, but nevertheless has broad support in web browsers these days. Thanks to Paris’s work, LibreOffice now fully supports this format.

Learn more about the APNG feature in the final report.

Wrapping up

Many thanks to all contributors who spent their summer time improving LibreOffice. You are awesome! And special thanks also to the mentors who always put so much love and energy into these tasks. That’s what makes LibreOffice rock.

Now we are looking forward to next year’s GSoC. If you are interested, why not prepare early? Learn more at out wiki page where some ideas are listed.

Participating in GSoC is a great way to build your skills, and show future employers what you’re capable of!

Welcome Michael Weghorn, new Developer at TDF

Michael Weghorn

The Document Foundation (TDF) is the non-profit entity behind LibreOffice, providing infrastructure and support for the community that makes the suite. Recently, TDF decided to expand its small team with two new Developers – the first (Khaled Hosny) focusing on “complex” text layout languages. Today, we welcome our second Developer, Michael Weghorn, who will initially focus on accessibility improvements. Let’s hear from him…


Tell us a bit about yourself!

I am from Germany, and have been living in Munich since moving here for my studies in computer science about 12 years ago.

I am a free and open source software enthusiast.

Before coming to TDF, I was working for the City (administration) of Munich, first being part of their Linux client team – and since 2018 with the main focus on LibreOffice development. I am also a member of the LibreOffice Engineering Steering Committee (ESC).

Besides my involvement in LibreOffice, I have also contributed a few changes to other open source projects – mostly fixes for issues that I ran into myself as a user. The possibility to do this is certainly one of the many benefits of open source software.

Besides being an open source software developer, I’m involved in a Christian church and like meeting friends, sports and reading.

You’ve been in the LibreOffice project for a while – what have you been working on so far?

I have been involved in the LibreOffice project since 2014, mostly in QA (Quality Assurance) and development.

The first code change I was working on had to do with the selection of the Java runtime on LibreOffice startup, and I was also translating German comments in the source code back then.

Since then, I have mostly been working on fixing bugs in different areas of LibreOffice. The main areas that I have been focusing on are Qt/KDE integration, the Android version and accessibility.

What’s your new role at TDF, and what will you be working on?

I’m joining TDF as a LibreOffice Developer, focusing on accessibility.

Accessibility is quite a broad topic, ranging from the accessibility of LibreOffice’s user interface to the accessibility of the documents that the program creates.

From what I have seen so far, LibreOffice has a good basis regarding accessibility. It’s also great to see recent contributions by others to further improve accessibility (eg improvements for document accessibility and PDF/UA export, the accessibility checker and accessibility on macOS), but there are certainly also areas that will benefit from getting some more attention.

My initial focus will probably be fixing problems encountered in the user interface when using LibreOffice with a screen reader.

From my experience so far, this often not only involves making changes to LibreOffice itself, but also to the corresponding screen reader or elsewhere in the accessibility software stack. Therefore, cooperation with other projects is also essential.

How can all users of LibreOffice help out?

There are different ways to get involved – for example:

  • Join the LibreOffice accessibility mailing list
  • Report accessibility issues in the Bugzilla issue tracker and set the “accessibility” keyword for accessibility-related bugs, so developers become aware and can fix them
  • Confirm already existing bug reports and add more helpful information to them
  • Test development versions of LibreOffice with assistive technology (and report bugs), so issues can be fixed before a new version is released
  • If you’re a developer: help with fixing reported bugs

There’s also an accessibility page in the wiki, which contains some more information and will be further updated in the future.


Great to have Michael on board! 😊 Follow this blog and our Mastodon and Twitter accounts for updates on his work – plus more news from the LibreOffice community.

Five ways we can make LibreOffice and Thunderbird work better together

LibreOffice and Thunderbird logos, shaking hands

LibreOffice doesn’t include an email program, but there are many excellent free and open source software clients that work well alongside it. One prominent example is Mozilla Thunderbird – a sister project to the Firefox web browser.

We know that many people use LibreOffice and Thunderbird as part of their daily workflows – so how can we make them work better together? We reached out on social media to hear from our users – on Mastodon and Twitter (and the Thunderbird project posted on their Mastodon and Twitter accounts too).

Thanks a lot to everyone who responded! There were many great ideas, and here are our top five:

Jay Robbie:

A consistent UI/UX would help familiarize newcomers to both tools more quickly…. possibly a unified Settings area if you were to combine the functionality of both apps. Include a Thunderbird app launcher in the LibreOffice dashboard.

Briani Davide:

Link documents to calendar events or tasks, enabling quick access to relevant files during meetings or when working on projects and create calendar events or tasks directly from within LibreOffice.

this.ven:

What about a better integration of the viewing, editing and exporting capabilities from LibreOffice into Thunderbird for files send via mail? For example, an ODT file can be viewed and edited directly in Thunderbird (without leaving the window) and exported as PDF file.

Johannes:

For me it would help if both would have the same shortcuts for styling the text. For example Ctrl+1 for Header1 etc.

Fabián Valverde:

Being able to insert from Thunderbird contacts into LibreOffice while writing, like when you type “@” on Twitter…

So, let’s make these improvements happen! LibreOffice and Thunderbird are community-driven open source projects, so the more help we get, the better. On our side, we have a meta bug tracking interoperability and integration, and this page shows how to get involved. If you want to help out in the Thunderbird project, see this page. (And if you’re a business running LibreOffice and Thunderbird, please consider funding developers to work on the features you need.)

Thanks in advance for all help – let’s make these apps rock together 😊

Development and Quality Assurance: TDF’s Annual Report 2022

Annual Report banner

In 2022, 11,769 commits were made to the LibreOffice source code, from 218 authors, in 10 repositories. We also took part in the Google Summer of Code, to support student developers

(This is part of The Document Foundation’s Annual Report for 2022 – we’ll post the full version here soon.)

Infrastructure for developers

TDF provides infrastructure for the developer community to continue their work on LibreOffice. These include Git and Gerrit, to make changes to the source code, along with Bugzilla (to track bug reports and enhancement requests), a wiki (to document changes), and Weblate (for translations).

Most technical discussions took place on the developer mailing list and IRC channel, with the latter providing more real-time communication. Members of the Engineering Steering Committee met weekly, to discuss the most pressing issues with the codebase.

Google Summer of Code (GSoC)

GSoC logo

GSoC is an annual programme in which student developers of free and open source software projects receive stipends from Google for their work. LibreOffice takes part in GSoC every year, and in 2022, two students developed features and updates in the software. Let’s go through them…

Hannah Meeks – VBA Macros – Tests and missing APIs: LibreOffice supports VBA (Visual Basic for Applications) Macros, but the implemented API isn’t complete and the API functions aren’t largely tested. The consequence of this is that the VBA macros in OOXML documents don’t run as intended in LibreOffice, which causes compatibility problems. The goal of this project is to add tests for the functions already implemented and then look for what functions are missing for a method or module and add them. Hannah described her results:

I wrote lots of macros tests which was the main aim of the project and found lots of bugs/areas to fix, so my summer was a success! I also really enjoyed looking into the core and fixing some of these problems. Lots of my tests are still broken in LibreOffice so need fixing – for example, I found that there seem to be problems with new lines being created in Microsoft Word that are not created in LibreOffice Writer.

The second project was by Paris Oplopoios – Extend Z compressed graphic format support. Some graphic formats are compressed with ZIP (deflate) to make them smaller, while the formats themselves don’t support compression. In LibreOffice we already support SVGZ format, but not other formats. The goal of this idea was to look at how SVGZ is implemented and extend that to other formats (EMF, WMF). The extended goal was to implement support for compressing in addition to extracting.

Paris got off to a flying start with the originally defined goal, which was to add import functionality for Z compressed EMF and WMF graphics and thus to improve compatibility with Microsoft documents. In the end, he also implemented exporting of WMZ, EMZ and SVGZ graphics, replaced homegrown PNG export code with one that uses libpng and added automated tests for PNG export in addition to tests for the Z compressed formats.

For more details about the students’ great achievements, see the video below and the results post – and thanks to Tomaž Vajngerl and Miklos Vajna (Collabora) and Thorsten Behrens (allotropia) for mentoring the students.

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.


Quality Assurance (QA)

In 2022, the QA team triaged thousands of bugs, bisected hundreds of regressions, and answered questions from countless bug reporters. As one of the most visible groups directly responding to end users, the QA team must be nimble and able to adapt to changes. In addition, it must deal with specific requests for help from other teams.

The QA team meets regularly on IRC on the #libreoffice-qa channel, which is the best medium for discussing bugs and regressions. The IRC channel provides an excellent opportunity to remain in close contact with team members, and to tutor new members in the art and skill of LibreOffice QA. This is bridged to the Telegram group.

During 2022, 5,966 bugs were reported by 2,650 users, which means 115 new bugs were reported every week on average. The QA team prepared monthly reports about their activity and posted on the QA blog.

Top 10 bug reporters

  1. Telesto (288)
  2. Eyal Rozenberg (207)
  3. Mike Kaganski (165)
  4. Xisco Faulí (126)
  5. Gabor Kelemen (111)
  6. Rafael Lima (108)
  7. sdc.blanco (104)
  8. Regina Henschel (93)
  9. NISZ LibreOffice Team (93)
  10. Hossein (59)

Triaging

During 2022, 6,100 bugs were triaged by 391 people. Here are the top 10 bug triagers:

  1. Buovjaga (675)
  2. Dieter (462)
  3. Heiko Tietze (445)
  4. Xisco Faulí (354)
  5. Timur (327)
  6. raal (303)
  7. Julien Nabet (276)
  8. m.a.riosv (268)
  9. Rafael Lima (218)
  10. Mike Kaganski (207)

Bibisecting

Also, during 2022, the QA team performed 622 bibisects of regressions by 32 people. These are the top 10 bisecters:

  1. raal (144)
  2. Xisco Faulí (140)
  3. Timur (63)
  4. Aron Budea (57)
  5. Buovjaga (40)
  6. Stéphane Guillou (stragu) (24)
  7. Timur (20)
  8. Gabor Kelemen (19)
  9. Mike Kaganski (19)
  10. Telesto (18)

Like what we do? Support the LibreOffice project and The Document Foundation – get involved and help our volunteers, or consider making a donation. Thank you!

Welcome Khaled Hosny, new Developer at TDF

Khaled Hosny

The Document Foundation (TDF) is the non-profit entity behind LibreOffice, providing infrastructure and support for the community that makes the suite. Recently, TDF decided to expand its small team with a new Developer, focusing on improving LibreOffice’s language support. This will help to make the software more accessible to hundreds of millions of people around the world.

The new Developer is Khaled Hosny, so let’s hear from him…


Tell us a bit about yourself!

I’m a software developer based in Cairo, Egypt. My area of expertise is centered around written language; fonts, text layout in general and so-called “complex” text layout in particular (I don’t like how some text layout is signaled out as being complex – all text layout is complex, but some complexity is obvious right away while others are more subtle), PDF, and so on.

I have been involved with FOSS since 2006. I started with doing Arabic localization, then Arabic fonts, and a few years later I started programming to fix Arabic bugs (I think my first patch was to fix a right-to-left UI issue for Sugar, the desktop environment for the OLPC XO laptop, if anyone still remembers it). I contributed and continue to contribute to many FOSS projects – Firefox, GNOME, HarfBuzz, XeTeX, LuaTeX, to name some.

I got involved with LibreOffice in early 2011, and I have been lurking around since then.

I’m also a type designer and font engineer. I have designed and built a few Arabic and math fonts (I can’t read much of the math notation – I was taught math in Arabic notation and I hardly remember any of that either, but I’m fascinated by the 2D nature of math typesetting).

Funnily enough, I had no formal training in any of this, I actually graduated from medical school and worked as a doctor for few years before quitting to focus on a software career (I was already deep into localization and fonts while still at medical school).

Improved glyph positioning of artificial italic text in LibreOffice 7.5

Improved glyph positioning of artificial italic text, especially combining marks – implemented by Khaled in LibreOffice 7.5

 

What’s your new role at TDF?

I’m joining the team as a LibreOffice developer focusing on areas of right-to-left and the aforementioned so-called “complex” text layout. These are some of the underserved areas of LibreOffice development while disproportionately affecting a very large group of (existing and potential) users.

I hope my role at TDF will help to widen the LibreOffice community, attract more people to it, and make it accessible to more users.

What will you be working on?

I will be fixing bugs and implementing features related to right-to-left text layout and user interface issues which affect languages like Arabic, Hebrew, Persian, and Urdu, as well as text layout issues involving writing systems that require more involved text layout, like Arabic script, and the Indic group of scripts.

I will be also working on fonts, PDF export (text extraction from PDF is major pain point for many scripts), and related areas.

I’m also looking forward to mentoring new developers interested in working on any of these areas.

Do you have any tips for new developers, who’re eager to get involved with the LibreOffice codebase?

LibreOffice is a large code base and can be overwhelming, so try to read any existing documentation as much as possible, don’t be afraid to ask for help, and in general be patient.


We’re really happy to have Khaled on board! Follow this blog and our Mastodon and Twitter accounts for updates on his work – plus more news from the LibreOffice community.

Projects selected for LibreOffice in the Google Summer of Code 2023

GSoC logo

The LibreOffice Google Summer of Code projects have been selected for 2023.

  • Ahmed Gamal Eltokhy – Improve PGP/GPG encryption support: the project aims to enhance the experimental PGP/GPG encryption support in LibreOffice by addressing several shortcomings, such as the need to select recipients anew for every save and the difficulty in finding the right keys. The project will also focus on developing smart searching, traversing, and filtering capabilities for large keyrings, as well as adding asynchronous querying for improved performance.
  • Dipam Turkar – Convert Writer’s Java UNO API tests to C++: The unit tests for Writer’s UNO API which were forked from OpenOffice.org are still implemented in Java, which in the end test C++ code making it hard to debug them. LibreOffice has had a long term plan to move them to C++. The project will also focus on fixing the unit tests for errors, if any.
  • Baole Fang – Select tests to run on Gerrit patches based on machine learning: the goal is to implement a machine learning based test selection method to select tests to run in the continuous integration chain to reduce testing load.
  • Bayram Çiçek – Search field in Options: LibreOffice has a large and growing number of options and sometimes it is not easy to find the right one by searching them one by one. The goal is to implement a search field/functionality to the “Tools > Options…” dialog, so that we can find the right options easily.
  • Paris Oplopoios – Add APNG import/export support: APNG (Animated PNG) is an animated format backwards compatible with PNG. It is supported by all the major browsers and has benefits over GIF such as partial transparency and support for more colors. The goal of this project is to integrate APNG support in LibreOffice, which had been requested for quite some time.

Good luck to the contributors – we appreciate their work on these important features and improvements! And thanks to our mentors for assisting them: Tomaž Vajngerl (Collabora); Thorsten Behrens (allotropia); Andreas Heinisch; Heiko Tietze, Xisco Faulí, Stéphane Guillou, Hossein Nourikhah and Christian Lohmaier (The Document Foundation).

Between August 28 and September 4, contributors will submit their code, project summaries, and final evaluations of their mentors. Find out more about the timeline here, and check out more details about the projects on this page.