Bastien Guerry

Computers and freedom

Open Source and the French Public Sector beyond 2020

These are my personal opinions and do not represent the official position of the French Ministry of Digital Affairs on this issue.

You can download the article as PDF.

Open Source and the French Public Sector in 2019

In 2019, as the Free Software Officer at the French Ministry of Digital Affairs (hereafter referred to as "DINUM" for "Direction du numérique"), I focused mainly on three tasks: publishing code.etalab.gouv.fr, maintaining a list of recommended free software for the public sector, and building the BlueHats community.

Listing public sector source codes via code.etalab.gouv.fr

We have created code.etalab.gouv.fr to make it easy for everyone to find public sector source code. This is not a code "forge" where public sector organizations can publish their code: it is just a list of source code repositories published by public sector organizations, a list that we are constantly expanding by manually adding public sector organizations that we find on github.com, gitlab.com, and public GitLab instances. We have referenced about 4000 source code repositories so far.

Listing recommended open source solutions for the public sector

This list is known as the SILL, short for "Socle Interministériel de Logiciels Libres". It has been around for about a decade and is maintained by public officials from all ministries. It is used by national and local authorities to check what free software they can use. This year we are trying to be stricter about what is included: only software you can download and install (as opposed to online services), and only software with a free license approved by the Open Source Initiative or the Free Software Foundation. We also try to involve more maintainers and publish more information about how these solutions are used in central administrations.

Building the BlueHats community 🧢

The BlueHats community brings together public officials and citizens who believe that public agencies should prioritize the use of free software and publish source code whenever possible. The DINUM participates in this community by sending a newsletter every two months to 800 subscribers, the #BlueHats gazette. The DINUM also organized the first "Open Source Sprint" in November 2019, which fostered relationships between designers and developers from different open source public projects, and allowed anyone from outside the administration to learn how to contribute to these projects.

/img/bluehats.jpg
Invitation to the BlueHats conference at the Paris Open Source Summit 2019

Open Source and the French Public Sector: what's next?

Using free software and releasing source code is a good first step.

We could do more in both directions: (1) not only use free software, but participate in the maintenance of existing open source solutions, and (2) not only publish our source codes, but identify public sector projects with the potential to be used and financed/developed by multiple public agencies - or even: identify projects that would benefit from mixed governance, open to non-public stakeholders.

Sustaining existing non-public open source solutions

Regarding the first idea, the French Open Source Contribution Policy for the Public Sector already allows public sector developers to contribute to free software during their working hours. For example, if you are developing a product for your local government and need to contribute to an upstream library, you can do so by submitting patches without asking for permission. One small step for a free software developer, one giant leap for government!

Also, code.etalab.gouv.fr uses the nice backyourstack.com service to identify open source dependencies of public sector source codes. Currently there are more than 4000 of them. Which dependencies are critical for us, both in terms of security and functionality? Which dependencies should we proactively maintain and how? This is an area that needs to be explored. Initiatives like tosit.fr could provide ideas on what kind of contributions would benefit both the public sector and the wider Free Software ecosystem.

/img/code-etalab-gouv-fr-deps.png
code.etalab.gouv.fr statistics page showing more than 4000 open source dependencies

Public sector projects with a mutualization potential

Regarding the second idea (i.e. identifying public sector projects that could be used and supported by several organizations), DINUM has recently started a discussion on how to identify such projects within the products of beta.gouv.fr and the public interest entrepreneurs program. There are also attempts to have the team of TDS (a tool to help public administrations create online forms) collaborate with the developers of adullact.net (a French organization that helps local administrations to use more free software.) In both cases, the core idea is to strengthen reusability while mutualizing efforts to improve the software.

We are in the early stages of this process, and identifying reusable solutions is not enough: how do we turn these projects into "digital commons"? What are the governance models for public commons? How do we balance the costs of coordination with the benefits of mutualization? These are open questions that have yet to be thoroughly thought through, but I am convinced that they are worth tackling. A very first step could be to encourage public agencies to publish a publiccode.yml file at the root of their source code repositories to help identify projects that are used by other agencies – see publiccode.net for details on the "why" and "how" of publiccode.yml.

/img/publiccode-net.png
The homepage of https://publiccode.net

Three lessons to learn from the open data movement

