Skip to content

Checklist for Open Source Software #1

@pescini

Description

@pescini

General checks

  • Repository
    • Software code available on a public repository
  • License
    • A plain-text LICENSE file with the contents of an OSI approved software license
  • Installation
    • List of dependencies
    • Provide the software via a package manager
      • Conda via Bioconda
      • Language specific package manager: Pypi, Bioconductor, etc
    • Installation proceeding as outlined in the documentation
  • Code structure

  • Automated tests
    • Continuous integration with automated tests verifying the functionality of the software
  • Versioning & DOI
    • Connect repository to archiving tool like Zenodo
    • Generate releases often

Documentation

  • README.md
  • Documentation together with the code: GitHub page, ReadTheDoc
  • A statement of need: Section titled 'Statement of Need' that clearly states what problems the software is designed to solve and who the target audience is
  • Installation instructions: Clearly-stated list of dependencies, installation guideline
  • Example usage: Examples of how to use the software (ideally to solve real-world analysis problems).
  • Functionality documentation: Documentation of the core functionality of the software documented to a satisfactory level (e.g., API method documentation)
  • Performance
  • Community guidelines: Clear guidelines for third parties wishing to 1) Contribute to the software 2) Report issues or problems with the software 3) Seek support
    • Code of Conduct
    • CONTRIBUTING.md file
    • Roadmap
  • API documentation inside the functions

Credits to @bebatut

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions