Open Source Software
The government of Canada (GOC) produces more software (aka. applications, code, computer programs, scripts…) then you might think. All the data recently published on Data.gc.ca had to come from somewhere! In-house software is often needed to collect, sort & analyse this information.
If more of the software produced in the GOC was open source software (OSS) Canadians would have a larger say in the data produced, citizens and business would be able to use the software to be more efficient in their work and the GOC would get to improve its software by receiving feedback and contributions from the public.
OSS is by no means the universal best approach but there are already great success stories in the GOC, for example: Web Experience Toolkit and METRo (EC road forecast). Even better, OSS promotes openness and accountability while providing Canadians with more opportunities to participate in government.
Open source software should be central to Canada’s Action Plan on Open Government.
Michel Mellinger - July 22, 2014
N'oublions pas de bâtir sur les efforts passés, tels que les lignes directrices sur les logiciels libres du CNRC publiées sur GCPEDIA :0)
Let's not forget previous efforts such as the NRC Open Source Software Guidelines published on GCPEDIA :0)
Le Français - July 22, 2014
Une évidence, je me demande bien pourquoi ça doit faire l'objet d'une suggestion de ce type, le gouvernement Canadian a besoin de s'ouvrir!
Hendrik Boom - July 22, 2014
I think any and all of the steps mentioned go in the right direction. Take as many such steps as practical.
But for licencing, may I suggest that there should be a recommended licence that is compatible with as many other popular licenses as possible? The MIT licence would seem to fit the bill better tha the GPL. And if the code uses media resources, such as images, which could normally use a creative-commons license, please dual-licence it under both a such a medua licence and a licence that is commonly used for program code, just to eliminate any ambiguity about distributing programs containing these media.
Renoir Boulanger - July 22, 2014
Yes, please. Let our government use/contribute/promote OSS. We want both said public data to be available, AND software to support mandatory filling (e.g. Yearly income tax filling software to be ALSO open source).
Jean Bernatchez - July 15, 2014
There was a "No Charge Licensed Software" RFI run in 2009. Over 50, largely positive, responses were received from many groups, including open source and proprietary companies, small and medium-sized enterprises (SMEs), consultants, industry associations, foundations, the academic community, collaborative groups, and private citizens. An internal draft report was prepared by PWGSC, as reported in the September 22 2009 PWGSC ITAC update, but I am not aware that the report or any following recommendations were ever published.
There is currently no published position for OSS on the GC Treasury Board Secretariat, CIO Branch, site, only a reference to old related document currently archived at Library and Archives. This is a big contrast to other countries, including USA, UK, Australia and many more. If Canada is to fully benefit from OSS, then I think we should follow step, and develop a clear position and strategy.
France is a good example of a country that has a strong adoption of OSS and were a whole ecosystem has developed to provide OSS solutions and support. The French government has issued an RFP for OSS support services for a very broad base of OSS solutions to multiple departments to facilitate their use of OSS based solutions. And, reportedly, benefits are not only in potential cost savings, but primarily in increased flexibility.
Gray O'Byrne - July 04, 2014
Matthew, I especially like your comment: "forces the direction of the project". Too often in government we make software that is convenient for us, not necessarily the end user. In an open source project your developers are your users and you get feedback from all around! You are much more likely to come up with a final product that is user/human-centric and convenient for your intended audience.
John Daly - July 04, 2014
This is a great idea! I would love to see the software tools developed within the Federal Government available to the public under an open source license. I feel that open data and open source software can really complement each other, and access to the software facilitates effective use of the data.
As someone who develops software, I would be interested in seeing the sorts of software projects being worked on within government, and also potentially contributing back to them.
Matthew Russell - July 03, 2014
I strongly support this initiative! The code quality alone between the government closed-source vs open-sourced projects I've worked on speak volumes (even taking into consideration that the latter didn't contain decades of legacy code.)
Real value exists in data and the use of the software, not the software itself most often. Opening the source on a project empowers many more eyes to examine the code, explore new potential in the code by extending it, and forces the direction of the project to be much more sustainable.
Gray O'Byrne - July 03, 2014
Some great examples from other governments! I especially like how Scotland translated OpenOffice.org into Gaelic. How much fun would it be to translate similar software into Inuktitut or other languages used by many Canadians!
There are so many possibilities when it comes to Open Source Software. It seems that the time is right for Canada to get on board in a decisive way.
Russell McOrmond - July 02, 2014
I support the suggestion, but hope the GoC will not focus on costs but rather accountability and transparency.
When the government automates policy in software, that software should be seen as a 'translation' of the policy and thus as open and accountable as the original policy. This should suggest proactive disclosure, or otherwise availability under ATIP requests just as would be assumed if policy was translated from French to English.
To be accountable it is not only the lines written by the government itself that needs to be transparent, but the software stack that the code runs on: we need to ensure that authors of lower level software are not able to corrupt/manipulate the intent of the policy. I don't think Canada has to go as far as China is proposing and have government move towards a government mandated microprocessor, but there should be some recognition of the need for a publicly disclosed audit of government systems.
One primer for this way of thinking of software is Lawrence Lessig's book "Code and Other Laws of Cyberspace."
At the moment too much policy is being authored outside of government by entities that are non-transparent and unaccountable, and where alleged "trade secrets" or other government granted exclusivity (copyright, patents, etc) are being abused as an excuse to hide the actual workings of government when the real-world implementations in software don't match the theoretical policy set by parliament and other non-software policy makers.
Marc-Andre Morin - July 02, 2014
GC should encourage, support and contribute to the use of major FOSS like Linux and Open Office instead of spend tens of millions of dollars in licenses for Microsoft products and antivirus... The majority of staff are equipped with a conventional office environment with Outlook, Excel and a bunch of Web applications to do their job, to the replacement could be done easily and transparently to the end user...
Mike Gifford - July 01, 2014
These are all good ideas.
I'd also add that it's worth actively encouraging the public sector to contribute back to existing open source projects. Not only is this a good means to learn & build more secure/robust software, but it also helps out the greater community.
There's so much to learn from the UK, USA & Australia about the adoption of open source in government. Ultimately though by engaging with the open source community, the culture of the public sector can change to be more inclusive & evidence based.
Yves Moisan - July 01, 2014
See how others are faring : "FREE/LIBRE/OPEN SOURCE SOFTWARE : SCOTTISH POLICY STATEMENT" (http://www.scotland.gov.uk/Resource/Doc/1067/0049471.pdf). For a tangible outcome, see http://www.aliss.org/.
Mathieu Gauthier-Pilote - June 30, 2014
1. On the legislative side of things, the best thing to do in my opinion would be to adopt a law modelled on the one Italy has. See these sources:
But a law is nothing if it is not applied by the civil service.
2. On the civil service side of things, one promising digital strategy I am aware of is that of UK Government Digital Service, which wrote a "Government Service Design Manual" implementing a "Digital By Default Service Standard". Criteria 15 of the said Service Standard states: "Make all new source code open and reusable, and publish it under appropriate licences (or give a convincing explanation as to why this can’t be done for specific subsets of the source code)." Progress reports of what is being actually done are impressive. See the documents here:
En français : FACIL a publié un document de recommandations (pour la Ville de Montréal) qui cite en exemple l'Italie pour la législation et le Royaume-Uni pour la stratégie d'action. Voir le document suivant aux pages 4 et 5 :
(Notez que l'auteur de ces lignes est membre du CA de FACIL et est le principal auteur du document de recommandations en question.)
Gray O'Byrne - June 20, 2014
There are several simple ways that Open Government could encourage Open Source Software inside government, any one of which would go a long way:
1. Give departments the same incentives for releasing software under an Open Source license as they do for publishing Open Data. (http://www.whitehouse.gov/developers)
2. Publish a statement similar to the White House’s statement on Open Source that describes how Open Source Software is desirable for government.
3. Have a senior body in the Government of Canada state that, where possible, software developed inside government should be Open Source.
4. Include an Open Source Software option (maintained or developed in house) for major software Requests For Proposals (RFP). The proposal should take into consideration the added benefit of openly sharing the development with Canadians.
5. Recommend an Open Source Initiative (OSI) approved license to use with software produced inside the Government of Canada. (http://en.wikipedia.org/wiki/Open_Source_Initiative)
6. Ensure that departments which produce software have access to the Intellectual Property professionals required to make the informed decisions regarding Open Source Software.
7. Work with interested parties inside the Government of Canada to produce guidelines or best practices for Open Source Software.
8. Encourage software developers in the Government of Canada to use existing open source software as much as possible to reduce costs and development time.
If you agree with one or more of these statements, please like this idea and leave a comment to let us know which ones you support.
Guy Larocque - July 21, 2014
All these suggestions are great. However, it will be important to plan for software maintenance. There could be a central department that could just do that, with professional programmers to support software developpers, in addition to deal with copyright issues.
Gray O'Byrne - July 25, 2014
I agree that this is the dream. Every time something gets centralized though... it seems the budget gets cut in half.
If this was properly funded I think it could be (r)Evolutionary for the Canadian Government (might take a decade or two to figure out). There are already examples though. I think a friend of mine mentioned they had dedicated software teams at EC.
Peter Silva - July 21, 2014
I have a slight quibble with 5. I think it should just be ´Recommend that an Open source...´ different groups have different goals, and so the appropriate license for one group, may not be appropriate for another. If the goal is to build community and collect contributions around a particular code-base, then a GPL oriented license, which requires changes distributed to be made available. If the goal is to promote a standard, or enable inter-operability, the BSD or MIT style licenses, are much better.
What is important is to discourage license proliferation which adds a crippling degree of friction to mixing code together with different licenses. Adoption of a well-known license is the main point. Not which one.
open-ouvert - July 08, 2014
You’re right, the Government of Canada has a long history of using open source software when possible. Contributing back to the open source community and tools are essential to the growth and success of these products.
In addition to the Web Experience Toolkit and METRo, the Open Government Portal utilizes open source code that we have contributed back to the CKAN and Drupal Communities.
Formalizing our approach to the use of open source tools through Canada’s Action Plan on Open Government is certainly an option that we will explore.
Some departments have already established guidelines to using and distributing open source tools; this could be scaled up.
Gray O'Byrne - July 25, 2014
Thanks so much for the official response! It sounds like many of the pieces are already in place. I'd be happy to help where possible.
Gabriel Cossette - July 22, 2014
Awesome :) Thanks a lot for your comment!
BTW, we have an official Open Source Software Community of Practice in Shared Services Canada (which I'm one of the co-leader). Don't hesitate to contact me (info in GEDS.gc.ca), we'll be more than happy to help!