Beyond the current uncertainty of political support, the open data movement continues to face three challenges: only a tiny percentage of open data is actually reused; government agencies don't collaborate enough; and they lack both legal and technical skills. Our open source efforts in the public sector should learn from this past decade of open data struggles.

Invest in the 1%
We should not aim to make every line of public code useful to every developer: I expect 99% of public code to be too specific and not useful to the larger free software community. Instead, let's invest in the remaining 1% and make it reusable for other agencies first, and for every developer second.
?
Invest in public free software officers: Let's promote the idea of having Free Software Officers in every government department, and let them work on identifying the 1%, building a strategy to make it both sustainable and economically viable for the public sector.
Build internal legal and technical skills
Let's have this network of Free Software Officers be responsible for organizing legal workshops on public procurement of software, and technical workshops on how to publish source code, how to maintain public commons, how to build an open source community, and so on.

Ideas for the french open source ecosystem

France does not have a small business law at the national level, and the Digital Republic Act of 2016 only "encourages" public institutions to buy free software. Because the French open source ecosystem is mainly composed of small and medium enterprises (SMEs), and because our public procurement processes still favor large companies and traditional software licensing schemes, the French open source ecosystem as a whole does not do as much business with public authorities as it could.

The French open source ecosystem is very dynamic, with many companies covering the whole spectrum of new technologies. Reaching the right companies should be easier for public agencies: as a public buyer, when I am convinced that I want to buy an open source solution, I need a single entry point to find companies that can compete to make the best offer. I need to search for "technology X" and see which French company offers expertise in "technology X". The French open source ecosystem could create such a registry.

In addition, French open source SMEs and public authorities are both competing with large IT companies for skilled people and lucrative jobs. But they also have something else in common: they both offer meaningful career paths for people looking for an ethical commitment, either by contributing to the free software ecosystem or by building better digital services for their fellow citizens. In the same way that the Public Interest Entrepreneurs and beta.gouv.fr programs have built relationships with the "tech for good" movement to tap into this resource of "young talent", French open source companies could get closer to this movement to find human resources - and later build more bridges between what they do and what the public sector is looking for, perhaps by participating in the BlueHats community.

Ideas for Europe and Open Source in the Public Sector

Europe is already doing a lot through the EU FOSSA 2 initiative, the ISA² program or the Joinup platform. The recent Open Source beyond 2020 conference in Brussels was a good opportunity to see that Europe is moving forward with its Open Source efforts in the public sector.

Here are some ideas on what to do next:

code.europa.eu
Each European country can list free software published by the public sector, as France does with code.etalab.gouv.fr. Once several countries have such a list, Europe could publish a search engine that indexes every repository published by all European countries.
BlueHats Summer of Code
Following the example of the Google Summer of Code or the Open Summer of Code, Europe could start a program that allows IT students to do paid internships with public agencies that meet their needs for free software maintenance and development, while being mentored by maintainers of that free software from European open source companies.
The European Public Code Foundation
Joinup publishes a catalog of 122 reusable solutions. Italy publishes a catalog of open source software created by its administration and collaborates with the Foundation for Public Code to define a common ]​]standard for public code. France will use this standard to help identify reusable free software by and for government. There's an emerging pattern here: open source comes with the implicit promise of reducing costs by allowing reusability, let's make it real. And to promote important European open source solutions for the public sector, let's build a common shelter to market, develop and maintain these solutions.
European grants to support open source libraries
Free Software is the key to any IT infrastructure. Because open source is mostly free, we don't pay enough attention to the hidden parts of it. In the same way that EU FOSSA 2 helps raise our level of awareness about the security of open source software, Europe should raise its commitment to the maintenance of open source libraries. There is a long tail of open source libraries: instead of a one-size-fits-all approach, let's give open source maintainers the opportunity to apply for grants. For inspiration, check out the funding.communitybridge.org and clojuriststogether.org initiatives.
/img/joinup-catalogue-of-solutions.png
The Joinup catalogue of solutions

"Open on purpose"

As a postamble: I do not like the motto "As open as possible, as closed as necessary", I feel it paves the way for less open source. I would rather use "Open on purpose", which deliberately contrasts with "Open by default".

I hope these few remarks above make it clear that the use of free software and the release of public sector source codes are goals that both have value per se and should also be aligned with a global strategy on how to let Europe gain sovereignty over its IT infrastructure and components.


To comment this blog post, send an email to ~bzg/public-inbox.

Follow me on Fosstodon and subscribe to my newsletter.