GoC Open Source Playbook

From wiki
Jump to navigation Jump to search

This playbook is designed to provide guidance, and answer frequently asked questions about contributing, publication and use of Open Source across the Government of Can

Use & Contribution

This section is on use and contribution.

Contribution

The most commonly neglected area for Open Source projects is on Documentation. If a Team leverages existing Open Source projects, this can be considered a prime candidate for contribution back to the community, providing documentation in any areas that the Team required research or pitfalls they encountered.

Creation & Stewardship

Projects should be created in the Open by default, it is far less costly to develop in the open from the start then to open code you had previously closed off.

Repositories

The location of your repository has immense sway in the likelihood of your project actually being noticed and providing value back to the community. Use Major Code Repositories such as:

Open Resource Exchange

Please list your project on the ORE.

Security

Credentials and Secret Keys must not be stored in Source Code. The use of Environment Variables is strongly encouraged for those values.

Branching

To ensure consistency and the ability to recover from changes, a proper branching strategy such as Gitflow should be implemented.

Versioning

Semantic Versioning should be used.

License

In general, the MIT License should be applied to works created by Government of Canada Employees.

Contribution Guidelines

Provide Contribution Guidelines to help the OSS, an example template is available at this Sample, be sure to tailor to your projects needs.

Working in the Open

This section is on working in the Open.

FAQs

Q: Where can I learn more about how to use Git?

A: A short course can be found at https://learngitbranching.js.org/.

References

Internal Sources

External Sources

  • Open Source Guide : https://opensource.guide/
  • UK Government Open Source Blog : https://technology.blog.gov.uk/category/open-source/