Projects selected for LibreOffice in the Google Summer of Code 2025

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

  • Adam Seskunas – Implement Report Builder in C++: replacing the current Java-based Report Builder with a new solution will improve maintainability and remove one of the last remaining dependencies on Java.
  • Karthik Godha – New dialog to edit Table Styles: Writer and Calc have a feature called AutoFormat styles with the possibility to add custom styles. This project will make it possible to edit existing table styles.
  • Devansh Varshney – BASIC IDE code auto-completion: rudimentary auto-completion for BASIC macro authors is already available, but this project will make the feature much more helpful.
  • Manish Bera – Python code auto-completion: currently there is no support at all for Python auto-completion when developing scripts for LibreOffice, so this will be quite a welcome addition.
  • Mohamed Ali Mohamed – Rust UNO language binding: last year LibreOffice received support for Lua and the latest .NET and now it’s time to make it possible to use the API with Rust.
  • Ujjawal Kumar – Import Markdown files into Writer: Markdown is a rather popular markup language for quickly formatting text in blog content, comments, chats and more. Requests to support it have increased recently, so it makes sense to tackle it.
  • Shardul Vikram Singh – Rework Impress slideshow to use DrawingLayer primitives: this is one of those projects that are incomprehensible to most users, but really important for the long term maintenance of the code.

Good luck to the contributors – we appreciate their work on these important features and improvements! And thanks to our mentors for assisting them: Thorsten Behrens, Stephan Bergmann and Sarper Akdemir (allotropia); Rafael Lima; Jonathan Clark, Heiko Tietze, Xisco Faulí, Michael Weghorn and Hossein Nourikhah (TDF).

Between August 25 and September 1, 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.

LibreOffice Base and Firebird – a special relationship

(Translated from the Spanish original.)

Juan C. Sanz writes:

The Firebird database is distinguished by its unique features within the LibreOffice Base compatible database ecosystem. Why do I consider Firebird to be special? Because it is the only database engine that supports all possible forms of connection in Base and also allows the creation of both embedded, external and server databases directly from LibreOffice, without having to use specific tools.

LibreOffice offers the following Firebird connection options:

  • Embedded database
  • Standalone database file (no server required)
  • Database server via internal driver

Additionally, like other database servers, it is possible to establish a connection via JDBC or ODBC connectors. These connectors are available free of charge and as open source software on the official Firebird website.

Advantages of multiple connection options. Firebird offers several ways of connection that represent important advantages:

  1. Embedded database: The embedded or internal database consists of a *.odb file containing all the database facilities (table view, query designer, forms, reports, macros) together with the data.

    This option is especially easy and accessible for users with little database experience. Simply enable the experimental features of LibreOffice to start using it. It is ideal for learning basic database concepts and the Base tool.

  2. External database file: For advanced users looking to work more rigorously, it is recommended to migrate from embedded databases to external files. This type of connection does not require additional installations; a new file can be created using the Connect to an existing database option, rather than the Create a new database option (the nomenclature can be confusing). This connection method offers greater security by storing the data in a separate FDB file from the Base ODB file. In addition, modifications are saved instantly, which reduces the risk of data loss in the event of computer crashes or failures. In the long term, external Firebird files can be connected to servers without modification, as long as the versions are compatible. Transformation between different versions of the FDB file can be done easily and smoothly.
  3. Firebird database server: In this case, we will have a Base file with the functionalities of forms, query designer, reports and macros and the data will be hosted in a Firebird database server. The server is a software that does not have to be installed in a special computer, it could even be installed in the same computer that we use to connect to it. This type of connection provides specific advantages:
    • Allows simultaneous access by multiple users
    • Facilitates permissions management and data access control
    • Provides greater speed in the delivery of information

The connection to the server via the internal driver provides a fast and easy way to configure connection. In any case, ODBC and JDBC connections also work without problems, although, as they require an intermediate connector, they are usually slower.

For all these reasons, I consider that Base and Firebird are an ideal combination.

