Difference between revisions of "GoC Open Source Playbook"

From wiki
Jump to navigation Jump to search
(Open Source Playbook for GoC)
 
 
(12 intermediate revisions by the same user not shown)
Line 1: Line 1:
This playbook is designed to provide guidance, and answer frequently asked questions about contributing, publication and use of Open Source across the Government of Canada.
+
{{In progress}}
  
''THIS DOCUMENT IS IN A VERY EARLY DRAFT STATE''
+
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 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/