The oldest bug
Off the Beat: Bruce Byfield's Blog
Last week, I did something that I had meant to do for over a decade: I filed a bug against LibreOffice's Bibliography Database. As I tweeted immediately afterwards, somebody had to do it.
Part of the delay was due to the fact that I haven't been an academic for some years now. In the last decade, I've written exactly one scholarly paper, so defects in the Bibliography Database were less than a pressing concern of mine.
Another part was that the bug -- or most of it -- was so simple that I was sure somebody else would get around to correcting it.
But apparently I under-estimated the degree to which the Bibliography Database was being avoided. Although I was aware that many LibreOffice users were using external tools instead, I only recently became convinced that they were doing so because very few understood how to use the database. Even tutorials and the online help avoided so much as mentioning the difficulties, which makes strongly suspect that very few actually had hands-on experience with the database.
Last week, I decided suddenly that nobody else was likely to fix the problems. Hating to see a problem persist, especially one so easily fixed, I finally gave in and filed the bug myself.
That's right -- really
What does the Bibliography Database need to be functional? I suggested several large scale changes, including being organized by citation style, and allowing separate instances for each document. Thinking just now, I would add that the dialog for inserting citations into the text would benefit from displaying the entire database when necessary.
However, none of these improvements is needed to restore basic functionality. What is really need is so basic that's it ludicrous. It all comes down to some simple changes in a single field:
First, the Identifier column in the database and the Short Name in the input tool need to be given the same name, because they are the same field. Neither name adequately explains what the field contains, which is the form in which a citation is given in the text of the document -- for example, in the APA style, (Miller: 2005). If you go to Insert ->Index and Tables -> Bibliography Entry, this purpose is obvious immediately. Both should be renamed something like Citation.
Second, once you realize the purpose of the field, it becomes obvious that the samples in the database were added by people who had no idea how the database worked. Instead of giving the citation format, the examples give nonsense contents such as MIL00 that would never be used in any known system of citation. If these meaningless citations were replaced by examples that might be actually used, then users would have a fighting chance to understand how the database worked.
And that's it -- maybe twenty minutes' coding of the most routine kind to make the database functional. The biggest challenge would be avoiding boredom.
Yet these problems not only go back to OpenOffice.org, but to the proprietary StarOffice whose code release created OpenOffice.org in 2000. Depending on exactly when the Bibliography Database was added to the office suite, I could be talking about a bug that has persisted for two decades or more. By any measure, it's a candidate for the longest unreported and unfixed bug.
The senile bug
The fact that this bug was overlooked for so long probably reflects the history of the code. Sun Microsystems was always more interested in adding features to OpenOffice.org than in correcting longstanding problems, and LibreOffice and Apache OpenOffice, its successors, have no shortage of other -- often more urgent -- cleanup to do.
Perhaps, too, the Bibliography Database has always lacked an audience. The majority of users have no need of it, while professional academic are likely to find it too simple in comparison to third party tools. Under these circumstances, perhaps nobody has cared enough to notice the problems, much less fix them.
All these things may be true. Yet the Bibliography Database has continued to be shipped, release after release and year and after year, apparently without anyone noticing any problems or bothering to correct them if they did.
The experience is enough to make me doubt the old free software truism that, "with enough eyes, all bugs are shallow." After all, dozens of people have modified the code in question without noticing this particular bug. You might say that, given the size of the code, that there has never been enough eyes, but I suspect that the oversight is also due a lack of eyes with the necessary training or interest.
It is definitely enough to make me resolve to report bugs more often for all the software that I use. When I realize that, had I reported the problem when I first noticed in back in 2000, it would have been fixed thirteen years ago, I feel irresponsible.
I'm also left wondering what other easily fixed bugs may be lingering unnoticed in other obscure corners of the code that runs my hardware.
comments powered by DisqusSubscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters
Support Our Work
Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.
News
-
First Release Candidate for Linux Kernel 6.14 Now Available
Linus Torvalds has officially released the first release candidate for kernel 6.14 and it includes over 500,000 lines of modified code, making for a small release.
-
System76 Refreshes Meerkat Mini PC
If you're looking for a small form factor PC powered by Linux, System76 has exactly what you need in the Meerkat mini PC.
-
Gnome 48 Alpha Ready for Testing
The latest Gnome desktop alpha is now available with plenty of new features and improvements.
-
Wine 10 Includes Plenty to Excite Users
With its latest release, Wine has the usual crop of bug fixes and improvements, along with some exciting new features.
-
Linux Kernel 6.13 Offers Improvements for AMD/Apple Users
The latest Linux kernel is now available, and it includes plenty of improvements, especially for those who use AMD or Apple-based systems.
-
Gnome 48 Debuts New Audio Player
To date, the audio player found within the Gnome desktop has been meh at best, but with the upcoming release that all changes.
-
Plasma 6.3 Ready for Public Beta Testing
Plasma 6.3 will ship with KDE Gear 24.12.1 and KDE Frameworks 6.10, along with some new and exciting features.
-
Budgie 10.10 Scheduled for Q1 2025 with a Surprising Desktop Update
If Budgie is your desktop environment of choice, 2025 is going to be a great year for you.
-
Firefox 134 Offers Improvements for Linux Version
Fans of Linux and Firefox rejoice, as there's a new version available that includes some handy updates.
-
Serpent OS Arrives with a New Alpha Release
After months of silence, Ikey Doherty has released a new alpha for his Serpent OS.