LibreOffice and Google Summer of Code 2024: 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. Seven projects were finished successfully, plus one project mentored under Linux Foundation. Contributors and mentors enjoyed the time, and here we present some of the achievements, which should make their way into LibreOffice 25.2 in early February 2025!

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


LibreOffice Theme by Sahil Gautam

Mentors: Rafael Lima, Heiko Tietze (TDF)

Theming LibreOffice has a long history. Support for Mozilla Personas was added in version 4.0 released in 2013. This was later changed to a selection of preinstalled themes. The current work started by Sahil aims to also supersede Application Colors.

The groundwork has been done and the design team is currently discussing how to present the feature in the user interface. Sahil continues to engage in the work and discussion and we are grateful for the commitment.

Learn more about the theme project in the final report.


Comments in Sidebar by Mohit Marathe

Mentors: Sarper Akdemir (allotropia), Heiko Tietze (TDF)

The Sidebar has proven to be very powerful when dealing with complex documents. The complexity of comments can certainly increase quickly, so the ability of managing them via the Sidebar was seen as a welcome addition.

Mohit is currently polishing the feature while working closely with the design team.

Learn more about the comment feature in the final report.


Improvements to the Functions Sidebar deck and Functions Wizard by Ahmed Hamed

Mentors: Andreas Heinisch, Heiko Tietze (TDF)

Both the Sidebar deck and the wizard now display the functions in collapsible groups when viewed with the “All” filtering option. Both also now have an optional similarity search.

Ahmed is currently working on adding a category to store favourite functions.

Learn more about the Functions deck improvements in the final report.


Native support for histogram chart and its variations by Devansh Varshney

Mentors: Tomaž Vajngerl (Collabora)

The new chart type will make it possible to visualise ranges of values. Adding a new type of chart is a can of worms, because file format support has to be added both for ODF and OOXML. Devansh is working to finish the implementation in this regard.

Learn more about the chart work in the final report.


Cross Platform .NET bindings for UNO API by Ritobroto Mukherjee

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

This is big news for .NET developers hoping to make use of LibreOffice’s UNO API. The earlier support was undocumented and targeted versions released over twenty years ago. Now with .NET 8 support added, the bindings for .NET programming languages, including C#, F# and Visual Basic are cross platform, available for Windows, Linux and macOS.

Learn more about the .NET work in the final report.


Lua UNO language bindings by Venetia Furtado

Mentors: Thorsten Behrens (allotropia), Stephan Bergmann (allotropia)

Lua is a small language originally developed in Brazil. Many might know it as a scripting language used in games. We also use Lua in our wiki through the Scribunto extension. Thanks to the work of Venetia, it can now be used to drive LibreOffice.

Learn more about the Lua work in the final report.


More and better tests by Adam Seskunas

Mentors: Xisco Faulí (TDF), Hossein Nourikhah (TDF)

The quality of LibreOffice’s code base is guarded by a vast collection of automated tests, many of which are based on bugs that were discovered and fixed. Adam added many such tests and also converted some ancient Java-based tests to C++. He created a guide for writing tests for fixed bugs.

Learn more about the test authoring work in the final report.


Providing CPDB support for the LibreOffice Print Dialog by Biswadeep Purkayastha

Mentors: Michael Weghorn (TDF), Till Kamppeter (OpenPrinting), Gaurav Guleria, Sahil Arora, Ira McDonald

This project was done under Linux Foundation’s OpenPrinting and benefits the Linux version of LibreOffice. The Common Print Dialog Backends technology had received updates and it was necessary to rework LibreOffice’s code to make use of the improvements. Now the printer lists are periodically refreshed to avoid stale printers, the Print Directly button prints to the default printer and the print dialog is more responsive.

Learn more about the print dialog work 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!

