En observateur attentif, vous pourriez avoir vu que les projets logiciels financés par la Commission Européenne récemment pointent de façon de plus en plus claire vers l’Open Source. ll s’agit d’un élément fondamental, mais largement incompris, qui bénéficie hautement le citoyen européen. Dans cet article, nous synthétiserons les raisons pour lesquelles c’est bénéfique et comment s’assurer que ce soit fait de façon professionnelle.

Qu’est-ce que l’Open Source ?

L’Open Source est une philosophie et une série de licences. On pourrait parler longtemps également du Logiciel Libre, qui a démarré la révolution dont l’Open Source fait partie (l’Open Source étant un terme plus intuitif, il a gagné en popularité plus rapidement, bien que généralement moins strict). Mais en l’essence, l’Open Source est le concept d’ouvrir le code source d’un logiciel de telle façon que des personnes puissent l’utiliser librement, et potentiellement le modifier et le redistribuer.

Rendre un logiciel Open Source signifie que l’on partage ses spécifications, ses plans, avec d’autres utilisateurs, d’une façon qui permette à des développeurs indépendants d’utiliser ces plans pour l’analyser, gagner en compréhension, l’adapter à leurs besoins et finalement le partager avec d’autres.

L’Open Source dans l’Union Européenne

Une étude récente publiée sur le site web de la stratégie digitale de la Commission Européenne, intitulée “Étude sur l’impact du logiciel et matériel open source sur l’indépendance technologique, la compétitivité et l’innovation dans l’économie de l’Union Européenne” rapporte différents bénéfices de l’Open Source pour l’Union:

  • 1Mi€ investi par des entreprises (principalement PMEs) en 2018 a déjà généré entre 65Mi€ et 95Mi€ de retombées économiques pour l’Union depuis lors
  • En évitant le vendor lock-in, l’Open Source se présente comme un outil pour la l’indépendance technologique de l’Union
  • L’Open Source peut être considéré comme “bien commun”

En plus, le rapport établit (parmi de nombreuses autres recommandation) que

  • en augmentant les contributions à l’Open Source en Europe de seulement 10%, l’économie européenne pourrait bénéficier d’un incrément de 0.4% à 0.6% de son GDP (environ 100Mi€)
  • cette même augmentation déclencherait la création de près de 600 nouvelles startups dans le domaine IT en Europe

Cela signifie que les citoyens de toute l’Europe bénéficient de cet investissement de leur contribution au budget de l’Europe, mais aussi que tout citoyen ou toute entreprise européenne pourra utiliser librement le logiciel qui a été généré avec ces fonds publics. En quoi serait-il logique que l’argent public investi en votre nom alimente les objectifs avides d’une seule entreprise? C’est notre argent, après tout ! Et c’est précisément l’argument principal de la campagne Public Money, Public Code.

Comment rendre votre projet Open Source ?

Si votre projet démarre sur un nouveau logiciel, il est probable qu’en utilisant des librairies disponibles (paquets de code déjà créés par d’autres), vous utilisiez déjà du code Open Source ou de Logiciel Libre qui vous oblige à publier votre code sous une licence similaire. Mais même si vous êtes parvenu à éviter ça, il est important de garder les pré-requis suivants à l’esprit:

  • choisissez votre licence : l’Open Source et le Logiciel Libre ne sont pas l’absence de licence. Il existe une série de licences légales et très bien définies que vous pouvez utiliser, et qui définiront précisément comment votre logiciel peut être partagé et quelles sont les limites qui vous protègent vous et votre logiciel des abus.
  • documentez votre code : si vous souhaitez vraiment que votre logiciel soit un bon projet Open Source, pensez à ce que d’autres développeurs chercheront, à ce dont ils auront besoin pour pouvoir comprendre comment installer, corriger, maintenir ou améliorer le logiciel sans faire appel à vous. Cela inclut au grand minimum un aperçu du projet, un guide d’installation simple, un manuel utilisateur, une description de la structure de base de données et de la structure de fichiers. Enfin, vous pourriez y rajouter un manuel administrateur (ou des procédures de maintenance), des conventions de style de code, et expliquer si une autorité maintient un type de support du projet, ou si le projet est laissé tel quel et n’est plus développé..
  • publiez le code : trouvez un endroit comme Gitlab.com ou Github.com (sites web ouverts aux projets Open Source pour héberger le code de votre logiciel et y maintenir ses versions dans le temps) ou fournissez un endroit suffisamment permanent pour le trouver (comme votre propre installation de Gitlab, par exemple) si vous êtes inquiet des dépendances technologiques possibles envers l’extérieur de l’Europe.

Avec ces éléments bien en place (et sauf si nous avons oublié quelque chose), votre logiciel peut réellement être considéré comme Open Source.

De nombreuses discussions sont en cours au sujet de l’Open Data et de l’ouverture des algorithmes d’IA déjà entraînés (peut être pourrait-on utiliser le terme “Open Algo” ici ?), mais ces sujets sont hors du contexte de cet article.

Pourquoi le projet SILKC Path est-il plus utile en Open Source ?

Revenons à notre projet. Pourquoi est-ce que SILKC Path serait plus utile sous forme de projet Open Source?

Le projet lui-même sera public, donc les documents correspondants, qui expliquent tout le projet, seront probablement disponibles quelque part sur ec.europa.eu a un moment donné… mais ces documents sont rarement focalisés sur l’idée de fournir à d’autre les outils pour utiliser le logiciel dans leur organisation.

En mettant le logiciel sous licence Open Source et en respectant les termes énoncés plus haut, toute organisation pourra télécharger et installer l’application, et fournir la totalité de ses fonctionnalités en interne (en respectant le caractère privé des informations de ses utilisateurs), mais pourra aussi la modifier et, même si ce projet meurt, reprendre les rennes du projet et l’emmener dans la direction qu’elle souhaite poursuivre.

Enfin, comme le projet *au complet* est Open Source, rien n’empêche quiconque d’utiliser seulement une partie de celui-ci et d’en faire quelque chose d’autre. C’est bien là la vraie nature du Logiciel Libre ou Open Source. En faisant du logiciel un composant réutilisable, il nous permet d’éviter de réinventer la roue.

Dans notre cas, notre algorithme offre des procédures fonctionnelles pour importer le framework ESCO (compétences) dans une application basée sur le framework de développement Symfony. Il permet alors aux utilisateurs de remplir leur profil professionnel selon des règles mises à l’épreuve et bien réfléchies. Enfin, il recommande des formations sur base d’une série d’éléments de profil professionnel avec des degrés de correspondance.

Ce sont ces éléments qui pourraient être réutilisés dans un logiciel plus avancé par la suite, ou des parties sur base desquelles une nouvelle version du logiciel pourrait être développée, sans le besoin de nous demander une autorisation. L’Open Source, c’est une question de flexibilité qui permet à du travail antérieur d’être partagé et réutilisé sans reprendre à zéro.