Come un osservatore attento potrebbe aver notato, i recenti progetti finanziati dalla Commissione Europea si stanno orientando verso l’Open Source. L’Open Source è un fenomeno positivo, che va a beneficio dei cittadini dell’UE, ma ampiamente equivocato. In questo articolo, sintetizzeremo perché è vantaggioso e come assicurarsi che sia fatto correttamente.

Cos’è l’Open Source?

L’Open Source è una filosofia e una serie di licenze. Si può dire molto anche sul Software Libero, che ha iniziato la rivoluzione Open Source (essendo Open Source un termine più facile da usare, ha guadagnato popolarità più velocemente, anche se generalmente meno rigoroso), ma in sostanza, Open Source è il concetto di aprire il codice sorgente di qualsiasi software, permettendo alle persone di utilizzare l’applicazione liberamente, ed eventualmente modificarla e ridistribuirla.

Rendere un software Open Source significa che le sue specifiche interne sono condivisi con gli utenti, in un modo che permetterà agli sviluppatori indipendenti di utilizzare quei piani per analizzarlo, ottenere intuizioni, adattarlo alle loro esigenze e poi condividerlo con altri.

L’Open Source nell’UE

Un recente studio pubblicato sul sito web della Strategia Digitale della Commissione Europea, intitolato “Studio sull’impatto del software e dell’hardware open source sull’indipendenza tecnologica, la competitività e l’innovazione nell’economia dell’UE” riporta i molteplici benefici dell’Open Source per l’UE: 1B€ investito dalle aziende (per lo più PMI) nel 2018 ha già generato tra 65B€ e 95B€ di entrate per l’Unione europea sino ad allora.

Evitando il vendor lock-in, il software Open Source è uno strumento per la libertà tecnologica dell’UE. L’Open Source può essere generalmente considerato “bene pubblico”.

Inoltre, il rapporto stabilisce (tra molte altre raccomandazioni) che aumentando i contributi all’Open Source in Europa di solo il 10%, l’economia europea potrebbe beneficiare di un ulteriore aumento del PIL dello 0,4% – 0,6% (circa 100 miliardi di euro) lo stesso aumento innescherebbe la creazione di oltre 600 nuove startup IT.

Questo significa anche che i cittadini di tutta Europa beneficeranno di questo investimento del loro contributo al bilancio europeo, ma anche che qualsiasi cittadino o qualsiasi azienda europea potrà utilizzare liberamente il software che è stato generato con il loro fondo pubblico. Perché come avrebbe senso che il denaro pubblico speso a vostro nome alimentasse l’avida narrazione di una singola azienda? Sono soldi di tutti noi, dopo tutto! Questo è precisamente l’argomento principale della campagna Public Money, Public Code.

Come Open Source il tuo progetto

Se il vostro progetto parte da un nuovo software, è probabile che, utilizzando le librerie disponibili (un codice software già creato da altri) stiate usando del codice Open Source o Free Software che vi costringe a pubblicare il vostro codice sotto una licenza simile, ma se siete riusciti ad evitare ciò e volete sapere cosa è importante tenere a mente, ecco una lista:

·  definire la vostra licenza: Open Source e Software Libero non significa assenza di licenza. Ci sono licenze molto ben definite da usare, che definiranno precisamente come il vostro software sarà condiviso e i limiti che proteggono voi e il vostro software dagli abusi.

·  documentate il vostro codice: assegnare semplicemente una licenza al vostro software non è sufficiente. Se intendete davvero fare Open Source, pensate a ciò di cui gli altri sviluppatori avranno bisogno, senza parlare con voi, per capire come installare e come correggere/mantenere/migliorare il vostro software. Questo include almeno una panoramica del progetto, una guida minima all’installazione, un manuale utente, una descrizione della struttura del database e una descrizione della struttura dei file. Inoltre, potreste buttare una guida per l’amministratore (o la manutenzione), convenzioni di codifica e spiegare se qualche autorità fornisce supporto o se il software viene lasciato così com’è.

·  pubblicare il codice: trovate un posto come Gitlab.com o Github.com (siti web pubblici amichevoli per l’Open Source per ospitare il vostro software e gestirne le versioni nel tempo) o fornite un posto a lungo termine per controllarlo (come la vostra installazione di Gitlab, per esempio) se siete preoccupati delle dipendenze tecnologiche.

Avendo questi elementi sotto controllo (salvo qualcosa che potremmo aver dimenticato), il vostro software può davvero essere considerato Open Source.

Ci sono stati molti discorsi di recente sugli Open Data e sull’apertura degli algoritmi AI addestrati (si potrebbe usare il termine “Open Algo”, qui?) ma questi non rientrano nello scopo di questo articolo.

Perché SILKC Path sarebbe più utile come Open Source?

Quindi torniamo al nostro progetto. Perché SILKC Path sarebbe più utile come progetto Open Source?

Il progetto sarà pubblico, quindi i documenti stessi, che spiegano l’intero progetto, saranno disponibili da qualche parte su ec.europa.eu in futuro. Purtroppo i documenti pubblicati raramente forniscono modi per utilizzare il software in un’altra organizzazione.

Avendolo Open Sourced, qualsiasi organizzazione potrà scaricare e installare la nostra applicazione e fornire tutte le sue caratteristiche internamente (e anche nel rispetto della privacy) ai propri utenti, ma potrà anche modificarla e, se il nostro progetto morisse, continuare il progetto in qualsiasi direzione voglia.

Infine, poiché il software *intero* è Open Source, nulla impedisce a chiunque di usare solo un pezzo di esso e costruire qualcos’altro. Questa è la natura del software libero e dell’Open Source. Rendendolo riutilizzabile, permette a tutti noi di evitare di reinventare la ruota.

Per esempio, il nostro algoritmo offre procedure per importare il framework ESCO (competenze) in un’applicazione basata sul framework Symfony. Permette poi agli utenti di compilare un profilo professionale basato su una serie di regole che abbiamo provato e testato. Raccomanda poi una formazione basata su molti tratti personali e con certi livelli di fiducia. Questi sono tutti elementi che potrebbero essere riutilizzati in un software più avanzato in seguito, o pezzi su cui una nuova versione del software potrebbe essere costruita, senza l’obbligo di chiederci l’autorizzazione. L’Open Source consiste nel fornire questa flessibilità in modo che il lavoro precedente possa essere condiviso e riutilizzato senza dover tornare ogni volta al punto di partenza.