These are my personal opinions and do not constitute the official position of the french ministry of digital affairs on this topic.

You can also download the 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 referenced as "DINUM" for "Direction du numérique"), I mainly focused on three tasks: releasing 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 released code.etalab.gouv.fr to make it easy for anyone to find public sector source codes. This is not a code "forge" where public agencies can publish their source code: it is only a list of source code repositories published by public agencies, a list that we constantly expand by manually adding public sector organizations that we find on github.com, gitlab.com, and public GitLab instances. We referenced about 4000 source code repositories so far.

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

Building the BlueHats community 🧢

The BlueHats community brings together public agents and citizens who believe that public agencies should prioritize to use of free software and publish source codes when 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, fostering relationships between designers and developers from various open source public projects, and letting anyone from outside the administration learn how to contribute to these projects.

/img/bluehats.jpg

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

Using free software and publishing source codes is a good first step.

We could do more in both directions: (1) not just use free software but participate in sustaining existing open source solutions and (2) not just publish our source codes, but identify public sector projects with the potential of being used and financed/developed by multiple public agencies - or even: identify projects that would benefit from a 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 developers to contribute to free software during their work hours. E.g. if you are developing a product for your local agency and need to contribute to a library upstream, you can do so by submitting patches without the need to ask for permission. A small step for a free software developer, a giant leap for public administrations!

Also, code.etalab.gouv.fr uses the nice backyourstack.com service to identify open source dependencies of public sector source codes. As of today, there are more than 4000 of them. Which dependencies are critical to us, both in terms of security and functionality? What dependencies shall we proactively sustain and how? This area still needs to be explored. Initiatives like tosit.fr could come up with 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

Public sector projects with a mutualization potential

Related to the second idea (i.e. identifying public sector projects that could be used and supported by several organizations), the DINUM recently engaged a discussion on how to identify such projects within the products of beta.gouv.fr and of the public interest entrepreneurs program. There are also attempts to let the team of TDS (a tool to help public agencies build online forms) cooperate with developers from adullact.net (a french organization helping local agencies use more free software.) In both cases, the core idea is to reinforce reusability while mutualizing efforts on making the software better.

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

/img/publiccode-net.png

Three lessons to learn from the open data movement

Setting aside the current uncertainty of political support, the open data movement continues to face three challenges: only a tiny percentage of open data is really reused; public agencies don't work together 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 struggle.

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

Ideas for the french open source ecosystem

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

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, if 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 look for "technology X" and see what french company is offering expertise on "technology X". The french open source ecosystem could build such a registry.

Also, open source french SMEs and public agencies are both competing with big IT companies to recruit skilled people and offer lucrative positions. But they have something else in common: they both offer meaningful careerpaths for people in search of ethical commitment, either by contributing to the free software ecosystem or by building enhanced digital services for their fellow citizens. The same way that the public interest entrepreneurs and the beta.gouv.fr programs have built relationships with the "tech for good" movement to tap into this resource of "young talents", the 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 the ISA² program or the Joinup platform. The last Open Source beyond 2020 conference in Brussels was a nice opportunity to see that Europe is pushing forward its efforts on Open Source in the Public Sector.

Here are a few ideas on what to do next:

code.europa.eu
Every european country can list free software published by the public sector, the same way France is doing with code.etalab.gouv.fr. Once several countries have such a list, then Europe could publish a search engine indexing 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 allowing IT students to do payed internships for public agencies answering their needs for maintainance and development of free software, while being mentored by maintainers of these free software from European open source companies.
The Foundation for European Public Code
Joinup is publishing a catalogue of 122 reusable solutions. Italy is publishing a catalog of open source softwares built by its administration, collaborating with the Foundation for Public Code on defining a shared standard for public code. France will use this standard to help identify reusable free softwares from and for public agencies. There is an emerging pattern here: open source comes with the implicit promise of reducing costs by allowing reusability, let's make it real. And to foster key european open source solutions for the public sector, let's build a shared shelter to market, develop and sustain these solutions.
European Grants to Sustain Open Source Libraries
Free software is key to any IT infrastructure. Because open source mostly comes for free, we don't pay enough attention to the hidden parts of it. The same way EU FOSSA 2 help raise our level of awareness about security of open source softwares, Europe should raise its commitment to the maintainance of open source libraries. There is a long tail of open source libraries: instead of a one-size-fits-all approach, let's give the possibility to open source maintainers to apply for grants. As an inspiration, you can check the funding.communitybridge.org and clojuriststogether.org initiatives.

/img/joinup-catalogue-of-solutions.png

"Open on purpose"

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

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