Free and open source software (FOSS) is all about sharing and working together. And while LibreOffice focuses on being the best open source office suite, our community also helps out with other related FOSS projects (just like many other projects help us!). We’ve made an infographic showing “upstream” contributions from LibreOffice developers and The Document Foundation – click to see a bigger version…
Your donations have helped us to achieve much of this – so a big thank you to everyone who has donated to our project and community!
Last week, we have published the crash report chart just two days after the announcement of LibreOffice 6.0.1, to show the impact of the new version on the issues reported by Windows users.
Ten days after the announcement the impact is even more visible, and the chart on the left shows that the situation is now under control.
The trend shows how important is for LibreOffice users to quickly update to the last available version to reduce the number of potential issues.
Over the past few weeks, we’ve talked to the documentation, localisation, QA (quality assurance) and design communities about their preparations for LibreOffice 6.0, which is due to be released this week. For our final Community Focus, we turn to the developer community, which has helped to implement many of the new features you can see in the release notes.
How does the community work on new features?
Development in LibreOffice is achieved using a wide variety of tools and services, which is a testament to the maturity and longevity of the project. The LibreOffice developer toolkit is best summarized by going through the lifespan of a single patch:
1. Communication. When a user would like to see a new feature in LibreOffice, or identifies a problem, he/she has one of several options to bring it up:
Bugzilla: We use our own self-hosted Bugzilla instance. This one of the biggest installations of Bugzilla out there. If you don’t want to report a new issue but would like to contribute towards existing ones, we collect and sort bugs based on skill, difficulty and topic. We also provide a list of EasyHacks that new contributors are encouraged to tackle for a start.
E-mail lists: We have several e-mail lists used for general discussion, reports, help and development, the two most important are: libreoffice@lists.freedesktop.org (developers) and users@global.libreoffice.org (users). Here’s how to sign up to the lists.
IRC: Core and not-so-core LibreOffice hackers usually hang around in the #libreoffice and #libreoffice-dev channels on the Freenode IRC network. You are welcome to join and ask for help, guidance and general support in there.
Telegram, QA, Twitter, etc: We are present on many other online services – global or localized for your community. Check the full list here.
Users, developers and project members usually roam these communication channels and both development and general discussion is taking place. Communication is key. Then the next part is…
2. Development. During this phase the most important tools in the LibreOffice developers’ toolkit are:
Git: The LibreOffice source code is self-hosted using Git and is available here. Getting started with LibreOffice and Git is outlined on this page, and an easy build set-up can be achieved using the logerrit tool that we provide.
Wiki: The Wiki is a good place to look for information and refine your question before reaching out.
Code search: You can easily search (grok) the codebase and reference parts of code in your inquiries to developers using the Opengrok installation.
3. Next steps. Once general agreement has been achieved on how to implement a new feature or fix a specific bug, the following services are used:
Gerrit: Core developers and newcomers alike collaborate on the shared code base, using the communication channels outlined before, and Gerrit code review. The Gerrit procedure is recommended for all submissions and all projects that are part of the LibreOffice realm. Signing up on our self hosted Gerrit is crucial to the development process and getting you code admitted into the project.
Jenkins and Tinderboxes: Once a specific patch is submitted via Gerrit, a set of automatic continuous integration QA&build tests are being run for all supported platforms, and any defects or regressions will be reported automagically along with feedback from other developers.
An overview of our most critical infrastructure used for development and release engineering is available on this site, while the Wiki has a list of additional services.
Another useful tool – a new addition to the toolkit – is the LibreOffice dashboard. You can use it to inspect the development, release and lifecycle of LibreOffice core and its associated repos with a bird’s-eye view.
So that’s the final Community Focus – a big thanks to all developers and testers who’ve helped to add the many great new features in LibreOffice 6.0! (And thanks to Teodor Mircea Ionita for his help with this post.) Stay tuned to this blog for the official announcement of the new release…
In 2017, The Document Foundation has announced the availability of a Dashboard, based on data gathered from several development-related repositories. It is a very useful resource for marketing, as it can be configured to provide either an overview of the project or several detailed charts which can be used to get a more precise picture of what has happened in term of commits, committers, organizations, and issues. The time span covered by the dashboard can be set by the user, from days to years.
The three histograms show trends related to commits, committers and organizations during the last 12 months (clicking on the thumbnails will open a large image, easier to read).
Commits and committers show a rather stable trend, which confirms the maturity of the project. The very few lows in commits are either seasonal or related to the LibreOffice Conference, when core developers are spending most of their time on knowledge sharing rather than on code hacking.
The organizations’ histogram adds the affiliation bit to commits. Collabora, Red Hat and independent volunteer developers (marked as “unknown” in the legend) are the three largest group of contributors, followed by CIB and SIL. Of course, we would like to see more contributions from developers paid by large organizations deploying LibreOffice for personal productivity.
The following four thumbnails show the dashboard home configured for the following time intervals: 2 years, 1 year, 6 months and 90 days. They provide some interesting insights.
2017 is coming to a close, but our community is still busy preparing for the release of LibreOffice 6.0, which is due in late January 2018. Many new features have been added to this version, and to make it as reliable as possible, we want your help!
On December 22 we will have an international Bug Hunting Session (BHS), testing the RC1 (first release candidate) of LibreOffice 6.0. You can download, try out and test this RC1 version – and if you spot any bugs, let our QA (Quality Assurance) community know.
Mentors will be available to help you file bugs from 11:00 UTC to 15:00 UTC on that day. All assistance is greatly appreciated – together we can make LibreOffice 6.0 the best release ever, for millions of people around the world! For full details on the Bug Hunting Session, and how to get involved, see our wiki:
While most of the posts on this blog are about LibreOffice, another project overseen by The Document Foundation is DLP – the Document Liberation Project. Whereas LibreOffice is an end-user application, DLP is a collection of free and open source software libraries that help to convert document formats. Developers can use these libraries in their programs, in order to import and export a large variety of files – including proprietary formats. Many well-known applications use DLP libraries, including Inkscape, Scribus, Calligra and of course LibreOffice.
So, what happened in DLP throughout 2017? Read on for our round-up of the year’s news…
New import filter: QuarkXPress
Aleksas Pantechovskis, as part of the Google Summer of Code, worked on a new import filter for QuarkXPress documents: libxqp. It currently supports QuarkXPress 3.1 – 4.1 documents, and this image shows it in action (original QuarkXPress file on the left, and how it’s converted into OpenDocument on the right):
Big improvements to Lotus 123 import
Laurent Alonso made some major improvements to the Lotus 123 filter, adding support for many formatting and layout options. Check out these pictures as an example – the top shows a Lotus 123 file in LibreOffice 5.3, missing almost all of its formatting. Underneath, however, you can see how it’s rendered in LibreOffice 5.4, with much more of the formatting present (click for bigger):
New library releases
Throughout the year, many libraries were updated as well. Here’s a summary:
2 Aug – libepubgen 0.0.1 – This fixes escaping of HTML entities, and the code has been updated to C++11
12 Sep – libwpd 0.10.2X – Also updated to C++11, and includes various fixes from OSS-Fuzz
12 Sep – libwpg 0.3.2 – Improves performance of reading image data from WPG2 files
14 Sep – libzmf 0.0.2 – Minor code cleanups and some fixes from OSS-Fuzz
15 Sep – libcdr 0.1.4 – Fixes issues found by Coverity, and require C++11 for build
16 Sep – libfreehand 0.1.2 – Parses more features, including text on paths, stroke patterns, arrows, and custom line and fill styles
21 Oct – libvisio 0.1.6 – Various improvements to import of MS Visio files, plus Coverity and OSS-Fuzz fixes
23 Oct – libetonyek 0.1.7 – Improves support for gradients, cell styles, non-RGB colours, and table border lines
13 Dec – libepubgen 0.1.0 – EPUB3 support, plus support for embedded fonts, cover images and footnotes
13 Dec – writerperfect 0.9.6 – Adds support for StarOffice Writer and Zoner Draw documents, and includes universal conversion tools
Find out more!
For details on the libraries mentioned above, see the projects page on the site. And check out the contribute page to see how you can help – because even if you’re not a developer, you can prepare sample documents for testing. Oh, and to learn more about DLP, watch this short video!
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.