As a careful observer might have noted, recent projects financed by the European Commission are edging towards Open Source. This is a beneficial, yet widely misunderstood, concept that benefit EU citizens. In this article, we will synthesize why it is beneficial and how to make sure it is done correctly.

What is Open Source ?

Open Source is a philosophy and a series of licenses. A lot can be said about Free Software also, which started the Open Source revolution (Open Source being an easier term to use, it gained popularity faster, although generally less strict), but in essence, Open Source is the concept of opening the source code of any software, letting people use the application freely, and possibly modify it and redistribute it.

Making a software Open Source means that its internal specifications, its plans, are shared with users, in a way that will allow independent developers to use those plans to analyze it, gain insights, adapt it to their needs and then share it with others.

Open Source in the EU

A recent study published on the European Commission’s Digital Strategy website, titled “Study about the impact of open source software and hardware on technological independence, competitiveness and innovation in the EU economy” reports on the multiple benefits of Open Source for the EU:

  • 1B€ invested by companies (mostly SMEs) in 2018 already generated between 65B€ and 95B€ in revenue for the European Union since then
  • By avoiding vendor lock-in, Open Source software is a tool for the technological freedom of the EU
  • Open Source can be generally considered “public good”

Furthermore, the report establishes (between many other recommendations) that

  • by increasing contributions to Open Source in Europe by just 10%, the European economy could benefit from an additional 0.4% to 0.6% GDP increase (roughly 100B€)
  • the same increase would trigger the creation of above 600 new IT startups

This also means that citizens all around Europe will benefit from this investment of their contribution to Europe’s budget, but also that any citizen or any European company can freely use the software that has been generated with their public fund. Because how would it make sense that public money spent in your name would feed into the greedy narrative of one single company? This is money from all of us, after all! This is precisely the main argument of the Public Money, Public Code campaign.

How to to Open Source your project

If your project starts from a new software, chances are that, by using available libraries (software code already created by others) you are using some Open Source or Free Software code which forces you to publish your code under a similar license, but if you managed to avoid that and want to know what’s important to bear in mind, here is a list:

  • define your license: Open Source and Free Software are not the absence of license. There are very well defined licenses you can use, that will define precisely how your software will be shared and the limits protecting you and your software from abuse
  • document your code: just assigning a license to your software is not enough. If you really mean to be doing Open Source, think about what other developers will need, without talking to you, to understand how to install and how to fix/maintain/enhance your software. This includes at the very least an overview of the project, a minimal installation guide, a user manual, a database structure description and a files structure description. Additionally, you could toss an admin (or maintenance) guide, coding conventions and explain if any authority provides support or if the software is left as is.
  • publish the code: find a place like Gitlab.com or Github.com (Open Source friendly public websites to host your software and manage its versions over time) or provide a long-term place to check it out (like your own installation of Gitlab, for example) if you are worried about technological dependencies.

With those elements in check (and barring anything we might have forgotten), your software can really be considered Open Source.

There have been many talks recently about Open Data and opening trained AI algorithms (could the term “Open Algo” be used, here?) but these are not in the scope of this article.

Why is SILKC Path more useful as Open Source ?

So back to our project. Why is it that SILKC Path would be more useful as an Open Source project?

Well, the project itself will be public, so the documents themselves, explaining the whole project, will probably be available somewhere on ec.europa.eu at some point in the future… But these documents rarely provide you with ways to use the resulting software in your organization.

By having it Open Sourced, any organization will be able to download and install our application and provide all of its features internally (and also in the respect of privacy) to their users, but it will also be able to modify it and, even if our project dies, continue the project in any direction it wants.

Finally, because the *whole* software is Open Source, nothing prevents anyone from using only a piece of it and build something else with it. This is the nature of Free Software and Open Source. By making it re-usable, it allows us all to avoid reinventing the wheel.

For example, our algorithm offers procedures for the import of the ESCO (skills) framework into a Symfony framework-based application. It then allows users to fill a professional profile based on a set of rules that we tried and tested. It then recommends a training based on many personal traits and with certain levels of confidence. These are all elements that could be re-used in a more advanced software later on, or pieces on which a new version of the software could be built, without the requirement to ask us for our authorization. Open Source is all about providing that flexibility so previous work can be shared and reused without getting back to zero.