Resources for developers
On this page
General development guides
R
Python
Checklist
Package authors should strive to include everything on this checklist in their package in the way that is standardized and accepted for the major repositories for the software language, e.g., CRAN for R packages or PyPI for python packages.
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.