Skip to main content

Open Sourcing Repositories

Open-source your repository in 5 easy steps.

info

Minimum Requirements​

1. Repository Name​

Use consistent naming:

  • kebab-case by default
  • follows existing naming convention (e.g. <software>-api, <software>-cli)

2. Description​

  • Add a GitHub/GitLab "about" repository description in one sentence.

3. README​

note

Larger projects may need additional documentation

Summary Guidelines
  • What is this tool about (1-2 sentences)
  • Which problems does it solve?
    • A few sentences, depending on the breath of the solutions.
    • Possibly a few links to explanations of the problem.
  • Avoid acronyms without explaining them.
Installation Guidelines

Explain how to set it up from "zero"

  • Expect users to have a computer and OS, nothing more.

  • Provide a self-containing, easy and deterministic install instruction instead of a lengthy explanation how to install each dependency manually, e.g:

    Explain how to enable the development environment either by a

  • Explain all other non-automated necessary install steps by linking to guidelines.

  • If possible list all dependencies and requirements as well.

Usage Guidelines
  • Make sure that a minimal example is reproducible directly after installation:
    • Demonstrates that installation was successful.
    • Add sample data to the repository if needed or include a downloader script.
  • Examples should reflect typical use cases.

4. Reusability​

A LICENSE.md file, selected from a set of well-known options (see Choose an Open Source License and Software Licenses in Plain English).

5. Findability​

Add relevant topics (GitHub or GitLab). Try to reuse existing topics like ontology, workflow, cli, rest-api, library etc. See the list on GitHub, list on GitLab).

Next Steps​

For larger projects, the recommendations above can be extended to further increase accessibility.

Project-Specific Recommendations​

API​

  • Include an API reference in your documentation.

Projects Tied to a Publication​

  • Use Zenodo to assign a citable DOI to your repository.
  • For GitHub repositories, use the Zenodo-GitHub integration to automatically update the Zenodo record on each GitHub release.
  • Complete the CITATION.cff file (see repository template) in the root of the repository.
  • Consider publishing your dataset in a visible community. For example, the EPFL Community.

Documentation​

  • Documentation of larger projects should aim for Diátaxis (not only a README), including:
    • Tutorials
    • How-to Guides
    • Technical Reference
    • Explanations