LibreOffice QA help from CSUMB students – Steven Casey

Steven Casey

The Document Foundation – the non-profit entity behind LibreOffice – recently teamed up with the California State University, Monterey Bay (CSUMB) to encourage students to learn about LibreOffice quality assurance (QA) and help out. A few days ago we chatted with Keldin Maldonado, and today we’re talking to Steven Casey…

What did you work on in your 25 hours?

During my 25 hours, I was primarily tasked with working on bug reports for LibreOffice. At the beginning of my service, I was simply testing unconfirmed reports and retesting confirmed reports to ensure the bugs were still present in the up-to-date version of the software. I would leave comments on those reports about my findings and follow up later if needed. Once I got a better understanding of Bugzilla, the software, and my duties (and I sure did make my fair share of mistakes), I moved on to binary bisecting. Binary bisecting was more advanced than what I was doing before, but it was also quite a bit of fun!

It was common for me to spend hours digging deep into a report to figure out which commit was causing the regression and more importantly, why. As a student studying computer science with an intention of becoming a software engineer, it was important to me to try and figure out why these bugs were happening. Often times, I came up with a theory and happily appended it to my comment on the report, but sometimes I would run into a roadblock and not be able to figure it out.

What was the experience like?

Honestly, the experience was a lot better than I initially expected. I think a large part of that was due to my mentor during my service, Ilmari Lauhakangas. Ilmari was both understanding and extremely helpful, not to mention just a great individual. I was often pretty loaded with work during my service and I really appreciated the no commitment, work on your own time whenever approach. There were some days I would work 5 hours mid-day, and other days where I would work for an hour between 1 and 2 in the morning!

LibreOffice also has a fantastic wiki with a lot of info for beginner bug triagers on getting started which helped a lot, as it was a little overwhelming in the beginning. Thanks to the wiki along with the tutorial videos Ilmari provided, I was able to mostly get a grasp on things pretty quickly. However, the wiki, while holding great information, feels a little scattered. There were a couple of times where I would search for something on the wiki, and end up not finding it to have Ilmari send me a link to a slightly different page I just happened to miss.

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.

For example, there is a GetInvolved page and a BugTriage page, which have very similar info, but some small differences which can be important. While it wasn’t an issue for me, time zones can also be a slight issue for someone who is interested in volunteering. Being based in California in the United States, available meeting times would either be around 10pm or 9am or so. Luckily, I am often up late at night, so 10pm was great for me!

What are you planning to do next?

I still plan to contribute to bugs here and there very casually. I genuinely mean it when I say that this experience was “life changing” no matter how silly that may sound. I graduate in August of 2024 so I plan on focusing on that the most. I do need to be career ready, and secure a position for graduation. With that being said, Ilmari has asked me to email him if I’m interested in LibreOffice development after the holidays. I don’t know what that will entail quite yet, but I plan on taking him up on that offer. Maybe I will be the one accidentally introducing the regressions soon!

Many thanks thanks to Steven and Keldin for their help! All LibreOffice users are welcome to join our QA community and keep the software strong and robust.

LibreOffice QA help from CSUMB students – Keldin Maldonado

Keldin Maldonado

Recently, The Document Foundation – the non-profit entity behind LibreOffice – teamed up with the California State University, Monterey Bay (CSUMB) to encourage students to learn about LibreOffice quality assurance (QA) and help out. Let’s hear from one of the students, Keldin Maldonado:

What did you work on in your 25 hours?

I worked in the QA team for LibreOffice. I was tasked with looking over bug reports and providing feedback on these reports by either confirming the bug, asking for more information, or providing my feedback if I wasn’t able to replicate the bug.

Later in my volunteer time, I learned about finding the specific commits that caused the bugs through bibisecting that made life for developers a lot easier. I must say, it was honestly really cool seeing the open source model in action. I was able to witness the community effort to resolve these issues in LibreOffice and see how this product was consistently improving.

What was the experience like?

This was the first time doing any sort of work like this, so I had a hard time getting used to some of the tooling, specifically Bugzilla with its infinite options. Luckily, I had Ilmari Lauhakangas to mentor me through this. He provided search queries that definitely made life easier. Apart from this, I also had issues with my working environment because of backward compatibility. I was able to use Distrobox, however, on a Linux box I built specifically for bug hunting that I then SSHed into from my main machine to be able to run older versions of LibreOffice, and my compatibility issues disappeared.