Projects selected for LibreOffice in the Google Summer of Code 2024

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

  • Adam Seskunas – More and better tests: the project aims to add automated tests for fixes related to document export as well as converting tests written in Java to C++.
  • Ahmed Hamed – Improvement to the Functions Deck in LibreOffice Calc: the functions deck in the Sidebar will get a better search, an editor area with syntax highlighting and debugging capabilities among other enhancements.
  • Aung Khant – Improving user experience around windows: remembering the size and position of windows will be made consistent and Start Center will be enhanced.
  • Devansh Varshney – Adding native support for histogram chart and its variations: this project will bring support for multiple chart types introduced in Microsoft Office 2016.
  • Mohit Marathe – Comments in Sidebar: after this project is completed, comments can be viewed and edited in the Sidebar in addition to the document margin.
  • Printf Debugging – LibreOffice Theme: the goal of this project is to increase flexibility in colouring the LibreOffice interface.
  • Ritobroto Mukherjee – Cross platform .NET bindings for UNO API: LibreOffice will get support for .NET 8 and an additional API that will feel more natural to .NET developers.
  • Venetia Furtado – LUA UNO Language Binding in Libreoffice: after this project is completed, you will be able to control LibreOffice using the LUA programming language.
  • Bonus project under Linux Foundation: Biswadeep Purkayastha – Desktop integration: CPDB support for the LibreOffice print dialog: Common Print Dialog Backends allow the separation of the user interface from printing technologies. The idea in this project is to bring CPDB support up to date.

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, Stephan Bergmann and Sarper Akdemir (allotropia); Rafael Lima; Andreas Heinisch; Heiko Tietze, Xisco Faulí, Michael Weghorn and Hossein Nourikhah (TDF).

Between August 19 and 26, 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.

Results from our survey of LibreOffice localisation tooling and workflows

Globe

LibreOffice’s localisation community translates the software’s user interface, along with its documentation and websites.

Julia Spitters, Heiko Tietze and Sophie Gautier ran a survey among members of the localisation teams to learn what tools are used, how they engage in workflows, and what future developments they might expect.

Demographics

The survey had a total of 29 participants and 18 complete entries of quantitative data. When asked to rate their experience on a scale from (1) Beginner to (5) Expert, most of our participants had intermediate to advanced translation experience (M = 3.75, Min = 1.00, Max = 5.00), and worked on an average of 5.56 localisation projects besides LibreOffice (SD = 7.31, Min = 0, Max = 30). Our results may capture more experienced members of the localisation community who are working on quite a few projects at once, so we want to thank everyone for their work!

Tooling

We were particularly interested in what tools participants use besides Weblate, which is likely the most common translation tool used among LibreOffice translators. We allowed participants to rate their satisfaction with additional tools they use on a scale from (1) Very Dissatisfied to (5) Very Satisfied, and rate the importance of potential changes. Participants who did not leave any response were excluded.

LibreOffice localisation survey results - tools used

Among the different Localization tools available, most participants felt neutral towards the most commonly used tools, which include POEditor, TextEditor, Transifex, Crowdin, and OmegaT. However, the few participants who use OmegaT seemed to be relatively satisfied with the tool.

Q: Do you download strings and translate locally?

When asked if they download strings and translate locally, most participants reported that they either partially did so, or not at all.

Q: Do you want to receive notifications on updates related to translation tasks?

LibreOffice localisation survey results - notifications

The majority of participants were interested in receiving notifications for translation task updates.

Q: How satisfied are you with the translation memory?

When asked about their satisfaction with translation memory from (1) Very Dissatisfied to (5) Very Satisfied, there were very mixed reviews, which did not allow us to capture where the majority opinion lies.

Q: If Weblate were able to auto-accept string matches, how important would this function be for you?

When asked to rate the importance of auto-accepting string matches on a scale from (1) Not at all important to (5) Extremely important, 10 out of 16 total participants rated this as at least (3) Moderately important. This might suggest that this could be a useful feature to add, but our qualitative responses will also show some potential issues that might arise if it is enabled for all translators.

Is the dashboard too complex?

LibreOffice localisation survey results - dashboard complexity

Although most participants who responded did not seem to have a problem with the Weblate dashboard, more than half of our responses were empty, making it difficult for us to understand the team’s opinion.

