LibreOffice community focus: Development

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…

Extended: Job Search for a Development Mentor (#201711-01)

We originally posted this in November, but we are now extending the deadline for applications to February 16, 2018. Note that we will be at FOSDEM (building K, level 1, group A) on February 3 and 4, so you can talk to us in person there!

The Document Foundation (TDF), the charitable entity behind the world’s leading free office suite LibreOffice, seeks an individual – or individuals part (or full) time – to be

a Development Mentor

to start work as soon as possible. The role requires the following:

  • Self-starting, remote working experience
  • Experience contributing to FLOSS communities
  • Excellent communication skills, with enthusiasm for mentoring
  • Coding experience (LibreOffice coding preferred)
  • Willingness to travel to Hackfests & conferences in Europe and globally

The role involves working from home at your location for at least 20 hours per week, up to full-time and includes among other items:

Supporting existing mentors in the LibreOffice community including:

  • Building relationships between existing mentors and new contributors
  • Identifying and on-boarding new contributors
  • Affirming and encouraging their contribution
  • Building initial relationships with them
  • Encouraging them to join IRC to meet the teams
  • Introducing them to domain experts for deeper learning
  • Helping to educate new contributors by
  • Positively reviewing their code contributions
  • Introducing them to our tooling and culture
  • Attracting new contributors by promoting the project
  • Interaction with UX volunteers

Previous experience with such tasks is highly welcome, so is using free software. Speaking and writing English reasonably well is a mandatory requirement.

The work time during the day is flexible, apart from some fixed times when availability is required (e.g. during meetings, which usually take place at 14:00 or 15:00 UTC once per week).

TDF welcomes applications from all suitably qualified persons regardless of their race, sex, disability, religion/belief, sexual orientation or age.

As always, TDF will give some preference to individuals who have previously shown a commitment to TDF, including but not limited to members of TDF. Not being a member, or never having contributed before, does not exclude any applicants from consideration.

TDF is looking forward to receiving your applications, including curriculum vitae, your financial expectations, and the earliest date of your availability, via e-mail to Florian Effenberger at floeff@documentfoundation.org no later than February 16, 2018. You can encrypt your message via PGP/GnuPG.

If you haven’t received feedback by March 16, 2018, your application could not be considered.

LibreOffice community focus: Design

LibreOffice’s design community works on the software’s user interface (UI), improving its usability and accessibility. With LibreOffice 6.0 due to be released at the end of the month, we talked to members of the community to get their perspectives on the new version…

What have you been working on in preparation for LibreOffice 6.0?

Various things, including:

  • New table styles and new gradients (click for bigger):

  • The LibreOffice 6.0 motif/splash screen:

  • And menu and toolbar improvements

What are your favourite new features in this release?

Both GSoC (Google Summer of Code) projects are really nice: the revamped customization dialog, and the special character dialog with quick access from the toolbar. In addition, there’s the ability to rotate images to arbitrary degrees, and many other small improvements.

What tools and services do you use in the design community?

At the moment we use Balsamiq Mockups, but next we switch to Pencil. In addition, we use LibreOffice Draw (eg for the new motif) and Inkscape. For communication, we are active on IRC in the #libreoffice-design channel and Telegram.

Finally, how can people get involved with the design community?

A big thanks to the design team for their input and improvements in LibreOffice 6.0. For our final Community Focus, we’ll talk to the development community – more on that soon!

LibreOffice community focus: QA (quality assurance)

With LibreOffice 6.0 due to be released at the end of the month, we’ve been talking to various communities involved in the project. In the last couple of weeks, we’ve chatted with the localisation and documentation teams, and today it’s the turn of QA (quality assurance), which is coordinated by Xisco Fauli

What has the QA community been working on in preparation for LibreOffice 6.0?

During the development of LibreOffice 6.0, three Bug Hunting Sessions were held (6.0 Alpha1, 6.0 Beta1 and RC1), the last one just two weeks ago. There was also a parallel event organized by Muhammet Kara in Ankara, where volunteers gathered to test LibreOffice 6.0 RC1. Besides that, the QA team is constantly testing the latest daily builds, testing new features, and triaging the bugs reported on Bugzilla.

What are your favourite new features in this release?

That’s a difficult question, especially taking into account all the improvements done in this release to LibreOffice Android Viewer, to LibreOffice Online or the work done by the Google Summer of Code students among others. But if I had to choose one, I think I’d go for the characters dialog refactoring done by Akshay Deep and the UX (user experience) team, as this is probably the feature I will use the most in the near future. Here’s how it looks:

What tools and services do you use in the QA community?

A very handy tool recently completed by Markus Mohrhard is the automated updater for Windows and Linux, which allows the QA team to test daily builds without having to manually download the latest build every time.

This is very practical as testers no longer need to worry about constantly updating to the latest build, and can focus more on testing the program instead, assured that they are testing changes done to the code just the day before.

This tool was presented at the beginning of the LibreOffice 6.0 development cycle, and I believe it will have a very positive impact on the quality of 6.0 as it shortens the time between a problem being introduced in the code, and the time it’s found.

Another tool we’ve been using for some time now is the bibisect repositories, which allow us to find the exact code commit where a bug was introduced, increasing the chances that the bug gets fixed and reducing the time until it gets fixed.

Another tool which is fulling working now is a set of scripts called office-interoperability-tools that we use to automatically find document layout regressions in the master code branch compared to other office suites (in our case we use MS Office). Right now we use it with 8,450 files, and I believe it will also have a positive impact on the quality of LibreOffice 6.0.

Finally, it’s important to mention the main tool used in QA, Bugzilla, the place where all bugs are reported and triaged. Then there’s the wiki page where the QA documentation can be found, and testlink, the application to manage manual tests.

Finally, how can people get involved with the QA community?

The’re many ways one can help LibreOffice QA. Probably the simplest one would be: download the latest pre-release build (LibreOffice 6.0 RC2 as of today), install it and use it as you would use LibreOffice in your daily basis (but take into account it’s still a pre-release, so it’s not recommended to use it with important documents). If you find anything working incorrectly, please report it to Bugzilla.

On the other hand, if you prefer to follow a set of manual tests, you can use testlink (see the documentation for that. We also need help to triage bugs that are not-yet-confirmed, or retest old bugs to see if they might have been fixed.

Lastly, if you’re looking for something especially exciting things to do, you can help us to test daily builds, bisect bugs or write UI-tests. Don’t hesitate to join the #libreoffice-qa channel and say hello. We’ll be grateful to help you with any question or problem you have!

Much gratitude to Xisco and the diligent QA community for helping to make LibreOffice 6.0 a solid release. Their efforts are appreciated by users across the world. Next up, we talk to the design and development communities – more on this blog very soon…

LibreOffice community focus: Documentation

Earlier this month we talked to the localisation community about the preparations they are making for LibreOffice 6.0, which is due to be released in late January (or early February). Now we turn to the documentation project, and Olivier Hallot, who is coordinating updates to guidebooks and a new help system…

olivier_hallot_07062010_964x1036What has the documentation community been working on in preparation for LibreOffice 6.0?

The community is engaged in delivering two major features for the 6.0 release: the first is a new and updated Getting Started Guide, a book targeted at new users of LibreOffice 6.0. We included the latest developments that are in the scope of an introductory text for LibreOffice 6.0. For 2018 we are assembling a team of writers to update our other guides, starting with the Calc Guide.

The other major feature is the new LibreOffice help system, a completely redesigned help system that now uses the operating system’s web browser to display help pages. Here’s a screenshot from the LibreOffice 6.0 release notes, showing how it looks in a mobile web browser:

What are your favourite new features in this release?

I always appreciate applications that have beautiful aesthetics. When choosing between two applications or desktop environments with the same features, I take the one that’s good-looking and has a well-crafted user interface. There are so many excellent programs with clumsy interfaces or ugly aesthetics struggling to survive. It is purely subjective but in the end, beauty pays. So my take for 6.0 are the features that bring a better and nicer UI: new icons, toolbars and redesigned dialogs. Here’s a preview of the Elementary icon set, which will be included in 6.0:

Aesthetics, together with essential technology evolutions, were the drive to develop our new help system based on web technology. We expect to open an avenue for improving the contents of our help with multimedia, animations and better navigation – altogether bringing a modern web experience for our users who are reading the help.

What tools and services do you use in the documentation community?

At the moment we use Plone as our document repository, and we have a workflow for editing, revision and publication. Released documents are available on our documentation website for download, and some l10n (localisation) communities prefer to use the TDF wiki.

With the recent developments in LibreOffice Online, I am planning to use it for document editing and production, in a simpler way than using Plone. LibreOffice Online is by far the best online editor for OpenDocument formatted files, and is an essential feature for preserving our current documents and making editing easier.

For 2018, we will work to develop an special online editor for help files, making it easier for occasional contributors to make changes to the content.

Finally, how can people get involved with the documentation community?

The first step is to read this page and follow the instructions there. We need good software documenters, along with people who really know how an office suite works, and who are capable of writing about new features with authority.

Thanks Olivier, and thanks to the whole documentation community for their work in LibreOffice 6.0. Over the next few weeks, we’ll be talking to other projects, including QA and development – keep checking this blog for updates.

LibreOffice community focus: Localisation

LibreOffice 6.0 is due to be released at the end of this month (or in early February), and you can learn about the changes in on the wiki. Closer to the release, we’ll make a short video showing off the new features in action. But as we head towards LibreOffice 6.0, we want to hear from the many communities that have contributed to this version. We start off by talking to Sophie Gautier, who has been working with the localisation community to make the software available in as many languages as possible…

What has the localisation community been doing in preparation for LibreOffice 6.0?

Each time a developer makes a change to the user interface (UI), that means some work for the localisation team, both in terms of the UI itself and the help system. And our UX/Design team has been very busy moving menu entries, designing new dialogs and making new toolbars – so all this work ends up in the hands of the translation team.

Once we have finished the translations of the suite, we have to check that our translations are correct. Sometimes, the localisation process means that you’re translating out of context, with very poor references for where you are in the interface.

Then, there are also press release preparations, new features pages for the website, videos, and all the work done by the marketing team that we have to translate and adapt to our languages, to cover the LibreOffice 6.0 launch.

What are your favourite new features in this release?

I’m not sure I have a preferred one – I’m just always amazed by the work done by the community at each level. I’m very grateful for it, but to name a few: I like the new and easy way to customise the UI, OpenPGP signing of documents, and the work done to modernise the help system.

What tools and services do you use in the localisation community?

Most of the teams use Pootle as an online tool for translations. Some other teams use Pootle as a repository for their files, but also use a computer-assisted translation tool (like OmegaT) to work on the files. Some others don’t use Pootle as a
repository and commit their files directly to Gerrit. We want our teams to be able to use the tools they like the best to translate.

To search for the strings in the source code and get some context (which dialog the string is in, other strings in the dialog, accelerators, etc.) we use OpenGrok which is a simplified web interface for browsing the code.

Finally, how can people get involved with the localisation community?

If a language team already exists, it’s best to contact them directly (the address can be found on our wiki). If none exists, then the best way is to ask on l10n@libreoffice.org for the creation of the language – both in LibreOffice itself, and on Pootle. We will help the newcomers with the first steps in localisation.

Also, Yousuf Philips has written a script that categorises and references the most important strings to translate at the beginning. This shows what is most visible in the interface, and will be of the most help for the users.

Thanks Sophie for that overview – and indeed, a hearty thanks to the whole localisation community for their great help with preparing LibreOffice 6.0. Over the next couple of weeks, we’ll be talking to other communities in the LibreOffice project, so stay tuned to the blog…