Open Source in the Public Sector (Germany/Europe)- some spotlights

March 18, 2024

Introduction

In this article I will put the spotlight on some aspects of the Open Source activities in the public sector in germany. While I have a few insights in some of these, I am currently unable to cover everything that is going on. So if I missed parts, please let me know through the comments section.

I’ll start on a “strategic level” and point out some initiatives and promising activities. Afterwards I’ll talk a little bit about opencode.de. Finally the article will highlight some projects from the government and civil society,

Open Source on a strategic level

When talking about strategy in the government space, we always talk about politics. This is not bad per se, but makes it sometimes a little bit more complicated, because there are different parties involved which have different intentions and goals. And then, after a few years, the one in the driver seat changes.

European Commission

A great example of a government entity which is vocal about their Open Source strategy is the European Commission. While the Commission is the “executive” part in Europe and can also initiate legislation, this strategy is no policy for the member countries or other government bodies, but only outlines the strategy for the IT Systems of the European Commission itself. In their first strategy, which covered the years 2014-2017, they focused on setting the requirements for the usage of Open Source software, e.g. which license to use, procurement processes, contributions and other legal aspects. From 2020-2023 their strategy focused more on autonomy, security, distribution practices, innovation and inner source. You can read more about their strategy on their website.

Germany

In Germany we had some exciting news when our current government agreed on their goals for the legislative period (2021-2025) in 2021. Their coalition agreement states that they want to ensure digital sovereignty by providing a right to interoperability and portability but also by focussing on Open Standards, Open Source and European ecosystems. Also software developed due to a government contract should be developed as Open Source by default (p13). While this coalition agreement often sets the direction for the legislative period, it is of course no  legislation.

The first real legislation which puts actions to the plan is the Online Access Act 2.0 (“Onlinezugangsgesetz 2.0”) which was agreed upon late February 2024. It explicitly states that Open Source software has to be preferred over software where the license limits the use, distribution, transfer or change (Article 1 4c). This legislation is binding only for government entities, so corporations and other organizations are not impacted by this. 

While this new legislation wasn’t able to have an effect yet, there were other activities in the public sector before, which will be shown in the next section.

OpenCode

Repository for the Government

In 2020 another government entity (“IT Planungsrat” / “IT Planning Council”) published their strategy, which included a central code repository for the government. This central code repository is opencode.de. It offers a list of software which can be found in the repositories under software.opencode.de which aims to provide a list of usable software which is similar available on the Joinup platform of the European Union. But while on Joinup finding the sourcecode is quite difficult, at least OpenCode links directly to it.

Most of this sourcecode is hosted on gitlab.opencode.de (on an european level there is code.europa.eu which serves a similar purpose). There is also a wiki and a discussion area on this website. While the gitlab instance is focussed on providing a collaboration platform for government entities, you can also collaborate as a non-governmental individual. Signup is straightforward and they even require 2FA by default (duh!).

Drawbacks

But as one would expect, there are also some drawbacks with the gitlab instance. While you can create projects as a government entity, you are not allowed to do so as an individual contributor. Since you can’t create projects, you also cannot fork. Thus to contribute to a project, you need to be invited as developer or maintainer. This limits the “open” aspect. Also multiple projects are just forks or replicas of projects which are on github (see https://gitlab.opencode.de/bmi/opendesk/component-code/crossfunctional/univention) or from internal repositories ( https://gitlab.opencode.de/bwi/bundesmessenger/clients/bundesmessenger-android ).

There are of course also multiple repositories which are unique on OpenCode. But as stated above, the collaboration aspect is quite limited. But at least some transparency and possibility to reuse exists. There is a lot more criticism for example by Lilith Wittmann regarding this platform.

Other examples

While I used Germany as an example, there are multiple similar repositories/platforms in other countries. You can find some of them in this list on Joinup. But let’s dive a little deeper into some projects within the next section.

Projects

First of all there are several lists of awesome projects. But let me highlight two of them which I’m a little more familiar with, and which have both good and bad aspects.

Corona Warn App

First of all the Corona Warn App, which was widely used in Germany during the Covid19 pandemic. It was developed by SAP and Telekom and is an Open Source project. This enabled the community to participate in the development of the software, file issues and help fixing it in a situation where it was of utter importance to “move fast”. The first release was in June 2020, which was only 5 months after the first Covid19 case in germany (https://en.wikipedia.org/wiki/COVID-19_pandemic_in_Germany ). So while the development was fast, open and transparent, the bad side were the costs of 220 Million Euro (20 Million for the initial development, the rest for support, associated costs, and further development). For me personally being able to look into the source code was a critical factor to install a “tracing app” which contained Health data and contact information.

Bundesmessenger

Another project is the Bundesmessenger (full disclosure: I worked for the company which created it a few years ago). While the repository on OpenCode is only a public mirror and lacks the collaborative approach, by studying the readme, you can see that they contribute to the upstream projects on github. In addition the base for this project is Matrix which already existed when the project was started. So the development was based on a good and well known project and by contributing to the upstream became part of the community.

They also collaborated with Element (the company behind Matrix which does a lot of the maintenance work) and paid other companies to contribute to the Open Source project. They are fully aware of how important a healthy community is. And that even Open Source contributors need to earn money. And they will continue to either be part of the Matrix community or spend money on it.

Open Source Projects which influence the Government

Of course there is always room for improvement. In the past there were multiple Open Source projects which forced our government to be more open. One of the most impactful and successful groups is the Open Knowledge Foundation Germany. They develop technologies and tools to create open knowledge and allow democratic participation and thus try to strengthen civil society. One example is the “fragdenstaat” (basically “ask the government”) plattform, which helps citizens to create and work with freedom of information requests towards the government.

Another successful example is their website offenegesetze.de. This website allows access to legislative documents free of charge, which were only available in a very limited manner from the publisher (Bundesanzeiger Verlag) before. For example you could not print them, search them or do other very basic tasks you can normally do with a pdf. And to do so you had to pay. Since last year the platform is not active anymore, because now the German government provides pdf documents of laws free of charge.

Outro

This article should have given you a high level view across activities in the (German) public sector regarding Open Source. Furthermore this article provided some information about what government entities in germany are doing good and where room for improvement is available. Also you should now recognize (once more) that Open Source is impactful and can even shape the behavior of governments.