Software authorship
Developing research software is a dynamic, agile and
collaborative effort, involving a spectrum of contributions.
Examples of contributions include project management, software
engineering and reporting bugs. Each of these contributions
has varying impacts on the software.
The objective of Software Authorship is to give a set of
definitions, guidelines and criteria to distinguish authors
from non-author contributors of the software. Because of the
dynamic nature of software development and maintenance,
contributors may transition to and from author status as the
software evolves.
By defining authors and non-author contributors,
appropriate credit and citation and be given when using the
software.
Who is an author?
SORTÆD recommends that software authorship be based on
substantial contributions to:
- the conceptualization of the software; OR
- the source code, documentation and metadata, test code,
setup or build configuration of the software; OR
- maintaining the software or safeguarding the continued
existence or sustainability of the software
project.
In contrast to authorship of textual research outputs:
- software authorship is NOT based on approval of software
versions to be released or published;
- software authorship is NOT based on agreeing to be
accountable for contributions to the software beyond legal
accountability, in ensuring that questions related to the
quality and integrity of the software are appropriately
investigated and resolved.
All those designated as authors should meet one of the
three criteria for authorship, and all who meet one of the
three criteria should be identified as authors. Those who do
not meet one of the four criteria due to the insubstantiality
of their contribution should be acknowledged as contributors
(see below). These authorship criteria are intended to reserve
the status of authorship for those who deserve credit.
The responsibility for identifying who meets the authorship
criteria lies is part of the governance of the software
project, which may choose to recognize authorship beyond the
SORTÆD criteria.
If agreement cannot be reached about who qualifies for
authorship, the legal owners of the software should be asked
to investigate.
Non-author contributors
Contributions to software can be made in different roles.
Depending on the type of the contribution, contributors can be
eligible for authorship if the contribution is substantial
(see above).
Contributors who do not meet the above criteria for
authorship should not be listed as authors, but they should be
acknowledged. The roles that constitute contributorship are
detailed in the following.
Software contributor role taxonomy
- Supervision
-
Coordinates the project effort, possibly across
organizational boundaries
-
Examples: Coordinator, project manager, advisor, team leader
- Resources
-
Provision and maintenance of resources used and exposed by
the software project, like computational infrastructure and
cloud systems
-
Examples: System administrator, cloud manager
- Funding
-
Acquisition or management of funding for effort and events
that sustain the software
-
Examples: Principal Investigator, work package leader
- Outreach
-
Communication with end-users and stakeholders
-
Examples: Training, community manager, user support
- Development
-
Writing of the backend and frontend code as well as
managing dependencies, making the software ready for
release
-
Examples: Programmer, maintainer, UX designer, release manager
- Data curation
-
Integration of data in the software and ensures metadata
is annotated and available
-
Examples: Data provider, statician, data manager
- Testing
-
Unit test, usability, integration tests, release test
-
Examples: Reviewer, reporting user
- Documentation
-
Writing of all documentation related to the software,
including user guidelines, roadmapping
-
Examples: Technical writer, metadata curator
- Conceptualisation
-
Formulation of the idea and goals of the software, design
of main features and functionalities
-
Examples: Principal Investigator, Architect, graphical
designer, release manager, requirement gathering
How to get involved in SORTÆD?
How to contribute?
If you would like to contribute to this project, please open
an issue and get in touch with us.
How to become an author on this project?
To become an author on this project, please open an issue
with a brief description of what you want to work on and we
can discuss it.
How to cite this project?
Use the metadata for this DOI to cite this project:
Leem, Deborah, Turon, Gemma, Gruson, Hugo, Chue Hong, Neil,
Kaur Bhogal, Saranjeet, Lo, Sherman, Druskat, Stephan, &
Soiland-Reyes, Stian. (2023). SORTÆD: Software Role Taxonomy
and Authorship Definition (0.1). Zenodo. doi:10.5281/zenodo.7896456.