Bugzilla logo

In terms of the good things, I genuinely think that the last couple of mentoring meetings that I had with Ilmari taught me things that will stick with me for life, and for that, I have to give him a huge thanks for being patient and a good mentor. Specifically, I think learning about bibisecting was a great skill to be taught. I will definitely continue to use this going into my professional career and participating further in the open source community.

I also think that having a chance to work in this community maintaining LibreOffice, a product that many people rely on a day to day basis, was great. It might sound a bit cliche, but it genuinely felt really good knowing about the impact I was making, albeit small on the grand scheme of things. I know that my efforts made people’s lives a bit easier in the long run.

What are you planning to do next?

In terms of my professional plans, I am still enrolled in my undergraduate computer science program, which I will finish in the summer of 2024, and then I hope to go into software engineering. Currently, that is what’s taking up the majority of my time. In regards to The Document Foundation and LibreOffice, I will continue to provide help. Last I spoke with Ilmari, he asked me if I wanted to continue with the development side of things, which I think is a great opportunity for me to further develop my skill, and it will give me a chance to continue helping with The Document Foundation’s efforts.

Big thanks to Keldin for his contributions! But he wasn’t alone – Steven Casey also joined the QA community, and we’ll talk to him in our next interview on this blog…

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!

Success story: Fixing a limitation in LibreOffice Calc

Ever heard the term “scratching your own itch”? Wiktionary describes it as “doing something out of motivation to solve a personal problem”. In the world of free and open source software development, this happens a lot! Anyone can contribute to FOSS projects like LibreOffice, and help to improve them.

And that’s exactly what Rafael Lima did, with a long-standing limitation in LibreOffice. He rolled up his sleeves, got to work, and fixed it. Here’s what he had to say:


Rafael Lima

There’s a nice story behind my fixing this bug, so I’ll share it with you…

First of all, this is the bug that made me want to become a LibreOffice contributor.

For some background, I work at an Engineering School in Brazil and one of the subjects that I teach is Operations Research, so I often need to use linear programming solvers to, well, solve optimization problems. And since I’m a Linux user and an Open Source advocate, I would love to be able to use LibreOffice in my lectures.

But the first time I attempted to use the solver (maybe some 5 or 6 years ago), I was surprised to learn that the solver settings were not saved to the file. This was a complete showstopper, because students would have to prepare models in a spreadsheet and then hand them over to me for evaluation, but since it was not possible to save solver settings, I was never able to use LibreOffice’s solver in my lectures. This was really a shame, since the linear solvers available in LibreOffice are superior to what we find in the competition.

Some time later I opened a bug report to complain about the missing feature, which turned out to be a duplicate of bug 38948. At the time I was not a contributor and did not understand how things actually worked in open source, so my bug report had a quite angry note to it (which today I regret). But I could not understand why LibreOffice had overlooked such an important feature for so long.

After that, I kept on following LibreOffice on social networks, specially on Reddit, and noticed that many users had other “missing features” that they would like to have implemented, and then people on the threads often explained that LibreOffice is a community project and that someone would have to step up and implement the feature.

LibreOffice solver

So in 2020, I decided to join The Document Foundation and become a contributor… but implementing this solver feature would not be an easy task. So I started with contributions that are more accessible for beginners, such as documentation, help pages, and so on. Then I started fixing some smaller bugs (easy hacks) to get to know LibreOffice’s huge codebase. And finally in early 2023 I felt comfortable implementing this solver feature.

What makes me glad is that next semester when LibreOffice 7.6 is out, I’ll be able to use it in my Operations Research classes and students will have a nice reason to consider LibreOffice for optimization tasks.

I still have some more improvements that I would like to make to the solver, such as changing the user interface, and enhancing the solver API so that it becomes easier to build and solve models using Basic and Python macros.

Also, I’m planning to attend the LibreOffice Conference this year to discuss some technical aspects about the fix for this bug, as well as some solver API proposals that I would like to put forward.


Thanks, Rafael – great work. We’re looking forward to seeing you at the conference this year too! And everyone else is welcome to join our QA community and do great things, like Rafael did here.

