Assistenza professionale per gestire al meglio le licenze open source.
Calcola il preventivo
La recente sentenza del Tribunale di Milano n. 7112/2023 ha fatto luce su una questione cruciale nel mondo del software: la corretta applicazione delle licenze open source, in particolare la licenza BSD a 4 clausole. Tali licenze permettono agli utenti di accedere, modificare e ridistribuire il software, ma impongono alcune condizioni che devono essere rispettate per garantire l’uso corretto del software.
Il caso in esame riguarda la società Gestionale Open Srl e la distribuzione del software gestionale “Gestionale Open” (GO). Il programma veniva distribuito con una licenza open source BSD, quindi, gratuitamente e con la possibilità di effettuare modifiche e ridistribuzioni, a patto che venissero rispettate alcune condizioni previste nella licenza.
Oltre alla distribuzione del software in modalità open source, la società offriva anche servizi aggiuntivi come manutenzione, aggiornamenti e personalizzazione attraverso contratti separati con i diversi clienti. Tali versioni del software, però, non erano rilasciate come licenze open source, ponendo alcune problematiche circa il rispetto della licenza.
La controversia trova origine giacché le società convenute utilizzavano il software GO senza rispettare le condizioni della licenza BSD. In particolare, tra gli altri illeciti contestati, l’attrice sosteneva la violazione della c.d. clausola pubblicitaria.
Per comprendere appieno la sentenza e le implicazioni delle licenze open source, è essenziale fare chiarezza sui concetti di codice sorgente e codice oggetto, due termini fondamentali nel mondo della programmazione e della distribuzione del software.
Il codice sorgente è il testo originale scritto in un linguaggio di programmazione che è comprensibile e leggibile per gli esseri umani. Questo linguaggio può essere C, Java, Python, o qualsiasi altro linguaggio di programmazione utilizzato per scrivere software. Il codice sorgente rappresenta le istruzioni e la logica che definiscono il comportamento e le funzionalità di un programma.
Per esempio, se si pensa a un’applicazione che calcola le tasse, il codice sorgente contiene le istruzioni su come effettuare i calcoli, gestire le entrate dell’utente e generare i report.
Il codice sorgente è essenziale per lo sviluppo e la manutenzione del software perché permette agli sviluppatori di leggere, comprendere, modificare e aggiornare il programma. Questo è il motivo per cui molte licenze open source, come la BSD, richiedono che il codice sorgente sia reso disponibile: garantire che chiunque possa studiarlo, modificarlo e contribuire al suo miglioramento.
Il codice oggetto è la traduzione del codice sorgente in un formato che può essere eseguito direttamente dal computer. Questa traduzione è effettuata attraverso un processo chiamato compilazione. Il codice oggetto è scritto in linguaggio macchina, un linguaggio binario composto da sequenze di 0 e 1 che le CPU dei computer possono comprendere e interpretare. Per il computer, il codice oggetto è ciò che realmente esegue le operazioni specificate nel codice sorgente.
Comprendere la differenza tra codice sorgente e codice oggetto aiuta a capire le implicazioni legali e pratiche delle licenze open source. Queste licenze non solo regolano l’accesso e la modifica del codice sorgente ma stabiliscono anche requisiti per il trattamento del codice oggetto, garantendo che le condizioni di licenza siano rispettate in tutte le forme in cui il software viene distribuito.
Il termine “open source” rappresenta un approccio fondamentale nello sviluppo e nella distribuzione del software, caratterizzato dalla disponibilità e dalla trasparenza del codice sorgente. Questo modello consente a chiunque di visualizzare, modificare e ridistribuire il codice, promuovendo la collaborazione e l’innovazione a livello globale. Tuttavia, all’interno del panorama open source, esistono diverse tipologie di licenze che regolano l’uso del software in modi distinti.
Quando si parla di open source, ci riferiamo a un modello di sviluppo del software in cui il codice sorgente è reso disponibile al pubblico. Questo significa che chiunque può accedere al codice, esaminarlo, modificarlo e distribuirlo liberamente.
Questo approccio offre numerosi vantaggi.
Anzitutto, gli utenti possono vedere esattamente cosa fa il software e come funziona, il che può contribuire a migliorare la sicurezza e la qualità del software; inoltre, permettendo a molti sviluppatori di lavorare su un progetto, l’open source favorisce un ambiente di collaborazione che può portare a innovazioni rapide e alla risoluzione di problemi complessi; infine, gli utenti possono adattare il software alle loro esigenze specifiche, migliorando la sua utilità e rilevanza per contesti particolari.
Le licenze permissive, come la BSD (Berkeley Software Distribution), sono un sottogruppo di licenze open source che permettono una grande libertà nell’uso del software.
La licenza BSD consente agli utenti di utilizzare, modificare e distribuire il software con meno vincoli e obblighi rispetto ad altre licenze open source come la GNU General Public License (GPL).
Le licenze permissive consentono agli utenti di fare praticamente qualsiasi cosa con il software, inclusi uso commerciale e modifiche, senza restrizioni eccessive; infatti, queste licenze, generalmente, impongono poche condizioni sulla ridistribuzione del software, facilitando la sua integrazione in altri progetti e prodotti.
Nel caso specifico della licenza BSD, le condizioni possono includere la necessità di mantenere avvisi di copyright e dichiarazioni di responsabilità nel codice sorgente distribuito. Questi requisiti assicurano che il software venga distribuito con il riconoscimento appropriato agli sviluppatori originali e secondo le regole stabilite dalla licenza.
Inoltre, le licenze open source spesso impongono anche obblighi specifici riguardo al codice oggetto. Ad esempio, la licenza BSD prevede che, se il software è distribuito in forma di codice oggetto (compilato), devono essere incluse anche le stesse condizioni di licenza e avvisi di copyright, assicurando che la protezione e le condizioni della licenza si estendano anche alla forma eseguibile del software.
Tale libertà, tuttavia, è comunque limitata da alcuni vincoli. Una delle clausole più rilevanti della licenza BSD a 4 clausole, nota come clausola pubblicitaria, richiede che qualsiasi materiale promozionale o pubblicitario relativo al software menzioni esplicitamente gli sviluppatori originali. Questa clausola ha lo scopo di garantire che il contributo degli autori originali venga sempre riconosciuto, anche quando il software viene modificato e ridistribuito da terzi.
La mancata osservanza delle clausole previste nella licenza può comportare la perdita dei diritti concessi, con conseguenze legali per chi utilizza o distribuisce il software.
Nel caso in questione, le società convenute avevano ridistribuito il software “Gestionale Open” (GO) senza includere tale menzione obbligatoria. Ma questa non era l’unica violazione: la ridistribuzione avveniva anche senza riportare correttamente le note di copyright e senza rispettare le altre condizioni previste dalla licenza, come l’inclusione delle limitazioni di responsabilità e la riproduzione delle clausole di licenza nel codice binario distribuito.
Il Tribunale di Milano ha valutato queste omissioni sufficienti a configurare una violazione del diritto d’autore. Infatti, la licenza BSD permette la libera utilizzazione, modifica e distribuzione del software, ma solo se tutte le condizioni della licenza vengono rispettate. Il mancato rispetto dei requisiti di una licenza BSD non solo compromette la validità della licenza stessa, ma comporta anche l’applicazione delle norme del diritto d’autore, generiche e più restrittive.
Pertanto, la mancata osservanza delle condizioni della licenza BSD comporta la cessazione dei diritti che erano stati concessi agli utenti dal titolare della licenza. Senza una licenza valida o non correttamente applicata, l’uso, la modifica e la distribuzione del software non sono più autorizzati, e le attività precedentemente legittime diventano illecite.
Una volta che la licenza viene considerata invalida, il software rientra, quindi, sotto la protezione “standard” del diritto d’autore, che offre una tutela più rigorosa e restrittiva. In pratica, il software diventa protetto dalla legge sul diritto d’autore come qualsiasi altra opera dell’ingegno, con diritti esclusivi riservati all’autore.
Le licenze open source come la BSD sono progettate per promuovere l’uso e la distribuzione liberale del software, ma sempre all’interno di un quadro giuridico che riconosce e rispetta i diritti degli autori. Ignorare o violare tali condizioni può portare a sanzioni e danneggiare le pratiche di sviluppo collaborativo che caratterizzano l’ecosistema open source.
In sintesi, la mancata conformità alle condizioni di una licenza BSD può avere gravi conseguenze legali, rendendo cruciale per gli sviluppatori e gli utenti assicurarsi di rispettare tutte le clausole specificate. Questo non solo aiuta a evitare conflitti legali, ma garantisce anche che il software possa essere utilizzato e condiviso in modo corretto e giusto, mantenendo l’equilibrio tra protezione dei diritti d’autore e libertà di utilizzo.
Margherita Manca