How review works
On this page
Overview of review process
- Package author initiates a github issue under the software-review repository of the SMARTbiomed github organization
- The software coordinator does an initial review
- Once the package has passed initial review, they find two peer reviewers
- Peer reviewers return comments as github comments under the issue
- Author responds to comments and updates package, as needed
- Decision is made, and once accepted, package is posted on the SMARTbiomed website and publicized with a “peer-reviewed” badge that looks like this
- Author is encouraged to draft a software manuscript for submission to an appropriate scientific journal e.g., Journal of Statistical Software, the R journal, Journal of Computational and Graphical Statistics, Bioinformatics.
What happens after review?
- Software coordinator regularly reviews individual packages (every 4 months), and links packages that work together, checks for maintenance issues such as broken dependencies or unaddressed bug reports. Also can identify opportunities for packages to work together in a bigger pipeline and develop tutorials or teaching materials
- Software coordinator reviews processes (annually) to identify areas for improvement or modification. Provides a report of progress made and lessons learned.
- Develop workshops for collaborators to learn about the guidelines and specific issues to enhance package development
Instructions for reviewers
You will be tagged and invited to comment on a github issue that contains information about the package to be reviewed. Follow the instructions and leave a comment on the github issue with your review. Please read our code of conduct.
The purpose of the code review is to learn from each other and improve the quality of our research software. This checklist is merely a guide you can use to check for the presence and quality of these items, and to identify deficiencies that can be improved. The list is not exhaustive, nor is it expected that every single item is checked.
Refer to this checklist during your review, and remember to be constructive and kind in your comments.
Checklist
Information and metadata
Given a version number MAJOR.MINOR.PATCH, increment the:
MAJOR version when you make incompatible API changes MINOR version when you add functionality in a backward compatible manner PATCH version when you make backward compatible bug fixes
Documentation
Testing
Code
Glossary
API - application programming interface
This refers to the way that users and other software interact with your software package. It could be using a graphical interface, or using code. It generally refers to the manner of getting your package to do something, and how your package returns a result.
Version control
The practice of tracking and managing changes to software code. Version control systems are software tools that help software teams manage changes to source code over time. Examples of version control systems are git and svn.
Repository
A centralized, external storage location for software packages. Examples include github, CRAN, Bioconductor.
License
A software license is a document that provides legal guidelines for the use and distribution of software. These is a list of open source licenses here: https://opensource.org/licenses.