Difference between revisions of "GoC Open Source Playbook"
(Open Source Playbook for GoC) |
|||
(12 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | + | {{In progress}} | |
− | '' | + | 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: | ||
+ | * [https://github.com/ Github] | ||
+ | * [https://gccode.ssc-spc.gc.ca GCCode] | ||
+ | '''Open Resource Exchange''' | ||
+ | |||
+ | Please list your project on the [https://canada-ca.github.io/ore-ero/ 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 ==== | ||
+ | [https://semver.org/ 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 [https://github.com/canada-ca/template-gabarit/blob/master/CONTRIBUTING.md 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 == | == References == | ||
+ | ==== Internal Sources ==== | ||
* Open First Whitepaper : https://github.com/canada-ca/Open_First_Whitepaper | * Open First Whitepaper : https://github.com/canada-ca/Open_First_Whitepaper | ||
* Draft Open Source Policy : https://github.com/canada-ca/open-source-logiciel-libre | * Draft Open Source Policy : https://github.com/canada-ca/open-source-logiciel-libre | ||
+ | |||
+ | ==== External Sources ==== | ||
+ | * Open Source Guide : <nowiki>https://opensource.guide/</nowiki> | ||
+ | * UK Government Open Source Blog : <nowiki>https://technology.blog.gov.uk/category/open-source/</nowiki> |
Latest revision as of 10:20, 5 March 2020
This page is a work in progress |
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
- Open First Whitepaper : https://github.com/canada-ca/Open_First_Whitepaper
- Draft Open Source Policy : https://github.com/canada-ca/open-source-logiciel-libre
External Sources
- Open Source Guide : https://opensource.guide/
- UK Government Open Source Blog : https://technology.blog.gov.uk/category/open-source/