Bibliography Tools for OpenBSD

2022-08-16

In what may be my most niche post yet, let’s have a look at the options available for managing academic references on OpenBSD.

TL;DR: If you don’t care about having complete control over your files, just use an online option. Otherwise, Tellico has you covered.

Online Options

Plenty of online options exist for managing bibliographies, the added benefit being that they should in theory run on any platform. It’s in this category that we have the likes of Mendely, Refworks and dozens more.

Of these, I’ve only tried out Refworks and for most use cases it’ll suffice. Like most reference managers, you can import straight from a .bib file, it’ll fetch metadata for you, and even lets you save any URL via a handy bookmarklet.

The largest and most obvious downside of these options is of course that they are online. The added convenience of being able to access your references anywhere has the caveat of being anywhere…so long as you’ve got a good connection. While this isn’t an issue in most cases, I’d rather not leave it to chance.

Zotero

Zotero seems to be the most popular reference manager and for good reason. It makes importing, exporting, sorting, searching, and anything else you might need incredibly easy. The ability to import papers and articles of interest straight from the browser via a web extension is also hugely appreciated.

Unfortunately it doesn’t support OpenBSD and was ultimately the catalyst for this post. Try as I might, there aren’t any ports of Zotero for OpenBSD nor any hacks that could be done to at least get it up and running.

Jabref

JabRef seems to stand in firm second place to Zotero; it offers many of the same features and has the benefit of being built using Java, something that in theory should make it easier to run on OpenBSD.

I setup Java, downloaded the .jar file from JabRefs release page and tried to run it only to receive an error. I spent several hours on this, switching Java versions only to receive new errors. Installing extra required libraries which revealed new errors. Ultimately I had to abandon JabRef, I just couldn’t get it running. The projects recent move to bundle all necessary files into a compiled executable (with no version for OpenBSD) also means that even if I could get JabRef running, I’d be stuck on a version that’s already fairly outdated.

Cobib

Cobib is likely the most unique of the options shown here as it is entirely terminal-based. While I was initially unsure how such an approach would pan out, I was pleasantly surprised when trying it out.

I experimented with Cobib for several weeks and generally I would recommend it. In fact it was as a result of searching for a new reference management tool that I ended up patching in support for OpenBSD to the project. Cobib is fast, flexible, and easily customisable. It covers most of the things I’d need out of such software.

The key issue that drove me away however was searching. While Cobib offers the functionality to search through your database for relevant entries, in practice I found it unreliable. Either papers that I knew should appear weren’t present, or Cobib would simply spit out a wall of error messages. A fixable issue I’m sure, but not one I had the time to resolve.

Bibview

Bibview is among the easiest to setup of those featured here. A straightforward pkg_add bibview is all you need to get up and going.

This simplicity extends to the program itself, and not for the better. Bibview is meant purely for viewing and editing .bib files. It is by no means meant for managing references with the kind of functionality we’d expect today. There’s no support for importing references from online sources, automatically fetching metadata, or really even effective searching.

If you’re in a hurry however and need to just quickly refer to the details of one or two references, it does the job.

Tellico

I’ll be up front and say that Tellico is the closest to a drop-in replacement for Zotero currently available for OpenBSD. It’s fast, flexible and easy to manage. Tellico also feels like it integrates much more deeply with any imported .bib files too. It automatically pulls out keywords, annotations, authors, almost every possible Bibtex field is supported and can be ordered, searched, and filtered accordingly.

Tellico also supports automatically pulling the metadata for entries via a whole host of different sources including arxiv, Google Scholar, and ISBNdb.

The singular downside in using Tellico that I’ve been able to find so far has been exporting references. Tellico presents the option to either copy an entries citation key to your clipboard or manually export the .bib entry to a file. While this isn’t a huge issue, it is slightly frustrating having to export an entry to a separate file then manually copy it to your documents bibliography.

Regardless, Tellico can be quickly setup with just a pkg_add tellico.

Conclusion

And there you have it, every reference management tool I could find for OpenBSD.

When I saw initially that Zotero wasn’t supported I figured that’d be the end of my stint with OpenBSD, but the reality is much different. There’s plenty of options, all of varying capabilities and ease-of-use. While there may be some extra work involved in getting some of these tools up and running, the results are certainly worth it. Effectively managing a bibliography is crucial to most research, so having not just one but a whole host of options for managing that next project, dissertation, or thesis is always welcome.