DAWG Software Authorship Guidelines
Revision history
September 2020: initial draft
August 2021:
- Update information about acknowledging past authors
- Remove references to other software under DAWG’s scope
Background
There are many different ways to contribute to collaboratively-developed software. The SuperDARN Data Analysis Working Group (DAWG) recognizes that the entire SuperDARN community has contributed to the success of SuperDARN software packages over several decades. Whilst all types of contributions are valuable to science and to the scientific community, the DAWG wishes to give special recognition to those who dedicate substantial amounts of time, effort and expertise towards software development by listing these individuals as authors of the software.
The DAWG has agreed on the following principles relating to software authorship:
- Any member of the scientific community can potentially qualify for authorship of a DAWG software package, including students.
- Credit for software development should be given in a way that is visible. Credit provided in source code comments or in git commit history is not sufficient.
- When determining the author list and order, emphasis should be placed on recent contributions to the software.
- Substantial historical contributions to the software should also be recognized, but not necessarily on the author list of new releases
- Providing appropriate acknowledgment to authors and other contributors should be straightforward, and not take time away from normal development activities
The DAWG encourages the practice of describing one’s own contributions to collaborative work, for example when applying for research funding, applying for jobs, and for performance evaluations. This provides more detailed information than what can be captured in an author list.
Team name
The primary author of DAWG software packages shall be a team name: SuperDARN Data Analysis Working Group. In the software citation, the names of the individuals who meet the authorship criteria shall be listed after the team name.
Criteria for authorship
The following criteria shall be used to determine which individuals should be included on the author list for a specific release
Contributions that always qualify for authorship:
- Writing code
- Testing and reviewing code (at the pull request stage)
- Writing documentation that gets distributed as part of the software package
- Leading the development of a particular software package
Contributions that might qualify for authorship, depending on the circumstances:
- Reporting bugs at the development level (encourages testing before releases are made)
- Writing documents to support software development (e.g. release guidelines)
Contributions that do not qualify for authorship:
- Participating in meetings
- Providing general advice/expertise
- Reporting a bug in an official release
- Requesting new features
- Being the author of a package dependency, or an external library that is distributed with the software
- Developing a method/model that is later implemented into the software by someone else. If the person who developed the method/model also contributes to writing and/or reviewing the code, then they would qualify for software authorship on those grounds
- Providing financial support or other resources to support authors
- Providing supervision or administrative support to authors
The DAWG chairs are responsible for ensuring that all individuals who meet the authorship criteria are included in the author list when making a new release. If the above criteria do not address the nature of an individual’s contribution, the DAWG chairs shall make the decision regarding their authorship status and update this document accordingly.
Time on the author list
Authors of a particular release shall also be included on the author list for the next 2-3 major/minor releases. After this time, their name can be removed from the author list if they no longer meet the authorship criteria. Authors of previous releases can be acknowledged separately, for example in a separate text file distributed with the software (see below).
Discretion should be used when removing names from the author list. For example, it may be appropriate extend the time on the author list for an individual who has made a particularly important contribution to the software.
Author list order
The major contributors to the release shall be listed first, in order of contribution. The remaining authors shall then be listed alphabetically.
Currently, there are no specific metrics for determining who is a major contributor, or the order they are listed. To ensure a transparent process, justification for the author list order should be discussed and documented internally within the DAWG for each release.
The DAWG chairs shall be responsible for creating the draft author list for an upcoming release. The proposed author list should be made available early in the release testing period so that it can be reviewed.
Acknowledging contributions that do not qualify for authorship
The following methods could be used to give credit for other types of contributions to the software:
Full list of current and past authors
As of RST4.6, the top-level directory of RST includes a file rst-authors.md
that lists the names of the previous authors/developers and a brief description of their contributions. This list should be updated when new contributions are made to the software.
Software documentation
Provide the citation for published methods/models in the software’s documentation and/or command line help.
Disputes
Any disputes regarding the author list of a DAWG software package should be directed to the DAWG chairs.