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
-
NVIDIA Released Driver for Upcoming NVIDIA 560 GPU for Linux
Not only has NVIDIA released the driver for its upcoming CPU series, it's the first release that defaults to using open-source GPU kernel modules.
-
OpenMandriva Lx 24.07 Released
If you’re into rolling release Linux distributions, OpenMandriva ROME has a new snapshot with a new kernel.
-
Kernel 6.10 Available for General Usage
Linus Torvalds has released the 6.10 kernel and it includes significant performance increases for Intel Core hybrid systems and more.
-
TUXEDO Computers Releases InfinityBook Pro 14 Gen9 Laptop
Sporting either AMD or Intel CPUs, the TUXEDO InfinityBook Pro 14 is an extremely compact, lightweight, sturdy powerhouse.
-
Google Extends Support for Linux Kernels Used for Android
Because the LTS Linux kernel releases are so important to Android, Google has decided to extend the support period beyond that offered by the kernel development team.
-
Linux Mint 22 Stable Delayed
If you're anxious about getting your hands on the stable release of Linux Mint 22, it looks as if you're going to have to wait a bit longer.
-
Nitrux 3.5.1 Available for Install
The latest version of the immutable, systemd-free distribution includes an updated kernel and NVIDIA driver.
-
Debian 12.6 Released with Plenty of Bug Fixes and Updates
The sixth update to Debian "Bookworm" is all about security mitigations and making adjustments for some "serious problems."
-
Canonical Offers 12-Year LTS for Open Source Docker Images
Canonical is expanding its LTS offering to reach beyond the DEB packages with a new distro-less Docker image.
-
Plasma Desktop 6.1 Released with Several Enhancements
If you're a fan of Plasma Desktop, you should be excited about this new point release.