Live streaming LibreOffice bug triaging – your experiences (part 2)

Ilmari Lauhakangas

LibreOffice’s QA (Quality Assurance) community helps to identify and fix bugs in the software. Every week, Ilmari Lauhakangas from The Document Foundation (the non-profit entity behind LibreOffice) live-streams bug triaging sessions, so that others can see how he works on bug reports, and ask him questions.

Last week, we talked to Tammy Lawson and “bunk3m” about their experiences with the live streams. Today, let’s hear from two more participants!

First up is Andy Hengst:

I joined a long time ago (a year?) and was probably invited by Ilmari to one of his triage sessions, or to an intro video call meeting with him – I don’t remember. I’m embarrassed to say I have not been active in triaging, but that should change! I feel like I have everything I need. Without live-triage, that would probably not be true. I attend sessions sporadically when my wake-up time matches your “afternoon” sessions. Having worked in IT for decades* but never really seriously using any cool tools like Linux, Git, or virtualization, I found watching Ilmari do bug triage to be a really interesting general learning experience as well.

For someone like me I think a play-by-play of one or two bug triages could have been helpful – more focus on tools and tricks, less on what makes great triage. I took recordings of a few sessions (for personal use!) so this is an idea in my mind to do.

I enjoy the relaxed and focused approach. No politics, no chit chat, just triage. Nothing to get upset about 😄 I don’t know if this is personal style or Good European Work Ethic – stuff just gets done. I used spreadsheets for many years, so another side-benefit of watching Ilmari work is to see features that I generally never use or know about.

*retired, with plans to learn. Sudden lack of structure is a challenge.

Then we talked to sockseight:

I learnt about the streams using the community mailer, and I find the spontaneity in triaging the bugs very enthralling. The highlight: for those bugs which we find it difficult to test, Ilmari is kind enough to accommodate requests for such bug retests. This would be a great learning experience in many ways – different ways to understand the issue, nuances about the product, the next steps for that bug, whom to report about what needs to be looked into, it goes on and on…

Many thanks to Tammy, bunk3m, Andy and sockseight for taking part! Everyone is welcome to join our QA community and help keep LibreOffice rock-solid for all users.

Live streaming LibreOffice bug triaging – your experiences (part 1)

Ilmari Lauhakangas

LibreOffice’s QA (Quality Assurance) community helps to identify and fix bugs in the software. Every week, Ilmari Lauhakangas from The Document Foundation (the non-profit entity behind LibreOffice) live-streams bug triaging sessions, so that others can see how he works on bug reports, and ask him questions.

So, what do attendees think of the sessions so far? We asked some regulars – here’s what they said. First is Tammy Lawson:

I heard about the bug triaging streams after I signed up for the QA mailing list. They are an hour long, which is great, and I now understand how to take a ticket, read it, test it, research it, and triage it. I have learned different techniques on how to work with testing. It has helped in a way that I can understand how to work with a ticket. Also, I like how documentation has been provided about how to work with tickets. In addition, I like that there is an IRC chat channel to ask questions.

Next, bunk3m said:

I’ve been involved in bug reporting in open source software for some time. Until recently, I wasn’t doing more than reporting and some function testing.

Earlier this year, Ilmari asked me to bisect one of the bugs I reported. I had no idea what to do but he offered to help me learn. He spent some time giving me some direct guidance and also invited me to join the live streams to see how he and others test and verify bugs. It has been fascinating to see and learn. I feel good that I’ve been able to support an open source project that I think is valuable for everyone.

I’m a business person so I didn’t know much about testing software. I’ve never been involved at this level of detail and now have an overview and appreciation of how software is built and tested. I’ve also learned to use Git for testing purposes. I have a personal goal in 2023 to learn more about software testing and use of git so I’m excited to be helping make LibreOffice a better product while I learned a new skill.

There are many people involved in the testing. Volunteers and those working for the Document Foundation like Ilmari, Xisco and Stéphane, are very helpful and patient with my limited knowledge. They are eager to help me learn so I can be more productive. They are willing to spend some time to explain the how and why. I feel this has helped me to be able to contribute to the project.

Many thanks to Tammy and bunk3m for their contributions! Stay tuned for more feedback from the bug triaging streams soon. And in the meantime, you can join the streams – check the mailing list to see when the next one is taking place!