Motivations

The “why” of open source has been covered pretty well by now (see below), this document aims to tackle the “how” by highlighting the areas in which we need written policy to succeed in open-sourcing our projects.

This document is divided into numbered sections and questions to facilitate easy discussion and resolution.

https://www.gov.uk/service-manual/technology/making-source-code-open-and-reusable

https://www.england.nhs.uk/digitaltechnology/open-source/

[why-open-source-v1.2.pdf]

Objectives

  1. Build a Strategy

  2. Implement a Licence

  3. Contribution Guidelines

  4. Code of conduct

  5. Update READMEs

1. Build a Strategy

1.1 Objectives

1.2 Engagement

o   Little point embracing open source if we’re not going to accept contributions, but could present a significant additional workload if not managed carefully (“working on open source is reading 800 issues over the course of a weekend”).

o   (1.2.1.1) What kind of contributions do we want? (need to define with policy document/published contribution guidelines

o  Are we looking to supplement our dev team (any and all welcome)

o  Do we want healthcare focussed input (which aspects?)

o  Do we only want application quality/security input?

o  Etc

(1.2.1.2) Do we want to actively grow our community of contributors? E.g. join groups like Code4Health, promote contribution via social media etc etc.?

1.3 Governance

o   “Benevolent dictator” – one person (or TIS Dev team as a unit) has final say

o   Community vote (which community members? Individuals only or corporations?)

o   (1.3.2.1) Who assesses the contribution? (i.e. does this fit with our vision)

o   (1.3.2.2) Do we need a separate board to track PRs? (policy: open an issue before raising a PR?)

o   https://steveklabnik.com/writing/how-to-be-an-open-source-gardener

o   Fully open?

o   Healthcare groups e.g. https://code4health.org/

2. Implement a Licence

(TLDR – no one will contribute to our codebase without a license)

Why we need a license:

By default, our code is under “exclusive copyright” which typically means nobody can use, copy, modify or distribute our without risk of litigation – obviously this is the opposite of what we expect with open source. (This also means that individual contributors hold exclusive rights over the contributions they submit!)

A license is required to explicitly state the permissions we wish to grant. There are a number of licenses available for different use cases.

(2.1) Choosing a license

Permissive licences appear to increasingly be the norm. If more granular options are needed: https://choosealicense.com/

3. Contribution Guidelines

(3.1) Contribution Processes

How to contributors:

(3.2) Contribution Objectives

What do contributors need to understand about the project in terms of:

(3.3) Proposed Sections to Contribution Document

4. Code of Conduct

(4.1) Code of conduct document

If DIY, some considerations:

 5. Update READMEs

(5.1) Ensure all READMEs are up to date