Simplifying Rogue Scholar Infrastructure

Simplifying Rogue Scholar Infrastructure
Photo by Kelly Sikkema / Unsplash

From the start last year one important goal for the Rogue Scholar science blog archive was to make it easy to use for blog authors and readers. Today I want to focus on another aspect: keep it simple to run Rogue Scholar infrastructure. To address that goal I started development work last week to further simplify one important aspect of Rogue Scholar infrastructure: metadata conversion.

Commonmeta is the metadata format that Rogue Scholar uses internally to generate Crossref metadata for DOI registration and to display Rogue Scholar blog posts in several popular metadata formats (BibTex, RIS,, formatted citations, etc.). Last September I updated the commonmeta-py library to provide a command-line interface and enable Crossref DOI registration. In October I launched the Rogue Scholar Python API to provide these metadata conversions to Rogue Scholar, including Crossref DOI registrations, using the commonmeta-py library. In the last few months, I have continuously improved commonmeta-py, e.g. by better metadata detection of Rogue Scholar references:

Last week I started work on commonmeta-go, an implementation of the commonmeta metadata conversion written in the Go language. I plan to make the first public release by June. Many critical components of scholar infrastructure are written in Go, and this library will allow me to streamline the Rogue Scholar metadata conversion and DOI registration by bringing commonmeta functionality closer to the Rogue Scholar database instead of maintaining a dedicated Python API for this functionality.

Please reach out to me if you are interested in the details of my thinking, e.g. why I picked Go and not another language, why not Javascript, Python, or Ruby (the other commonmeta implementation), or how this work will integrate with the other parts of the Rogue Scholar technology stack, e.g. database (Postgres), search index (Typesense), and content conversion (Pandoc).

Writing commonmeta-go is a significant investment in time but will help me develop and maintain Rogue Scholar in the long run. I also see the need for simplified scholarly metadata conversion beyond science blogs and Rogue Scholar, see the current discussion of Diamond Open Access e.g. in Rogue Scholar blog posts (Gutknecht 2024, Rafols 2024, Mounce 2023). This work on commonmeta-go will make scholarly infrastructure easier, cheaper, and more fun to use and maintain.


Fenner, M. (2023, September 12). Releasing commonmeta-py v0.8. Front Matter.

Fenner, M. (2023, October 9). Rogue Scholar has an API. Front Matter.

Fenner, M. (2024, March 27). Tracking references of Rogue Scholar blog posts. Front Matter.

Fenner, M. (2023, March 20). Announcing commonmeta-ruby. Front Matter.

Gutknecht, C. (2024, April 3). Gates Foundation: Bye Bye APC. Wisspub.Net.

Rafols, I. (2024, February 1). The UNESCO Open Science Outlook: OS progresses, but unequally. Leiden Madtrics.

Mounce, R. (2023, December 1). How many learned societies publish Diamond Open Access journals? A Blog by Ross Mounce.

Copyright © 2024 Martin Fenner. Distributed under the terms of the Creative Commons Attribution 4.0 License.