Sign in

Martin Fenner

@mfenner.bsky.social
507 followers 512 following 46 posts

Founder of Front Matter, software and services for scholarly infrastructure. Launched the Rogue Scholar science blog archive in 2023.

PostsRepliesMedia
Martin Fenner @mfenner.bsky.social · 28/07/2026
New blog post doi.org/10.54900/xn5...
doi.org
Ten simple rules for scholarly blogging
The fragmentation of social media and the rise of Generative Artificial intelligence (AI) have renewed the importance of scholarly blogs. Similar to preprints, blogs enable researchers to communicate ...
021
Reposted by Martin Fenner
Front Matter @index.blog.front-matter.io.ap.brid.gy · 03/11/2025
blog.front-matter.io
Rogue Scholar is becoming a German Non-Profit Organization
The science blog archive Rogue Scholar started the process of becoming a German non-profit organization in 2026. This blog post summarizes the reasoning and the main steps needed to achieve this. Two weeks ago, I published a self-assessment of how Rogue Scholar adheres to the Principles of Open Scholarly Infrastructure (POSI). Major gaps were identified in the areas of _governance_ and _sustainability_. To address these gaps, a major step forward would be to start a non-profit membership organization. The need to take this step at some point was obvious to me since I launched Rogue Scholar in April 2023. With the basic service operating and on a good path forward with 50,000 science blog posts archived by the end of the year, the time has arrived to make this step. Starting a non-profit membership organization in Germany means starting a _Verein_ , or registered association. The steps involved to formally register the association are clearly laid out and mainly involve the following: * at least seven founding members, * drafting statutes (_Satzung_), * founding general assembly with members approving statutes and electing a founding board, * registration at a local court, * registration for charitable status with the tax authorities. It helps that I have worked for non-profit organizations most of my professional life. Not only public universities, but also a non-profit publisher (PLOS), and two membership organizations (ORCID and DataCite), with the latter also being a German Verein. Interestingly, Research Organization Registry (ROR), an initiative that I helped launch in early 2019, is not a membership organization. Running a non-profit organization in Germany requires more paperwork compared to, for example, Belgium or the Netherlands, mainly to obtain and keep charitable status. This means a good amount of work for the founding board, especially the president and treasurer. One important question is the rights and responsibilities of members. As individuals or groups of people, rather than formal organizations, run many science blogs, membership has to be open to all legal entities, individuals and organizations. Membership fees should differentiate between individuals and organizations, and include at least two tiers for small and large organizations, for example: * individual 25 EUR/year * small organization 250 EUR/year * supporting organization 2500 EUR/year Rogue Scholar is a Diamond Open Access infrastructure with no fees to readers or authors. This means that membership can't be a requirement for a science blog to be archived in Rogue Scholar, but rather that membership comes with other benefits. Members not only help support a unique open scholarly infrastructure but also have a say in the governance of the organization via the general assembly, participation in the board, and potentially working groups going forward. For Rogue Scholar to achieve sustainability, membership fees are an important element. Two other aspects are also important: * **Volunteer labor** , particularly in the areas of outreach, support, and software development, becomes easier once Rogue Scholar has formal members * **Grant funding** , which becomes easier once Rogue Scholar obtains charitable status Please use Slack, email, Mastodon, or Bluesky if you have any questions or comments regarding Rogue Scholar becoming a non-profit membership organization. Rogue Scholar is a scholarly infrastructure that is free for all authors and readers. You can support Rogue Scholar with a one-time or recurring donation, by becoming a sponsor, or soon by becoming a member. ## References 1. Fenner, M. (2025, October 20). Rogue Scholar follows the Principles of Open Scholarly Infrastructure (POSI). _Front Matter_. https://doi.org/10.53731/m65a8-6sm21 2. POSI Adopters. (2025). _The Principles of Open Scholarly Infrastructure v2.0_. https://doi.org/10.14454/G8WV-VM65 3. Fenner, M. (2023, April 4). The Rogue Scholar is now open for business. _Front Matter_. https://doi.org/10.53731/z9v2s-bh329 4. California Digital Library, DataCite, Crossref, & Digital Science (United Kingdom). (2018). _The ROR of the crowd: Get involved!_. https://doi.org/10.71938/SNA1-ZC49
057
Reposted by Martin Fenner
Front Matter @index.blog.front-matter.io.ap.brid.gy · 27/10/2025
blog.front-matter.io
Supporting blog contributions beyond authorship
This week the Rogue Scholar science blog archive has launched a new feature: contributor roles. Blog posts can now have contributor roles attached to each author, and this information is shown in the Rogue Scholar and Crossref metadata. We have discussed contributor roles for blog posts for several months, in particular with the ropensci team. And when the ropensci blog launched support for contributor roles two weeks ago, Rogue Scholar finally had blog post metadata with contributor roles. ropensci implemented the following roles, and they are now all picked up by Rogue Scholar: * Editor (who edited the blog post), e.g. https://doi.org/10.59350/510pg-zzf58 * Translator (who translated the blog post), e.g. https://doi.org/10.59350/b73e6-3wm19 * Interviewee (who was interviewed for a blog post), e.g. https://doi.org/10.59350/s8m95-ap410 The last blog post looks like this in the Rogue Scholar frontend: In the backend InvenioRDM makes a distinction between authors/creators and contributors, similar to the DataCite data model it is based on. Therefore Rogue Scholar first lists the authors (who can't have a role in DataCite), followed by the contributors (who must have a role, aka _contributorType_). Crossref metadata support the roles _editor_ and _translator_ , so this information is passed on during DOI registration, as Rogue Scholar uses Crossref DOIs. Whether these roles are shown in a formatted citation depends on the citation style, and currently this is probably the exception. At this time neither InvenioRDM (the repository platform powering Rogue Scholar) nor Crossref support multiple contributor roles. Crossref plans to add support for CrediT contributor roles in 2026, and at this point might add support for multiple roles, which are common in CrediT. Rogue Scholar and Crossref support other contributor roles currently not used by the ropensci blog, e.g. _reviewer_. And Rogue Scholar will support _CrediT_ contributor roles as soon as they are implemented by Crossref. ### Contributor roles in blog feeds The rOpenSci blogs (in English, Spanish, and French) use JSON Feed as syndication format, and that is how Rogue Scholar automatically receives content and metadata. JSON Feed supports custom extensions that start with an underscore, e.g. "authors": [ { "name": "Maëlle Salmon", "url": "https://orcid.org/0000-0002-2815-0399", "avatar": "https://ropensci.org/img/team/maelle_salmon.jpg", "_roles": ["author"] }, { "name": "Steffi LaZerte", "url": "https://orcid.org/0000-0002-7690-8360", "avatar": "https://github.com/steffilazerte.png", "_roles": ["editor"] }, { "name": "Yanina Bellini Saibene", "url": "https://orcid.org/0000-0002-4522-7466", "avatar": "https://github.com/yabellini.png", "_roles": ["author"] } ], For blogs using Atom feeds, the specification allows mixing in other namespaces that define custom XML elements. For contributor roles we can use the relators vocabulary from the Library of Congress that defines the above three roles (edt editor, trl translator, ive interviewee, but also rev reviewer), e.g. <feed xmlns="http://www.w3.org/2005/Atom" xmlns:mrel="http://id.loc.gov/vocabulary/relators/"> ... <author> <name>Maëlle Salmon</name> <uri>https://orcid.org/0000-0002-2815-0399</uri> </author> <author> <name>Steffi LaZerte</name> <uri>https://orcid.org/0000-0002-7690-8360</uri> <mrel:roleTerm valueURI="http://id.loc.gov/vocabulary/relators/edt">edt</mrel:roleTerm> </author> <author> <name>Yanina Bellini Saibene</name> <uri>https://orcid.org/0000-0002-4522-7466</uri> </author> ... </feed> Blogs that provide a JSON API and are database-driven (e.g. WordPress, Blogger, Ghost, or Substack) can be extended if they are open source, e.g. via a WordPress plugin. ### Other uses of contributor roles Rogue Scholar is a science blog archive, so contributor roles for other types of scholarly content, e.g. datasets or software, are out of scope. The DataCite data model currently doesn't support roles for creators, making it difficult to implement CrediT, or contributor roles adapted to non-textual content types. As a science blog archive, Rogue Scholar is not really concerned with research evaluation, and whether contributor roles might help with this work. Please use Slack, email, Mastodon, or Bluesky if you have any questions or comments regarding Rogue Scholar contributor roles. Rogue Scholar is a scholarly infrastructure that is free for all authors and readers. You can support Rogue Scholar with a one-time or recurring donation or by becoming a sponsor. ## References 1. Salmon, M., Bellini Saibene, Y., & LaZerte, S. (2025, October 14). Recognition Beyond Blog Post Authors. _rOpenSci - Open Tools for Open Science_. https://doi.org/10.59350/510pg-zzf58 2. Salmon, M., LaZerte, S., & Bellini Saibene, Y. (2025, October 22). ¡Prepárense para el lanzamiento! Paquetes enviados al R-multiverse. _Ropensci - herramientas abiertas para una ciencia abierta_. https://doi.org/10.59350/b73e6-3wm19 3. Bellini, A., Casalla, L., Bellini Saibene, Y., & LaZerte, S. (2023, June 6). Meeting the Stars of the R-Universe: PEcAn, an Open Source Project to Take Care of the Planet. _rOpenSci - Open Tools for Open Science_. https://doi.org/10.59350/s8m95-ap410 4. Brand, A., Allen, L., Altman, M., Hlava, M., & Scott, J. (2015). Beyond authorship: Attribution, contribution, collaboration, and credit. _Learned Publishing_ , _28_(2), 151–155. https://doi.org/10.1087/20150211
024
Reposted by Martin Fenner
The Royal Society @royalsociety.org · 23/10/2025
For #OAWeek25, all @royalsocietypublishing.org content is freely available from 20-26 October. Explore our journals below: #OpenAccess #OAWeek
062
Reposted by Martin Fenner
Egon Willighagen @egonw.social.edu.nl.ap.brid.gy · 28/09/2025
25 years Chemistry Development Kit (CDK) and going strong! :) doi.org/10.59350/4ce2c-fxh02 chem-bla-ics.linkedchemistry.info/2… Replying to this post will make it show up in my blog. #openscience #chemistry #opensource
github.com
25 years of the Chemistry Development Kit
Twenty five years ago the Chemistry Development Kit (CDK) was founded. The Chemistry and Internet (ChemInt2000) had just ended (it ran from 23 to 26 September) and my friend and I had taken the Amtrak night train from Washington to South Bend. At that time there were two leading Java applets for chemistry, JChemPaint and Jmol. I had hacked Chemical Markup Language support into both of them, and Dan Gezelter (Jmol and openscience.org), Christoph Steinbeck (JChemPaint), and me took the opportunity of being in North America to discuss if we could use a common code base. Chris’ _compchem_ had done something similar. Peter Murray-Rust, who had also attended ChemInt2000 like me and Chris did not attend. I do not remember exactly, but I guess we must have met on the 28th and 29th? Maybe already on Wednesday. During this meeting we discussed a common data model (yes, Jmol used the CDK data model at some point) and somewhere during the meeting we wrote down a name for the project. There was the Java Development Kit, so this could be the Chemistry Development Kit. The name stuck. A quick post like this cannot do credit to the history of the CDK, nor of everyone involved in the past or still is. You can browse some of the history of the CDK in my blog and in Chris’ blog. It has been an amazing journey and with a small grant just behind us (with Alyanne de Haan, René van der Ploeg, and Marc Teunis from Hogeschool Utrecht), and all the awesome things ongoing (new JChemPaint, various extensions, upgraded downstream tools), the CDK is alive and kicking. A huge congrats and thanks to everyone (and every company and organization) who contributed code to the CDK with this huge milestone. There are a few people that I want to particularly thank (see the AUTHORS file for all names): Chris, who in the late nineties made a difference with open source in chemistry, Dan, for Jmol and hosting this memorable meeting at Notre Dame University, Rajarshi Guha, who operated _CDK Nightly_ for many years, well before Travis and Google Actions, Stefan, Miguel, Gilleain, and Christian, for many years of contributions to the CDK, and John Mayfield, the current CDK release manager.
048
Reposted by Martin Fenner
Ludo Waltman @ludowaltman.bsky.social · 10/09/2025
Exemplary work by NWO in adopting @crossref.bsky.social Grant IDs! We now need broader adoption of Grant IDs by funders, publishers and individual researchers. @barcelonadori.bsky.social
043
Reposted by Martin Fenner
Front Matter @index.blog.front-matter.io.ap.brid.gy · 11/09/2025
blog.front-matter.io
Rogue Scholar now registers DOIs with InvenioRDM
This week, the Rogue Scholar science blog archive started registering DOIs and metadata with Crossref using the InvenioRDM repository platform rather than relying on external tooling. InvenioRDM has of course supported DOI registration with DataCite for a long time, so this adds another option for repositories hosting reports, preprints, dissertations, or other textual documents. Rogue Scholar has registered content with Crossref since its launch two years ago (more than 45,000 blog posts to date), and migrated to the InvenioRDM repository platform 12 months ago, but it always relied on external tooling for Crossref integration. This new Crossref integration into InvenioRDM simplifies the DOI registration workflow. The main difference for Rogue Scholar blog authors and readers is that automatic DOI registration has become faster, happening within a few minutes after a blog post on a participating blog is published or updated. Rogue Scholar checks the RSS feeds of participating blogs for new or updated content every 10 minutes. When new or updated content is found, uploading the post to InvenioRDM and registering/updating a DOI and metadata with Crossref now happens in 1-2 minutes (depending on how many posts have to be updated at the same time). Further improvements in the time it takes to register blog posts with InvenioRDM and Crossref will depend on improving the monitoring of RSS feeds, e.g. by adding a _push_ mechanism (triggered by the blog when content is updated) instead of the current _pull_ mechanism. ### Versioning The InvenioRDM platform supports versioning of content, which is particularly important for datasets and software, but also relevant for text documents such as blog posts. Examples include major new versions of content, possibly after having received feedback via peer review using the Publish, Review, Curate workflow. Other use cases are corrections and retractions. Crossref added version information to its metadata schema with the 5.4.0 release in March, and I am currently testing this functionality in the Rogue Scholar Staging server: One challenge is that the InvenioRDM Crossref integration supports multiple DOI prefixes, so this is a bit more work compared to the DataCite integration only supporting one DOI prefix. In addition, versioning adds complexity to DOI suffix generation. Luckily, the built-in InvenioRDM tooling uses the same DOI naming scheme that Rogue Scholar has used since its launch, but going forward, Rogue Scholar will no longer support custom DOI suffixes that I introduced for WordPress and Substack blogs. Several blogs participating in Rogue Scholar do their own DOI registrations, and those DOIs (what InvenioRDM calls externally managed DOIs) will not be versioned. ### InvenioRDM Crossref DOI registration uses the `commonmeta-py` Python package to generate Crossref XML metadata and a fork of the `invenio-rdm-records` package to integrate with InvenioRDM. After completing versioning support and more testing, the functionality will be merged into the InvenioRDM core functionality, and the discussion with the other InvenioRDM maintainers has started. Soon, every InvenioRDM instance will be able to use Crossref DOI registration with a simple configuration setting (and Crossref member credentials), very similar to how DataCite DOI registration works. ## References 1. Fenner, M. (2024, September 2). Rogue Scholar migrates to InvenioRDM. _Front Matter_. https://doi.org/10.53731/sdazp-kzn55 2. Feeney, P. (2025, March 19). Version 5.4.0 metadata schema update now available. _Crossref Blog_. https://doi.org/10.13003/325070 3. Fenner, M. (2025, January 16). Persistent identifiers, random strings, and checksums. _Front Matter_. https://doi.org/10.53731/6kfyy-nq280 4. Marcum, C. S. (2025, April 8). Drinking from the firehose? Write more and Publish Less (Version 2). _Upstream_. https://doi.org/10.54900/vr8ax-nz653 5. Marcum, C. S. (2025, April 8). Peer-Review for a Blog Post? My Experience with MetaROR. _Upstream_. https://doi.org/10.54900/bymaz-4fw37 6. Hendricks, G., Lammey, R., & Rittman, M. (2022). _Towards a connected and dynamic scholarly record of updates, corrections, and retractions_. MetaArXiv. https://doi.org/10.31222/osf.io/6z7s3
002
Reposted by Martin Fenner
Stefanie Haustein @stefhaustein.scholcommlab.ca · 04/09/2025
Oops, I got a bit carried away there and forgot to include the link to our analysis and dataset 🙈 doi.org/10.59350/sch...
doi.org
NIH explores capping APCs: Let’s look at the evidence
by Stefanie Haustein, Eric Schares, Juan Pablo Alperin, Flavia Camargo, Lisa Matthias, Lucía Céspedes, Constance Poitras & Dorothea Strecker On April 30 2025, the US National Institutes of Heal…
232
Reposted by Martin Fenner
Front Matter @index.blog.front-matter.io.ap.brid.gy · 04/08/2025
blog.front-matter.io
Rogue Scholar citation tracking launches to production
The Rogue Scholar science blog archive uses DOIs to uniquely identify blog posts with meaningful metadata. This enables tracking citations of scholar blog posts in the scholarly literature using traditional citation tracking methods rather than altmetrics. Initially launched as a Rogue Scholar service six months ago, citation tracking has launched to production this week. The following features are now available: * Automatically fetch citations of Rogue Scholar posts from the Crossref Cited-by service once a week, * Automatically add these citations to Rogue Scholar posts as custom metadata (in the same format as references), * Make these citation metadata available via the Rogue Scholar API, * Added a Citations search facet to filter Rogue Scholar posts, * Show the number of citations in the Rogue Scholar dashboard. Citations in the Rogue Scholar APICitations shown in a Rogue Scholar recordCitations Search FacetCitations in the Rogue Scholar Dashboard The Altmetrics manifesto stated in 2010 that > Altmetrics are fast, using public APIs to gather data in days or weeks. They’re open – not just the data, but the scripts and algorithms that collect and interpret it. In the past 15 years we have seen that the tools and services around altmetrics have taken a different path: altmetrics data from sources like Twitter, Facebook or Mendeley never really became open, and neither did the services aggregating and showing them, or the algorithms aggregating and interpreting them. Efforts like PLOS Article-Level Metrics (where I was the technical lead from 2012 to 2015) or Crossref and DataCite Event Data tried hard but ultimately failed because the data sources were not open, and social media feeds were increasingly driven by algorithms. This social media platform decay was coined _enshittification_ by Cory Doctorow in November 2022. Rogue Scholar is trying a different approach. Instead of altmetrics as a filter to make sense of the scholarly literature, it helps scholarly blogs to become part of the scholarly literature. Rogue Scholar applies the concepts of persistent identifiers (DOI, ORCID, ROR), standardized metadata (Crossref, DataCite), Open Data and Open Access (CC-BY licenses for all content, OSI-approved licenses for all software), and even experiments with peer review. And it now adds citation tracking. Blog posts are rarely cited in the scholarly literature, but that is more about current citation practices than the ability to do so. Crossref is smart enough to figure out that links to blog post URLs in reference lists are conceptually the same as citing a DOI, and that is why Rogue Scholar can find citations to Rogue Scholar blog posts published long before these blogs joined Rogue Scholar. Open Access News was published 2003-2010 and joined Rogue Scholar in 2025, and Crossref finds 22 citations in the scholarly literature to its blog posts. Blog posts are typically published much faster than scholarly articles or even preprints. That is why the post on the Crossref blog announcing that the blog started assigning DOIs to all its posts published in June already has two citations two weeks later, both from Rogue Scholar blogs. Citation tracking of course has limitations. I am not talking using citation counts as a proxy for scientific impact, but rather about technical limitations of automated citation tracking. The main challenge is that only citations that show up in reference lists with an identifier (DOI or URL) and where the reference list is openly made available to Crossref (I4OC) are found. Another challenge is that automated workflows make mistakes – for this reason, Rogue Scholar can exclude falsely linked citations, and has occasionally done so. Please reach out if you find a citation in Rogue Scholar that is not found in the reference list of the citing scholarly work. Rogue Scholar registers Crossref DOIs for blog posts but also includes blogs that register their DOIs using DataCite. Less than 10 blogs of the currently 168 Rogue Scholar blogs do so, and I currently have no easy way to collect citations for these blog posts. DataCite has a similar service to Crossref Cited-by, but the citing scholarly literature is currently mostly in Crossref. Third-party services such as OpenAlex also show the citations of the Crossref blog post mentioned above, but OpenAlex currently has only limited support for scholarly blog posts registered by DataCite. I hope that the new citation tracking service encourages Rogue Scholar bloggers to publish more blog posts with references (currently only 4.98 % of posts), as references and citations are closely connected (how to include references in blog posts is documented here). And I hope that readers of Rogue Scholar blog posts discover interesting scholarly works through the citation tracking service. 460 of the 1370 Rogue Scholar citations are also blog posts, but the most popular citing content type is journal article: * journal article 648 * blog post 460 * preprint 117 * book chapter 117 * proceedings article 12 * book 7 * other 9 Please use Slack, email, Mastodon, or Bluesky if you have any questions or comments regarding the Rogue Scholar citation tracking service. ## References 1. Priem, J., Taraborelli, D., Groth, P., & Neylon, C. (2010). _Altmetrics: A manifesto_. https://doi.org/10.5281/zenodo.12684249 2. Fenner, M. (2025, February 3). Rogue Scholar now shows citations of science blog posts. _Front Matter_. https://doi.org/10.53731/4bvt3-hmd07 3. Fenner, M. (2013). What Can Article-Level Metrics Do for You? _PLoS Biology_ , _11_(10), e1001687. https://doi.org/10.1371/journal.pbio.1001687 4. Doctorow, C. (2022, November 17). Social Quitting. _Medium_. https://doctorow.medium.com/social-quitting-1ce85b67b456 5. Marcum, C. S. (2025, April 8). Peer-Review for a Blog Post? My Experience with MetaROR. _Upstream_. https://doi.org/10.54900/bymaz-4fw37 6. Stoll, L., Vale, P., & Clark, R. M. (2025, June 24). Scholarly blogs and their place in the research nexus. _Crossref Blog_. https://doi.org/10.64000/552ec-b8g03 7. Shotton, D. M. (2017, April 6). The Initiative for Open Citations. _OpenCitations Blog_. https://doi.org/10.59350/jdwj8-at997
025
Reposted by Martin Fenner
Front Matter @index.blog.front-matter.io.ap.brid.gy · 30/07/2025
blog.front-matter.io
Rogue Scholar Updates: full-text search as default and basic blog self-management
This week the Rogue Scholar science blog archive as received to important updates: full-text search becomes the default search configuration, and blog authors can now self-manage basic settings of their Rogue Scholar blog community. ### Full-text search as default Rogue Scholar has long supported full-text search of all its content. With this update, users no longer have to specify that they want to search in the full-text content using the `content:` prefix. All queries now automatically search the full-text, e.g. this query for the term xanadu: https://rogue-scholar.org/search?q=xanadu. You still can specify `content:` if you want to search only in the full-text, similar to how you can specify other fields to search in. And you can search either all of Rogue Scholar or a specific community. See the Rogue Scholar search guide for details. ### Basic blog self-management With the latest update the basic settings of Rogue Scholar blog communities can be managed by blog authors. They need a Rogue Scholar account and have to accept an invitation (send an email) as _manager_ of the blog community. The basic blog settings (name, short description, website, and profile picture) are automatically extracted from the blog RSS feed. Still, they can be overridden in the blog community form, for example to add a profile picture if that is not included in the feed. Registration of new blogs still requires filling out a separate form (found here), and the automatic blog post extraction can't be configured in the community form. Blog community managers also can't update their posts in Rogue Scholar, but they can submit their blog posts to one or more topic communities (such as R or Book Review) using the Communities sidebar settings. Please use Slack, email, Mastodon, or Bluesky if you have any questions or comments regarding these updates.
011
Reposted by Martin Fenner
petersuber @petersuber.fediscience.org.ap.brid.gy · 29/07/2025
Martin Fenner (@mfenner) has been on a mission to capture and preserve science blogs at Rogue Scholar. rogue-scholar.org I'm very happy to announce that he's now captured my old blog, Open Access News -- more than 16.3k posts, 2002-2010 […]
fediscience.org
Original post on fediscience.org
043
Reposted by Martin Fenner
InvenioRDM @inveniordm.bsky.social · 29/07/2025
🎉 BREAKING: InvenioRDM v13.0 has been released! Thanks to the entire open source team for their contributions to this major release. Learn all about the latest new and updated features at inveniosoftware.org/blog/2025-07... #OpenScience #OpenSource #Repositories #Zenodo
inveniosoftware.org
InvenioRDM v13.0 released — inveniosoftware.org
084
Reposted by Martin Fenner
Front Matter @index.blog.front-matter.io.ap.brid.gy · 02/07/2025
blog.front-matter.io
Rogue Scholar Newsletter June 2026
This is the June issue of the monthly newsletter from the Rogue Scholar science blog archive. The newsletter reports on new blogs that have joined the platform, important technical updates in Rogue Scholar infrastructure, community updates, and other news relevant to Rogue Scholar users. ## Blogs added to Rogue Scholar Two blogs were added in June. Welcome everybody! This brings the number of participating blogs to 150, a big milestone for Rogue Scholar. ### carrier-bag.net _Arts, English._ https://carrier-bag.net/ ### ACM SIGCSE Journal Club Better teaching and learning, one paper at a time... _Computer and information sciences, English_ https://sigcse.cs.manchester.ac.uk/[ ](https://rogue-scholar.org/communities/sigcse) ### ## Technical Updates Starting June 2nd, Rogue Scholar experienced major issues with its search index that were finally resolved on June 18. The underlying cause was a failed update of the InvenioRDM software, as reported here. No data were lost, but some Rogue Scholar functionality, e.g. listing all posts by a given blog, was temporarily unavailable. One consequence was to set up additional Rogue Scholar infrastructure for more extensive testing of major new software versions. The new Rogue Scholar staging server is available at staging.rogue-scholar.org, and the underlying technology (the Kamal tool) is described here. Kamal makes deploying Rogue Scholar simpler and cheaper, and will be used for the migration to the next major InvenioRDM release (v13 v13.0.0rc3 was published today) over the coming weeks. ### Community Update In collaboration with the Infra Wiss Blogs project, Rogue Scholar started a webinar series on best practices for science blogs. The first webinar (in German) on June 11 focused on WordPress, with participation by the DINI and CSTOnline blogs. The webinar is summarized here, and the presentation slides have also been made available. On June 24 the Crossref Blog published a blog post about the roles Crossref sees for blogs in the scholarly ecosystem, and the work that Crossref has done with Rogue Scholar to assign DOIs to posts in the Crossref blog, and to archive the content with Rogue Scholar and the Internet Archive. Please use Slack, email, Mastodon, or Bluesky if you have any questions or comments regarding this monthly newsletter. Rogue Scholar is a scholarly infrastructure that is free for all authors and readers. You can support Rogue Scholar with a one-time or recurring donation or by becoming a sponsor. ## References Fenner, M. (2025, June 6). Rogue Scholar upgrade pains. _Front Matter_. https://doi.org/10.53731/9nam9-w9k29 Fenner, M. (2025, June 27). Kamal deploys InvenioRDM Starter to production. _Front Matter_. https://doi.org/10.53731/m7gng-jmm19 Höfting, J., Ochsner, C., & Pampel, H. (2025, May 17). Zusammenfassung: Infra Wiss Blogs Webinar zu Rogue Scholar. _Infra Wiss Blogs_. https://doi.org/10.59350/h7rh7-jb575 Stoll, L., Vale, P., & Clark, R. M. (2025, June 24). Scholarly blogs and their place in the research nexus. _Crossref Blog_. https://doi.org/10.64000/552ec-b8g03
002
Reposted by Martin Fenner
Rod Page @rdmpage.bsky.social · 01/07/2025
Nice post from @crossref.bsky.social on DOIs and scholarly blogs www.crossref.org/blog/scholar... I am obviously a fan, thanks to @mfenner.bsky.social Rogue Scjolar project adding DOIs to my blog iphylo.blogspot.com
crossref.org
Scholarly blogs and their place in the research nexus - Crossref
If you are reading this blog on our website, you may have noticed that alongside each post we now list a Crossref DOI link, which was not the case a few months ago (though we have retroactively added ...
012
Reposted by Martin Fenner
Martin Paul Eve @eve.gd · 27/06/2025
In more tales of strange governance, Knowledge Unlatched moves BACK to not-for-profit status, living with Annual Reviews. My hot take: this is good. But now AR should cement a constitution that ensures NFP operation and community governance cc @samuelmoore.org www.annualreviews.org/pb-assets/as...
annualreviews.org
052
Reposted by Martin Fenner
Front Matter @index.blog.front-matter.io.ap.brid.gy · 27/06/2025
blog.front-matter.io
Kamal deploys InvenioRDM Starter to production
InvenioRDM is the open source turn-key research data management platform, with detailed documentation available here. InvenioRDM Starter facilitates deployment and configuration of InvenioRDM, allowing you to run InvenioRDM on your local computer within 15 min. This is achieved by providing a) a prebuilt Invenio-App-RDM Docker image, and b) a Docker Compose configuration file with sensible defaults. Starting this week, InvenioRDM starter can also be used to deploy InvenioRDM to production, using the Kamal tool. Kamal is similar to Docker Compose, but adds important functionality, including automatic remote builds, zero-downtime deployments, and deployments to multiple servers. Kamal is a command-line utility with a YAML configuration file, and much simpler to use than Kubernetes or commercial Docker container orchestration services such as Amazon Elastic Container Service (Amazon ECS). Kamal can deploy InvenioRDM to your hardware or to a virtual machine provided by your organization or a cloud provider. Whereas Kubernetes is a good option for large InvenioRDM installations, smaller InvenioRDM instances benefit from simpler deployment tools both in terms of cost and required maintenance. The science blog archive Rogue Scholar managed by Front Matter is a good example of an InvenioRDM repository that can benefit from simpler deployment options. As the next major release of InvenioRDM (v13.0) will happen in the next few weeks, Rogue Scholar needs to prepare for the upgrade, and I have this week launched a Rogue Scholar staging instance at https://staging.rogue-scholar.org using Kamal and a virtual machine provisioned by Hetzner and located in Germany. The setup was mostly straightforward, except for the integration with the Kamal proxy server, which turned out to be very painful. In the end I had to set the InvenioRDM`APP_ALLOWED_HOSTS` ENV variable to `None` and patch the REST API cross site request forgery (CRSF) check to not check the request host. This needs more discussion but appears safe, as all requests must go through the Kamal proxy, where the host header is already checked. More work is needed on the staging server, including regular automatic backups of the database, and setting up monitoring (logs and metrics). The instance is running the latest stable release (v12.1.0), but I will soon be able to install the latest v13 release candidate – v13.0.0rc2 was released three days ago. Kamal was released in 2023 by 37signals, the company behind the Basecamp and Hey services, and one of the major contributors to the Rails platform. Kamal is installed as a Ruby gem, but is not specific to Rails or Ruby. Kamal can be seen as the successor to the Capistrano deployment tool, also originally written by 37signals, but Kamal is working with Docker containers. When I was the technical lead of the Article Level Metrics project at the publisher PLOS 2012-2015 (at the time Docker was not yet adopted for production deployments), I made heavy use of Capistrano. InvenioRDM Starter now includes a Kamal configuration option, and I deployed an InvenioRDM instance to https://demo.front-matter.io using Kamal. Feel free to play around, but only admin accounts can create records – use the official InvenioRDM demo instance (also linked in the footer) if you want to create and/or update records. I will spend the next few weeks refining the Kamal setup and documentation, so that InvenioRDM Starter is ready for Kamal deployments when InvenioRDM v13.0 is officially released. ## References Fenner, M. (2024, June 17). Announcing InvenioRDM Starter Beta. _Front Matter_. https://doi.org/10.53731/jxecm-0me48 Fenner, M. (2015, July 29). Thank you PLOS. _Front Matter_. https://doi.org/10.53731/r294649-6f79289-8cvzn
002
Reposted by Martin Fenner
Front Matter @index.blog.front-matter.io.ap.brid.gy · 06/06/2025
blog.front-matter.io
Rogue Scholar upgrade pains
This week the Rogue Scholar science blog archive experienced major upgrade pains, and Rogue Scholar search became unavailable from Tuesday until Thursday. I tried to upgrade to a pre-release version (13.0.0b4.dev0) of the InvenioRDM repository software, and ran into multiple issues. Going back to the previously installed v12.1.0 took longer than anticipated, mainly because of issues with the Opensearch index. This morning Rogue Scholar is almost working normally again, except for the blog communities, which will take until Monday to be fixed. The primary reason for upgrading the InvenioRDM software was so that I could integrate Crossref DOI registration, based on work I completed last week. The experience with installing a pre-release version of InvenioRDM told me a few things: * install InvenioRDM to production only after extensive testing (as I did last September/October), * service stability is more important than new features, and I am adjusting my deployment strategy and tooling, * observability is critical when running infrastructure, and this can be improved for Rogue Scholar. ### Postpone upgrading to InvenioRDM v13.0 Integrating Crossref DOI registration into InvenioRDM requires a current development version of InvenioRDM, which is currently v13.x, ahead of the last released version v12.1​. As InvenioRDM v13.0 will be released in a few weeks, I will wait with that work until v13.0 is released and Rogue Scholar is updated to that version. There is additional DOI registration work needed, as Rogue Scholar not only registers DOIs with Crossref, but uses multiple DOI prefixes (not yet supported in InvenioRDM) and also accepts blog posts with DOIs registered externally with DataCite. ### Upgrade Rogue Scholar Infrastructure After growing to more than 40,000 blog posts in recent months, the Rogue Scholar infrastructure, particularly the Opensearch search index, needs a hardware upgrade. I will take this opportunity to also change my deployment strategy and tooling, and will start to use Kamal to deploy the InvenioRDM software to a dedicated server (provided by Hetzner). ### Improve Observability Rogue Scholar uses metrics and logging provided by Prometheus/Grafana and error reporting provided by Sentry. More work is needed to improve this observability to better handle incidents such as this week's upgrade issues. ## References Fenner, M. (2025, May 27). Major update on Commonmeta Crossref DOI registration. _Front Matter_. https://doi.org/10.53731/69k7z-w7030
001
Reposted by Martin Fenner
Front Matter @index.blog.front-matter.io.ap.brid.gy · 02/06/2025
blog.front-matter.io
Rogue Scholar Newsletter May 2025
This is the May issue of the monthly newsletter from the Rogue Scholar science blog archive. The newsletter reports on new blogs that have joined the platform, important technical updates in Rogue Scholar infrastructure, community updates, and other news relevant to Rogue Scholar users. ## Blogs added to Rogue Scholar No new blogs were added in May, but the processing of two blog submissions is being worked on. ## Technical Updates On May 6, the Rogue Scholar registration workflow received a major update in how personal names are handled to better accommodate edge cases such as multiple family names. Starting on May 15, new DOI registrations for all WordPress blogs use a new scheme for the DOI suffix, using the Rogue Scholar _blog identifier_ and WordPress _post_id_ , e.g. https://doi.org/10.59350/rzepa.28773 for the latest post on Henry Rzepa's Blog. This allows WordPress blog authors to know the DOI for their blog posts before publication. On May 27, Rogue Scholar switched the DOI registration workflow to the commonmeta-py Python library. This was an important step towards integrating Crossref DOI registration directly into the InvenioRDM repository platform. Since that switch, several smaller issues have been fixed, and in June, the work on Crossref DOI registration in InvenioRDM can begin. ### Community Update On May 15, I published the Rogue Scholar authorship guidelines to clarify the rights and responsibilities of Rogue Scholar blog post authors, following the same basic guidelines that apply to other scholarly outputs. One particular focus was on the limitations and transparency in reporting when using the help of Artificial Intelligence in writing scholarly blog posts. Please use Slack, email, Mastodon, or Bluesky if you have any questions or comments regarding this monthly newsletter. Rogue Scholar is a scholarly infrastructure that is free for all authors and readers. You can support Rogue Scholar with a one-time or recurring donation or by becoming a sponsor. ## References 1. Fenner, M. (2025, May 6). Personal names in science blogs. _Front Matter_. https://doi.org/10.53731/r5fw0-tdd11 2. Fenner, M. (2025, May 27). Major update on Commonmeta Crossref DOI registration. _Front Matter_. https://doi.org/10.53731/69k7z-w7030 3. Fenner, M. (2025). _Commonmeta-py_ (Version 0.113) Computer software]. Zenodo. [https://doi.org/10.5281/ZENODO.15524711 4. Fenner, M. (2025, May 15). Rogue Scholar Authorship Guidelines. _Front Matter_. https://doi.org/10.53731/fnv8b-qfy78 5. McNutt, M. K., Bradford, M., Drazen, J. M., Hanson, B., Howard, B., Jamieson, K. H., Kiermer, V., Marcus, E., Pope, B. K., Schekman, R., Swaminathan, S., Stang, P. J., & Verma, I. M. (2018). Transparency in authors’ contributions and responsibilities to promote integrity in scientific publication. _Proceedings of the National Academy of Sciences_ , _115_(11), 2557–2560. https://doi.org/10.1073/pnas.1715374115
012
Reposted by Martin Fenner
Front Matter @index.blog.front-matter.io.ap.brid.gy · 27/05/2025
blog.front-matter.io
Major update on Commonmeta Crossref DOI registration
Today I released a new version of the commonmeta-py Python library with major improvements in Crossref DOI registration, including refactoring to use the Python marshmallow library, XML schema validation, and API calls to Crossref and InvenioRDM instances via the commonmeta-py command-line interface. ### Using the marshmallow library Marshmallow is a popular Python library for converting complex objects to and from simple Python datatypes. The InvenioRDM repository software heavily uses marshmallow to convert metadata from and to JSON. Marshmallow is not specific to JSON, and writing Crossref metadata in XML requires an additional serialization step. commonmeta-py uses xmltodict to convert XML to Python data structures, and now also uses xmltodict for writing XML. This replaces lxml and the ElementTree API for XML writing. This worked well but didn't integrate with the rest of commonmeta-py, as the Crossref XML writer is the only place where commonmeta-py currently writes XML. More importantly, this change will make integrating commonmeta-py into InvenioRDM easier for Crossref DOI registration. ### XML schema validation Crossref metadata are fairly complex and have different requirements depending on content type, e.g. International Standard Serial Numbers (ISSN) are only supported for some content types, or the order of metadata elements might be different. For this reason, XML schema validation before submission is critical, and commonmeta-py now supports this, using the recently released schema 5.4.0. A large part of the work for this update was generating and validating XML for the various Crossref content types. I could not cover all use cases, so feedback is appreciated, e.g., by sending me DOIs registered with Crossref but not validating in commonmeta-py. Commonmeta (both the Python and Go versions) relies heavily on JSON schema validation, which I greatly prefer over XML Schema Definition (XSD) validation. But until Crossref allows content registration via JSON metadata (similarly to the change DataCite made a few years ago), XML schema validation remains important. The commonmeta Go library does not yet use XML schema validation. ### API calls via the CLI The Rogue Scholar science blogging archive switched to the InvenioRDM repository platform in October 2024 and uses the commonmeta Go library and GitHub Actions for Crossref DOI registration. GitHub Actions are wonderful, but for more complex workflows it is easier to have the logic built into the application running in the GitHub Action. Since May 2024 that was the commonmeta Go library, and commonmeta-py now has similar functionality, including calling the Crossref and InvenioRDM APIs directly. Starting today, the GitHub Actions for Rogue Scholar DOI registrations and updates use commonmeta-py instead of the commonmeta Go library. The next two weeks I will carefully monitor them for any issues that might have escaped testing. The next major milestone is integrating Crossref DOI registration directly into InvenioRDM. This will not only simplify the workflows for Rogue Scholar, but makes InvenioRDM a more interesting option for repositories with original textual content, e.g. preprints, reports or dissertations. ## References Fenner, M. (2025). _Commonmeta-py_ (Version 0.113) Computer software]. Zenodo. [https://doi.org/10.5281/ZENODO.15524711 Feeney, P. (2025, March 19). Version 5.4.0 metadata schema update now available. _Crossref Blog_. https://doi.org/10.13003/325070
001
Reposted by Martin Fenner
Front Matter @index.blog.front-matter.io.ap.brid.gy · 19/05/2025
blog.front-matter.io
Commonmeta understands OpenAlex
Last week I released updated Python, and Go versions of the commonmeta library that can now read metadata from OpenAlex. OpenAlex is an open index of over 250 million scholarly works from 250k sources. OpenAlex uses its own identifier for works, people, organizations, sources, and concepts, but also understands common identifiers for works (e.g. DOI or PMID), people (e.g. ORCID), or organizations, including funders (e.g. ROR). Commonmeta can now fetch metadata from the OpenAlex API and convert them into the commonmeta or any other supported format. An example command-line call would look like this: commonmeta convert https://pubmed.ncbi.nlm.nih.gov/17160063 --from openalex Or you could fetch a random sample of 100 preprints: commonmeta list --sample --type preprint -n 100 --from openalex OpenAlex is an impressive service for the scholarly community, launched three years ago when the Microsoft Academic Graph database stopped being updated. I particularly like the following features: * coverage of a large number of text publications, including content registered via Crossref and DataCite, * links to legal copies of full-text versions of publications, * enrichment of metadata with persistent identifiers, e.g. affiliation information, * rich automated subject area classification into 4500 topics. When working on integrating OpenAlex into commonmeta, I noticed some areas where the service (still only three years old) could be improved upon: * personal names are not treated as a combination of given and family names. This can cause problems in cases of unusual names and formatted citations, which typically split personal names into given and family names, * Metadata enrichment should not be done with personal names, as this is very difficult and may have privacy implications. My OpenAlex profile – which covers publications over 30 years in different research areas (mainly basic and clinical cancer research and scholarly infrastructure) – contains most of my publications but also publications not written by me, including several papers published before I finished high school in 1983, * license information uses a simple schema that aligns with Creative Commons licenses, but for example doesn't consider different versions (e.g. CC-BY 3.0 vs. CC-BY 4.0). Commonmeta supports the SPDX license list that includes all Creative Commons license versions but also many software licenses. The initial OpenAlex support in commonmeta is the result of a wonderful pull request for the Python version. I mainly added test coverage and added the same functionality to the Go version. Please provide feedback via email, Slack, or GitHub if you discover bugs or missing functionality of the OpenAlex support in commonmeta. ## References Fenner, M. (2025). _Commonmeta-py_ (Version 0.107) Computer software]. Zenodo. [https://doi.org/10.5281/ZENODO.15465786 Martin Fenner. (2025). _front-matter/commonmeta: V0.25.0_ (Version v0.25.0) Computer software]. Zenodo. [https://doi.org/10.5281/ZENODO.15461402
002
Reposted by Martin Fenner
Catharina Ochsner @catharinaochsner.bsky.social · 19/05/2025
As part of the Infra Wiss Blogs project, we will host the webinar “Blog archiving with Rogue Scholar using the example of WordPress Blogs” on June 11. Registration: hu.berlin/infrawissblogs More information can be found here: hu.berlin/infrawissblo... @pampel.bsky.social @mfenner.bsky.social
001
Reposted by Martin Fenner
Front Matter @index.blog.front-matter.io.ap.brid.gy · 15/05/2025
blog.front-matter.io
Rogue Scholar Authorship Guidelines
Rogue Scholar archives the content of currently more than 150 science blogs with more than 40,000 blog posts. In this blog post, I want to clarify the guidelines that Rogue Scholar tries to follow regarding authorship. Rogue Scholar blog posts are scholarly content and thus follow the same basic guidelines as other scholarly outputs, such as journal articles, preprints, or book chapters. ### Authorship All authors are expected to have made substantial contributions to the submitted work and to be accountable for the work both before and after publication. Those who contributed to the work but do not meet the criteria for authorship can be mentioned in the Acknowledgments. ### Artificial Intelligence (AI) AI tools cannot meet the requirements for authorship, as explained by the Committee on Publication Ethics (COPE): > AI tools cannot meet the requirements for authorship as they cannot take responsibility for the submitted work. As non-legal entities, they cannot assert the presence or absence of conflicts of interest nor manage copyright and license agreements. And COPE recommends that: > Authors who use AI tools in the writing of a manuscript, production of images or graphical elements of the paper, or in the collection and analysis of data, must be transparent in disclosing in the Materials and Methods (or similar section) of the paper how the AI tool was used and which tool was used. Rogue Scholar blogger Mark Dingemanse recently made a strong case for why synthetic text is incompatible with science blogging. ### Contributor Roles For blog posts with multiple authors, Rogue Scholar plans to add support for the Contributor Role Taxonomy (CRediT). And for blog posts handled by an editor or undergoing peer review, Rogue Scholar also wants to add those roles. ### Possible Actions Rogue Scholar is an archive of science blog posts, the content is originally published elsewhere, and the decision for publication was taken by the blog authors. In rare cases, blog authors might retract a blog post or post a correction, and that information should also be communicated by Rogue Scholar and via the DOI metadata. When blog posts don't follow the above guidelines, e.g. when inappropriately using AI Tools, Rogue Scholar staff, after consultation with the Rogue Scholar Advisory Board, will decide on appropriate actions, including retraction. ## References 1. McNutt, M. K., Bradford, M., Drazen, J. M., Hanson, B., Howard, B., Jamieson, K. H., Kiermer, V., Marcus, E., Pope, B. K., Schekman, R., Swaminathan, S., Stang, P. J., & Verma, I. M. (2018). Transparency in authors’ contributions and responsibilities to promote integrity in scientific publication. _Proceedings of the National Academy of Sciences_ , _115_(11), 2557–2560. https://doi.org/10.1073/pnas.1715374115 2. _Authorship and AI tools_. (2024). Committee on Publication Ethics. https://doi.org/10.24318/cCVRZBms 3. Holcombe, A. O. (2019). Contributorship, Not Authorship: Use CRediT to Indicate Who Did What. _Publications_ , _7_(3), 48. https://doi.org/10.3390/publications7030048 4. Marcum, C. S. (2025, April 8). Peer-Review for a Blog Post? My Experience with MetaROR. _Front Matter_. https://doi.org/10.54900/bymaz-4fw37 5. Dingemanse, M. (2025, May 2). Why synthetic text is incompatible with science blogging. _Front Matter_. https://doi.org/10.59350/63b1y-1js90
012
Reposted by Martin Fenner
Hilda Bastian @hildabast.bsky.social · 14/05/2025
This is so exciting! The German National Library of Medicine @zbmed.bsky.social just had its first open meeting on the plan for an open & independent PubMed safety net. Here's my write-up @plos.org on the meeting & how institutions & others can help absolutelymaybe.plos.org/2025/05/14/g... #MedLibs
absolutelymaybe.plos.org
Germany's Plan for an Open and Independent PubMed Safety Net - Absolutely Maybe
A few months ago, I wrote about reasons to be concerned about the reliability of PubMed under the new regime at the…
112981
Reposted by Martin Fenner
Upstream Blog - FORCE11 @upstreamblog.bsky.social · 13/05/2025
How does open science hold up in times of crisis? @jeroenbosman.bsky.social & @jeroenson.bsky.social explore this in a sharp post on Upstream: doi.org/10.54900/pqr... They outline threats, map types of resilience, and remind us: open science isn’t just at risk…it’s also part of the solution.
doi.org
The resilience of open science in times of crisis
The increasingly hostile attitude of the new U.S. government towards science and academia leaves many of us deeply concerned— if not outright alarmed. In an effort to better understand the unfolding s...
057
Reposted by Martin Fenner
Sciety @scietyhq.bsky.social · 13/05/2025
Preprint peer evaluation already happens here. In posts and in replies. But it’s disconnected from the scholarly record and how science gets credited. With support from NLnet, Sciety is working to recognise the crucial act of community curation 📝 blog.sciety.org/sciety-secur...
blog.sciety.org
Sciety secures funding from NLNet Foundation to help build discourse around preprints
At Sciety we're pioneering a new layer of open scholarly communication, one that captures informal conversations around preprints and makes them discoverable and reusable. Sciety has secured new…
046
Reposted by Martin Fenner
Martin Paul Eve @eve.gd · 13/05/2025
There are very few artefacts that can't or shouldn't be cited. The one that annoys me most is being told I can't cite an unpublished PhD thesis. These are often really good! With Wikipedia, you should probably cite the original source.
372
Reposted by Martin Fenner
Jeroen Sondervan @jeroenson.akademienl.social.ap.brid.gy · 13/05/2025
Science is under attack. In a new Upstream post "The resilience of open science in times of crisis" @jeroenbosman and I detail current events around 5 types of threats, show how scientists and others are pushing back, and we propose a resilience model to […] [Original post on akademienl.social]
014
Reposted by Martin Fenner
Nate Breznau @breznaunate.bsky.social · 21/04/2025
Science in survival mode. In this post I argue that unethical scientific behaviors are symptoms of triggered survival response. Scientists exposed to repeated fear stimuli believe that without sexy results & increasing status, they will be rejected/ejected from science. crowdid.hypotheses.org/1417
crowdid.hypotheses.org
Science in survival mode
In this post I diagnose the symptoms of scientific malpractice as similar to those of trauma and emotional abuse.
255
Reposted by Martin Fenner
Front Matter @index.blog.front-matter.io.ap.brid.gy · 21/04/2025
blog.front-matter.io
Working with the Research Organization Registry (ROR) Data Dump
The commonmeta Go library has seen a major update this week that dramatically simplifies working with the Research Organization Registry (ROR) data dump, including conversion to other serialization formats (e.g. JSON Lines) and metadata formats (InvenioRDM), and integrated affiliation matching. ### File Download ROR metadata are updated regularly (typically about once a month) and made available as a file download via the Zenodo repository under a Creative Commons Zero waiver. The single file is a compressed zip archive with the metadata in JSON and CSV formats, each for v1 and v2 of the ROR schema. There are two challenges with the ROR data dump file download: while there is a stable DOI for the latest version of the data, that DOI resolves to the dataset landing page, and there is no easy way to automatically get to the file download URL for automatic downloads of new versions. The other challenge is that the compressed zip archive contains four archived files that can't be downloaded individually. The complete archive is 58.6 MB, whereas the zipped v2 JSON would be 17.7 MB (the uncompressed file is 256.9 MB). In the commonmeta library, the download URL of the most recent ROR data dump and the file names in that zip archive are hard-coded. commonmeta can automatically fetch the full zip archive and selectively extract the v2 JSON. When using commands that require ROR metadata, commonmeta looks for a data dump in zipped Avro format (more on Avro below) in the folder where the command is run. If that file isn't found, commonmeta looks for a v2 JSON file from the data dump, and if that file isn't found either, fetches the data dump from Zenodo, extracts the v2 JSON file, and generates the compressed Avro file. For example a local lookup of an organization via its ROR identifier: commonmeta convert https://ror.org/04jvcky17 Running this command transparently downloads, extracts, and converts the latest ROR data dump and looks up the metadata for https://ror.org/04jvcky17 (Newport Festivals Foundation). This takes only a few seconds (depending on your network connection), and going forward uses ROR data stored locally. ### File Formats Commonmeta can automatically convert the JSON data of all 115K ROR records into other serialization formats, currently JSON Lines, YAML, CSV, and Avro. And optionally compress them as zip archive, for example: commonmeta list --from ror --file mydata.csv.zip This command in a few seconds generates a compressed CSV file (almost) identical to the CSV provided in the ROR data dump. Whereas JSON, JSON Lines, and YAML are straightforward to work with, the CSV format has limitations and shows only a (large) subset of the metadata. Avro is another special format; it is focused on efficient storage and transmission over network connections, but is not human-readable. Avro uses a schema in JSON format, which has advantages over the schema-less JSON, YAML, and CSV, including data validation and smaller file sizes. These are the file sizes for the ROR data dump (the JSON file is slightly smaller than the original file because null values were omitted). Format | Size (MB) | Size ZIP (MB) ---|---|--- JSON | 182.3 | 17.0 JSON Lines | 108.1 | 14.5 YAML | 125.5 | 15.3 CSV | 33.5 | 10.3 Avro | 41.6 | 13.2 Other criteria besides file size are the speed of reading and writing files in this format, readability by humans, and supported data types. CSV is very readable, but is only useful as output format, as data types other than text and numbers are not supported. Avro generates the smallest files, but is more complicated to work with as it requires a schema. YAML is very human-readable, whereas JSON Lines works well over network connections as it is easier to stream than JSON. commonmeta allows working with all these formats for ROR data (CSV only as output as it doesn''t include all metadata), so you can for example give a JSON Lines file to a colleague and she can use it as commonmeta input: commonmeta list mydata.jsonl --from ror --file mydata2.csv ### Metadata formats and filtering The ROR schema describes the metadata needed for the affiliation use case in scholarly works. A related metadata schema is used by the InvenioRDM repository platform that the Rogue Scholar blogging platform also uses. Here metadata vocabularies are typically described in YAML and use a subset of the ROR metadata, both for author affiliations and for funders. One small twist is that one metadata field is different: affiliations support acronyms for names, whereas funders support the country code. commonmeta can handle this and also generate a subset of organizations that are of type `funder` : commonmeta list --from ror --to inveniordm --file funders.yaml One challenge in the current version of the InvenioRDM platform (v12.0) is that importing large vocabularies (e.g. all ROR data) is slow and error-prone. In a previous blog post I suggested to only import the affiliations needed, but that workflow is slow and complicated. The upcoming version v13.0 of InvenioRDM has better handling of large vocabulary imports, in the meantime commonmeta supports the generation of smaller vocabularies that can be imported in batches, e.g. commonmeta list --from ror --to inveniordm --file affilations_ror.yaml -n 10000 --page 1 This command generates a YAML file in a format InvenioRDM understands and containing only 10,000 organizations. By installing commonmeta on the InvenioRDM server and running this command repeatedly and importing the YAML in batches we can overcome the limitations of the v12.0 vocabulary import. commonmeta currently supports two filters to generate subsets of the ROR data: by organization type (e.g. funder or university) and/or by country. Please reach out if you are interested in other metadata formats for organizations and/or filters. ### Queries commonmeta supports simple queries of the local ROR data by ROR ID or external ID (Crossref Funder ID, GRID, ISNI, Wikidata): commonmeta convert Q7713086 More complex queries are currently not possible with local data, but commonmeta integrates with the ROR API to support affiliation matching. commonmeta match --from ror "The Alfred Hospital" This will return a single ROR record if a match with a score of 0.9 or higher is found by the ROR API. The affiliation matching can be combined with looking up metadata from Crossref, DataCite, or InvenioRDM, a core functionality of commonmeta. If affiliation names but no ROR ids are provided, commonmeta can automatically merge the information found by affiliation matching. To indicate that the metadata was found by ROR and not the publisher, commonmeta adds an `assertedBy` field with the value `ror` to the response. Affiliation identifiers provided by the publisher will have a `publisher` value in the response. The following query returns a random sample of 50 publications from Crossref member 31795 (Front Matter) with affiliation matching applied and the results stored in commonmeta schema format. commonmeta list --from crossref --member 31795 --sample=true -n 50 --match=true --file matching.json ### Conclusions The work on using Go to read, format, and integrate ROR metadata was inspired by a session at the recent InvenioRDM Partner meeting in Hamburg. InvenioRDM is written in Python and Javascript/React, but Go is a great alternative for simple installations (commonmeta is a single 5 MB binary) and performance-critical functions (e.g. converting the ROR data dump into the InvenioRDM YAML format). Rust is another language that people use in these situations, and more work is needed to compare the relative strengths and weaknesses. More work is also needed to decide on the best file format for storing scholarly metadata at scale. Avro looks promising, but needs to be compared with JSON in more detail. Another interesting newer format is Parquet. It is a column-oriented file format in contrast to the formats described here, which are row-based. This makes some things harder but other things much easier, and this becomes more critical as the number of metadata records grows from 100K (ROR) to the millions (DataCite, Crossref). Finally, this work demonstrates that a good proportion of metadata work can be done locally, working with data dumps rather than high frequencies of API calls. ## References Research Organization Registry. (2025). _ROR Data_ (Version v1.63) Dataset]. Zenodo. [https://doi.org/10.5281/ZENODO.6347574 Martin Fenner. (2025). _front-matter/commonmeta: V0.19.4_ (Version v0.19.4) Computer software]. Zenodo. [https://doi.org/10.5281/ZENODO.15256488 Fenner, M. (2025, April 7). Where I simplified ROR affiliation metadata handling. _Front Matter_. https://doi.org/10.53731/ymbv8-7jm78 Fenner, M. (2025, March 19). Rogue Scholar meets the InvenioRDM community. _Front Matter_. https://doi.org/10.53731/1aw0b-pr243
045
Reposted by Martin Fenner
Front Matter @index.blog.front-matter.io.ap.brid.gy · 14/04/2025
blog.front-matter.io
Rogue Scholar adds full-text content to all blog post web pages
Today, the Rogue Scholar science blog archive launched an important new feature: showing the full-text content (in addition to metadata) of all participating blogs on blog post pages. Rogue Scholar has always stored the full-text internally and made it available via the REST API, as the full-text is needed for archiving and full-text search. The display of full-text content on Rogue Scholar blog post pages gives blog authors immediate feedback on how their blog posts look outside of their blogging platform and how they will be archived. This is especially important for included images and advanced metadata such as references. Screenshot of https://rogue-scholar.org/records/macsk-y9124 The references that Rogue Scholar detects and registers with the Crossref metadata for the post are shown on the same page, giving immediate feedback. Screenshot of https://rogue-scholar.org/records/macsk-y9124 The display of images helps detect broken image links (images are not yet stored with Rogue Scholar) and wrong image sizes. It also shows best practices such as providing figure legends and alt text (both missing in this example): Screenshot of https://rogue-scholar.org/records/5dgfh-cdh66 The display of the full-text also gives quick feedback on full-text search results, e.g. for the term Xanadu. Future versions might also show the highlights returned by the Opensearch search index. This new feature requires re-indexing of all blog posts, as full-text is now stored in HTML instead of markdown format (as both RSS feeds and Rogue Scholar use HTML). About 70% of blog posts are already processed; the remaining posts will be stored as HTML full-text until the end of this week. With nearly 150 participating blogs, not all formatting edge cases, mostly around custom CSS, could be addressed initially. I hope to resolve the outstanding issues by the end of May. Please reach out via Slack or email if you find an issue with the HTML full-text. Older content such as the first post on my personal blog from August 2007 has seen several platform migrations (four in this case), so archiving content independent of any platform-specific formatting is important. I hope that the display of the full-text helps with that goal. One positive additional outcome could be that migrating to a different blogging platform becomes easier. ## References Fenner, M. (2014, March 3). Six Misunderstandings about Scholarly Markdown. _Front Matter_. https://doi.org/10.53731/r294649-6f79289-8cw0j Fenner, M. (2020, August 27). DataCite Commons—Exploiting the Power of PIDs and the PID Graph. _Front Matter_. https://doi.org/10.53731/kx45q-14h82 Fenner, M. (2007, August 3). Open access may become mandatory for NIH-funded research. _Front Matter_. https://doi.org/10.53731/r294649-6f79289-8cw1q
003
Reposted by Martin Fenner
Ludo Waltman @ludowaltman.bsky.social · 08/04/2025
Thank you @csmarcum.sciences.social.ap.brid.gy for sharing your experience with @metaror.bsky.social; glad to hear you found the reviews to be of very high quality! Thanks also to @mfenner.bsky.social for pushing the idea of peer review of blog posts.
011
Martin Fenner @mfenner.bsky.social · 08/04/2025
New blog post on the @upstreamblog.bsky.social blog: doi.org/10.54900/bym.... @chrismarcum.bsky.social reflecting on the experience of @metaror.bsky.social reviewing the first (as far as I know) science blog post.
doi.org
Peer-Review for a Blog Post? My Experience with MetaROR
A few months back, Upstream editor Martin Fenner suggested that I submit my Upstream blog post titled, Drinking from the Firehose? Write More and Publish Less, for peer-review as a sort of experiment ...
041
Reposted by Martin Fenner
Front Matter @index.blog.front-matter.io.ap.brid.gy · 07/04/2025
blog.front-matter.io
Where I simplified ROR affiliation metadata handling
The InvenioRDM project partners met in Hamburg two weeks ago, and we discussed a wide range of topics over five days. InvenioRDM is the open source repository platform that also powers the Rogue Scholar science blog archive, and one priority for me is to keep the repository platform's maintenance simple while adding the features I need. The workshop motivated me to work on author affiliations, inspired by a session on using programming languages other than Python or JavaScript for tasks that require a lot of data processing and network traffic. One core functionality of InvenioRDM and Rogue Scholar is information about author affiliations, using the Research Organization Registry (ROR) persistent identifier. About 100K organizations relevant for the scholarly community are included in ROR with a persistent identifier and relevant metadata such as names in multiple languages, organization type, geolocation, and other organizational identifiers (disclaimer: I was heavily involved in launching the ROR registry in early 2019). To make this functionality work, InvenioRDM stores information about affiliations from a YAML file into the InvenioRDM database, allowing users to pick an affiliation via the InvenioRDM user interface. This YAML file contains only a small subset of the metadata made available via ROR, basically only the ROR ID and organization names in one or more languages. ROR releases an updated data dump once a month, a 59 MB compressed file containing metadata for all records in JSON and CSV formats. To extract all records from the 257 MB uncompressed JSON file and store the metadata needed for InvenioRDM in a YAML file is not difficult, but it requires automation and is a good task for the Go programming language. I updated the commonmeta Go library to do this with version v0.17.5 released today. To convert a ROR data dump in JSON format into a YAML file InvenioRDM can understand, run this command: commonmeta transform v1.63-2025-04-03-ror-data_schema_v2.json --from ror --to inveniordm --file affiliations_ror.yaml This step takes about five seconds. You can also generate a compressed version by adding the `--compress` flag. This brings the size of the YAML file containing all 115K ROR records down from 21 MB to 4.1 MB. But you can go one step further. commonmeta is a single Go binary without dependencies. In version v0.17 I added the compressed ROR records in InvenioRDM YAML format to the commonmeta binary, increasing the file size from 4 MB to 8 MB. You can now output the same YAML file with this command (i.e., without the ROR JSON input file): commonmeta transform --to inveniordm --file affiliations_ror.yaml This command runs without any network operations. As Golang programs are distributed as a single binary, embedding files is a convenient way to distribute metadata and/or content together with code. The process of downloading the latest ROR data dump could also be optimized. One challenge is the direct download of files, as the DOI of the data dump resolves to the record landing page on Zenodo, and more work is needed to get the download links from the API in an automated fashion. ### InvenioRDM Starter For a smooth start with InvenioRDM, I am maintaining the InvenioRDM Starter project that includes a prebuilt InvenioRDM Docker image and can be started with the included Docker Compose file. The commonmeta Go library can provide data to load into your InvenioRDM Starter instance by querying DataCite, Crossref, or other InvenioRDM instances (not working yet with Zenodo because the API is highly customized to be backward-compatible). One obvious use case is to load Crossref or DataCite DOI metadata from authors from a particular institution using the ROR identifier, for example 1000 Crossref records from the University of Münster (ROR ID https://ror.org/00pd74e08): commonmeta push -f crossref -t inveniordm --ror 00pd74e08 -n 1000 --host localhost --token xxx To do the same query with DataCite, replace the `-f` (from) flag: commonmeta push -f datacite -t inveniordm --ror 00pd74e08 -n 1000 --host localhost --token xxx You first need to create an account and set up a token in your InvenioRDM Starter instance running at https://localhost. And you need to do one additional step: load all ROR affiliations that you need. You have two options: a) load the file with all ROR affiliations created above, or b) only load the ROR affiliations you need for your test data. The former is challenging as the import of more than 100K affiliations via API can be tricky. To do the latter, you can generate an JSON file with your metadata first and generate an `affiliations_ror.yaml` file with the `--vocabulary` flag: commonmeta list -f crossref -t inveniordm --ror 00pd74e08 -n 1000 --vocabulary There is unfortunately still a bit work needed to get all this working. But the end result is something like this in your InvenioRDM Starter instance: This also works with the hundreds of authors and their affiliations common to high-energy physics: And ROR is also used for the search facets, allowing you to filter records by affiliation (e.g. co-autors from outside the University of Münster): The improved tooling for working with ROR metadata enables a lot of interesting functionality for institutions running an instance of InvenioRDM. A lot more work is needed to improve the documentation and developer experience, but the InvenioRDM Starter example already nicely demonstrates how to quickly get external metadata into InvenioRDM without intermediaries such as research information systems (CRIS). ## References _Hear us ROR! Announcing our first prototype and next steps_. (2019, February 10). Research Organization Registry (ROR). https://ror.org/blog/2019-02-10-announcing-first-ror-prototype/ Research Organization Registry. (2025). _ROR Data_ (Version v1.63) Dataset]. Zenodo. [https://doi.org/10.5281/ZENODO.6347574 Martin Fenner. (2025). _front-matter/commonmeta: V0.17.5_ (Version v0.17.5) Computer software]. Zenodo. [https://doi.org/10.5281/ZENODO.15169107
011
Reposted by Martin Fenner
Elizabeth Gadd @lizziegadd.bsky.social · 21/03/2025
Yay! You can now follow @coarassessment.bsky.social on Bluesky! 👇🏻
CoARA bluesky profile screenshot.
1158
Reposted by Martin Fenner
Front Matter @index.blog.front-matter.io.ap.brid.gy · 19/03/2025
blog.front-matter.io
Rogue Scholar meets the InvenioRDM community
Next week the InvenioRDM community will meet in Hamburg for five days to discuss the open source repository platform. Front Matter has been part of the InvenioRDM community since August 2021, and Rogue Scholar relaunched on the InvenioRDM platform in October 2024. The last workshop of the InvenioRDM partners took place in March 2024 in Münster, so this is the first meetup where I am running a production instance of InvenioRDM. I hope to share some of the things I learned running Rogue Scholar, talk about the customizations that may be of interest to other InvenioRDM instances, and ask many questions. On the first day of the workshop we will have a session where InvenioRDM instances can present the highlights of what they are doing in 5 minutes, and today I have uploaded my slides to Zenodo, which is of course the repository where it all started. Here are some of the special Rogue Scholar features I want to highlight: * All records are scholarly blog posts, in multiple languages and covering all subject areas. This makes Rogue Scholar different from both an institutional repository (research outputs from a specific institution) and a disciplinary repository (research outputs in a specific subject area). Rogue Scholar is similar to preprint servers such as arXiv or bioRxiv, but with a broader scope in the subject area. * Almost everything in Rogue Scholar is automated, from extracting content and metadata from participating blogs, to uploading content to Rogue Scholar and DOI registration with Crossref. * Rogue Scholar offers full-text search of all its content, a functionality that is not common in other InvenioRDM instances. The main reason for this is of course that full-text search is difficult to implement if content is not text, or in formats where searching is difficult (e.g. CSV or PDF). * Rogue Scholar tracks the citations of its content and shows them to users. This is done differently from other InvenioRDM instances, as Rogue Scholar uses DOIs from Crossref rather than DataCite and takes advantage of the Crossref Cited-by service. * More recently Rogue Scholar has improved the faceting/aggregation of search results, e.g. by affiliation or publication year. This makes it very easy to visualize key repository indicators in a dashboard. Some of the questions I have for the InvenioRDM community include: * further consolidation of Python package management with uv, including support for the _site_ local folder, * improve Javascript bundling by replacing webpack with a modern alternative such as Rspack, * override UI React components. Documented but I am struggling with the workflow, * using other programming languages besides Python and React/Javascript for InvenioRDM, in particular Golang, * simpler ways to collect use COUNTER-compliant usage stats (views and downloads) that don't use log file processing, * interest in simplifying the InvenioRDM stack by replacing Elasticsearch/Opensearch with the pg_search Postgres extension. If you are a Rogue Scholar user and have topics or questions I should discuss in Hamburg, let me know via email or Slack. ## References 1. Fenner, M. (2021, August 5). First InvenioRDM Long-Term Support (LTS) version released today – and Front Matter is joining as a participating partner. _Front Matter_. https://doi.org/10.53731/r8c26t1-97aq74v-ag66m 2. Fenner, M. (2024, October 14). The Rogue Scholar migration to InvenioRDM is taking shape. _Front Matter_. https://doi.org/10.53731/a7v8h-8px31 3. _InvenioRDM Partner Meeting Summary, March 2024—Inveniosoftware.org_. (n.d.). Retrieved March 19, 2025, from https://inveniosoftware.org/blog/2024-04-23-april-project-meeting-update/ 4. Fenner, M. (2025). _Rogue Scholar InvenioRDM Workshop 2025_. https://doi.org/10.5281/ZENODO.15050863 5. Fenner, M. (2025, March 10). Working on the Rogue Scholar dashboard. _Front Matter_. https://doi.org/10.53731/wtvvs-f4h04
001
Reposted by Martin Fenner
Steve Klabnik @steveklabnik.com · 13/03/2025
Choosing Languages steveklabnik.com/writing/choo...
steveklabnik.com
Choosing Languages
2930482
Reposted by Martin Fenner
Bernd Pulverer @berndpulverer.bsky.social · 12/03/2025
Congratulations @cziscience.bsky.social& @cshlnews.bsky.social on the launch of #openRxiv - a new nonprofit to host @biorxivpreprint.bsky.social & @medRxivpreprint.bsky.social. @Embopress.org supported preprints from day1 + on the launch advisory group of these preeminent preprint platforms
065
Reposted by Martin Fenner
Ludo Waltman @ludowaltman.bsky.social · 13/03/2025
MetaROR is experimenting with peer review of blog posts! Thanks to @csmarcum.sciences.social.ap.brid.gy for submitting his post, to the reviewers @catmacos.bsky.social, @danbrockington.bsky.social and @jacoates.bsky.social, and to #Upstream editor @mfenner.bsky.social for setting this in motion!
1104
Reposted by Martin Fenner
openRxiv @openrxiv.bsky.social · 11/03/2025
openRxiv has arrived! We’re thrilled to announce the launch of openRxiv as an independent, researcher-led nonprofit to oversee bioRxiv and medRxiv, the world’s leading preprint servers for life and health sciences. openrxiv.org/introducing-... #openRxiv #OpenScience #Preprints #bioRxiv #medRxiv
3409231
Martin Fenner @mfenner.bsky.social · 10/03/2025
New blog post: doi.org/10.53731/wtv...
doi.org
Working on the Rogue Scholar dashboard
The Rogue Scholar dashboard is taking shape. The statistics page has been renamed to dashboard, still linked from the Rogue Scholar footer. More work has been done to expose key indicators of the scie...
010
Martin Fenner @mfenner.bsky.social · 28/02/2025
New blog post: doi.org/10.53731/qpf...
doi.org
Rogue Scholar Newsletter February 2025
This is the second issue of the new monthly newsletter from the Rogue Scholar science blog archive. The newsletter reports on new blogs that have joined the platform, important technical updates in Ro...
011
Martin Fenner @mfenner.bsky.social · 25/02/2025
New blog post: doi.org/10.53731/gg3...
doi.org
Rogue Scholar statistics page relaunches
The statistics page for the Rogue Scholar science blog archive was relaunched today, as Rogue Scholar reaches the major milestone of 25,000 archived science blog posts later this week, and the work on...
010
Reposted by Martin Fenner
Derek Lowe @dereklowe.bsky.social · 25/02/2025
For decades people have searched for the vascular target of the widely used thiazide blood pressure drugs. Looks like it’s been found!
science.org
The Thiazide Target, At Last
26610
Reposted by Martin Fenner
Martin Paul Eve @eve.gd · 21/02/2025
This morning, I've mostly been thinking about the relationships of open source scholarly technical platforms and their parent or partner projects. I wrote this eve.gd/2025/02/21/s... Then I saw that rOpenSci has a very recent post on a similar theme ropensci.org/blog/2025/02...
eve.gd
Swimming upstream
Open source projects like InvenioRDM – on which we rely for our repository software at Knowledge Commons – thrive on community contributions. When initiatives like ours not only use these platforms bu...
191
Martin Fenner @mfenner.bsky.social · 20/02/2025
New blog post: doi.org/10.53731/9s7...
doi.org
Adding Rogue Scholar blog posts to topic communities
The Rogue Scholar science blog archive has started to automatically add all blog posts to the subject area community of the blog. Today I am adding another automatic community workflow: if a blog post...
010
Martin Fenner @mfenner.bsky.social · 17/02/2025
New blog post: doi.org/10.53731/9zb...
doi.org
Rogue Scholar starts subject area communities
The Rogue Scholar science blog archive has started to automatically add all blog posts to the subject area community of the blog. Rogue Scholar uses the 48 OECD Fields of Science and Technology subjec...
010
Reposted by Martin Fenner
Martin Paul Eve @eve.gd · 12/02/2025
I've said it before, but I love @mfenner.bsky.social's Rogue Scholar service. With a bit of help from Martin on the Slack forum, I can now pre-assign DOIs to blog posts that I write and that it aggregates. It's really fantastic. rogue-scholar.org
rogue-scholar.org
Rogue Scholar
085
Martin Fenner @mfenner.bsky.social · 10/02/2025
New blog post: doi.org/10.53731/3ht...
doi.org
It is time for a blog post content type
In a few weeks, the Rogue Scholar science blog archive will reach the milestone of 25,000 archived science blog posts, each with a DOI and metadata and searchable via full-text search. With this numbe...
030