Mentions légales du service

Skip to content
Snippets Groups Projects

bibtex-sw-entry

Rationale

Software is a research output that can and should be cited like articles and data. This working document contains a proposal for software-specific BibTeX entries in order to facilitate the citation of software projects.

  • the working document is swentry.org;
  • the issues in this repository track ongoing discussions.

Key issues

To enable proper citation of software artefacts, using systems like BibTeX, we need to address the following separate but related issues.

Data model

The key question here is: what is the subset of software metadata needed for producing a citation?

It is a key question, as the data model needs to be able to store all the information one may need to prepare a properly formatted citation. For this, we need to consider what a citation should look like. A list of references to existing examples and approaches can be found in the document citation-styles.org

We do not need to represent in a BibTeX entry all the possible metadata for software: the idea is to keep at hand everything needed for producing a proper citation in all contexts of interest, and rely on a link to an external source for the rest. As an example, the affiliations of the authors are an important part of the software metadata, like they are for article metadata, but we do not want to show them in a citation, so we do not store them in a BibTeX record.

The current proposal for the data model consists of the list of fields presented in the working document swentry.org

Representation of the data model

The key question here is: what new entries should we have in BibTeX for software?

A simple approach would be to complete the @software BibTeX entry already present in biblatex (currently handled like @misc) with all the fields identified for the data model.

A more refined approach, to avoid creating multiples slightly different copies of a @software entry, is to factor out common information in separate entries, like is done in BibTeX with the @proceedings/@inproceedings pair. One can have then a chain of entry types like @software, @softwareversion, @softwaremodule, @codefragment connected with a crossref field. Of course, it will be possible to merge all the information into a single entry, collapsing the chain, if needed.

View of a software citation

The key question here is: how should the data from the data model be used in an article citation?

This is a matter of bibliographic style, that can be described using the Citation Style Language, or in a BibTeX style (using any of the bibtex, biblatex, biber tools around). Once all the above is stabilised, we will need to have at least one reference implementation of a standard style.