Line 9: |
Line 9: |
| <code>''Explain the business problem or opportunity that needs to be solved in one sentence.''</code> | | <code>''Explain the business problem or opportunity that needs to be solved in one sentence.''</code> |
| | | |
− | Current development of Government of Canada computer programs and solutions rely on mixed practices and version control systems, if any. By providing a common place to develop solutions, there is an opportunity to: | + | Current development of Government of Canada computer programs and solutions rely on mixed practices and version control systems specific to each department and agency. By providing a common place to develop and share development projects and solutions, there is an opportunity to: |
| | | |
− | - Enable teams across the entire government to leverage best practices
| + | * Enable teams across the entire government to leverage best practices and tools for the development and reuse of source code in the GC. |
− | | + | * Automate and scale CI/CD with automation and leveraging corporate level tools like automated scanning of known security vulnerabilities and legal compliance. |
− | - CI/CD automation, known security vulnerability and legal compliance scanning and reporting automation.
| + | * Enterprise standard use of open source components (inbound single version of package) |
− | | + | * Set enterprise wide policies as well as department specific policies (prohibit or authorize use of AGPL, MIT, exceptions, etc.) for software inbound. |
− | - Enterprise standard use of open source components (inbound single version of package)
| + | * Identify duplicate custom code, reuse existing code and create communities around projects across departments. E.g.: meeting room reservation application from department A could be leveraged across the government and potentially even published as open source. |
− | | |
− | - Set enterprise wide policies as well as department specific policies (prohibit or authorize use of AGPL, MIT, etc.) for software inbound.
| |
− | | |
− | - Identify duplicate custom code, reuse existing code and create communities around specific projects across departments: meeting room reservation application from department A could be leveraged across the government.
| |
| | | |
| Source code developed by GC employees (software engineering, scientists, researchers,...) to support key programs needs to be available for reuse across departments, and to be scanned for security vulnerabilities. | | Source code developed by GC employees (software engineering, scientists, researchers,...) to support key programs needs to be available for reuse across departments, and to be scanned for security vulnerabilities. |
Line 34: |
Line 30: |
| | | |
| Traditionally, software development is done within departments without a view to reuse the code for other projects, or across departments. Massive online collaboration tools did not exist to easily share source code outside departments and the public. | | Traditionally, software development is done within departments without a view to reuse the code for other projects, or across departments. Massive online collaboration tools did not exist to easily share source code outside departments and the public. |
| + | |
| + | The current instance of Gitlab, GCcode, has provided departments with a common place to share their custom code and to experiment quickly without the constraints of a department specific version control system. |
| | | |
| == Desired business outcome == | | == Desired business outcome == |
| | | |
− | Over the past few years, several software development collaboration platforms have emerged and gained popularity. A few departments are already leveraging GitHub to co-develop source code with the public at large, using an open source license. Most of the software developed by departments is not for co-creation with the public, and would not be candidates for an open source licence. However, this source code can be shared within the GC. Several departments are already using the GCcode platform (GitLab instance). To make this platform mainstream for all departments it requires continuous funding and support. | + | Over the past few years, several public software development collaboration platforms have emerged and gained popularity. A few departments are already leveraging GitHub to co-develop source code with the public at large, using an open source license, and have also been using paid accounts to host non-public projects. |
| + | |
| + | As such, we acknowledge that some of the software developed by departments is not for co-creation with the public or not yet ready for it. These projects may not be candidates for an open source licence immediately however this source code can and should be shared within the GC as a whole by default. Several departments are already using the GCcode platform (GitLab instance). To make this platform mainstream for all departments it requires continuous funding and support. |
| | | |
| A common development platform to develop and collaborate around source code will | | A common development platform to develop and collaborate around source code will |