Q: What parts of the dashboard contribute to your satisfaction or dissatisfaction?

The few participants who assessed their satisfaction with the dashboard in the open-ended format touched on a number of topics, suggesting that the Weblate dashboard might be too complex or chaotic. They mentioned that they would like it if less projects were displayed, or if they were able to view only what they were working on.

However, another participant was interested in being able to view more projects on the dashboard so that they could more easily receive recommendations for a new project to start. Despite this valued feedback, only four participants left complete open-ended responses, making it a challenge to generalise these results across the whole team.

Q: Would you like to have machine translation such as LibreTranslate available in Weblate?

When asked to rate the importance of access to machine translation in Weblate on a scale from (1) Not at all important to (5) Extremely important, the reviews for this question were rather mixed. Though out of our 16 responses, slightly more than half (10/16) of our participants rated this as at least (3) Moderately important. Nonetheless, there may be need for a follow-up or additional data collected before a decision should be made, but this preliminary data suggests some support for the LibreTranslate project.

Q: How do you feel about the current separation between Weblate, the wiki, and user guides for translation memory?

  • Support for centralisation: Those who hoped for centralisation of these tools believe it would help to save work and maintain consistency, and help projects if there is more overlap in all instances, while another participant specifically mentioned that they would appreciate having LibreOffice user guides available on Weblate.
  • Thoughts on the current separation: A few participants reported that this centralisation would be inconvenient, while a few others who primarily used Weblate anyway felt neutral about the topic or liked the current separation as it is.

Are there any other problems that need attention?

  • Add Machine Translation: Feedback from one participant included support for a good machine translation service, but that it is not a priority. However, our close-ended data indicate that more than half of participants find having machine translation at least moderately important.
  • Increase access to translator publishing status: One participant reported that in the French section, there is limited mobility for translators to publish as there are only two authorised publishers. This prevents contributors from receiving credit for their work.
  • Satisfaction and difficulties translating in Weblate: One participant particularly liked Weblate, especially compared to competing products, while another reported an issue relating to not finding which words are used in which functions in Weblate. Two participants found difficulties in adding existing translations to re-occurring words and that some single words require approval before they do not have to be translated over and over again.
  • Individual translation issues: One participant wrote that auto-accepting string matches is not helpful in languages such as Japanese, where one word can have multiple meanings across contexts. One participant also reported difficulties in accessing information for specific releases (ie how many new strings to translate, who did translations, and how good translation has been for certain languages)
  • Individual issues – needing updates: One participant also had trouble with publishing updates to translations after previously uploading an entire glossary. They found difficulty with making changes to whole glossary entries, and currently can only make changes one by one, thus slowing down the pace of updates.

Looking to the future

Although Weblate is a very popular and effective translation tool, a number of pain points were shared. These issues generally related to auto-accepting string matches, status hierarchies in publishing translations, and needing updates on translations and translation information.

One participant focused on the need for future changes and felt limited by the current pace of progress in the development of Weblate under the support of The Document Foundation and the community. There seems to be quite some room for improvement, but we thank you for your participation in helping us refine our vision in supporting the localisation community.

Celebrating Document Freedom Day 2024!

Document Freedom Day banner

Today is Document Freedom Day, which raises awareness of how open standards and open document formats provide us with the freedom to read and write as we wish:

Remember when you were sent an important file that your computer couldn’t read properly? Remember having to buy or download a new application just so you could open an attachment that you needed for work? The same thing happens tens of thousands of times each day. Can you imagine how much knowledge exchange doesn’t happen just because sender and receiver (intentionally or not) are using different data formats? Incompatibilities like this are usually caused by ways of storing information that are secret (‘closed’), and privately owned (‘proprietary’).

Document Freedom Day is an opportunity to tell the world about open standards, which are crucial to ensure our ability to exchange information, remain independent of software vendors, and keep our data accessible in the long term. LibreOffice uses the Open Document Format, for example, which is also used in many other apps.

Learn more and spread the word here!