Una guida rapida alle licenze open source
Pubblicato: 2020-05-07Quando crei un software che desideri condividere o utilizzi un prodotto che desideri adattare, vengono visualizzate domande su cosa è legale e cosa non lo è. Anche i programmi che hanno una licenza open source non sono gratuiti per tutti. Se non conosci le specifiche di ciò che consente la licenza, potresti entrare nell'acqua calda legale. Conoscere i tuoi limiti, o se ce ne sono, ti dà la libertà di utilizzare e condividere il software con sicurezza.
Cosa sono le licenze open source?
Le licenze open source seguono la Open Source Definition. Ciò significa che il software o il prodotto - il suo progetto, design e/o codice sorgente - può essere utilizzato, modificato e/o condiviso come desidera l'utente. In parole povere, l'utente può personalizzare il prodotto in base alle proprie esigenze e quindi condividere quel prodotto con altri.
Le condizioni su come condividerlo variano, tuttavia: le licenze open source non sono illimitate. Le clausole includono il mantenimento dei nomi degli autori e la ridistribuzione dei derivati con la stessa licenza. Inoltre, se la licenza consente la modifica o la ridistribuzione del prodotto solo per scopi non commerciali , non è open source.
Una licenza open source è un contratto legalmente vincolante tra l'autore del software e l'utente. Il software pubblicato pubblicamente e disponibile gratuitamente non è automaticamente open source. La licenza lo rende ufficialmente open source. Molti software open source sono gratuiti, ma ciò non significa che essere gratuiti sia un requisito o una garanzia del software open source.
Due principali tipi di licenze open source: copyleft vs permissive
Copyleft e permissive sono le due categorie principali di licenze open source. Questi non sono nomi di vere licenze open source, ma sono categorie in cui rientrano licenze specifiche.
Licenze open source con copyleft
Copyleft è un tipo di licenza open source che richiede all'utente di applicare la stessa licenza alla propria versione del prodotto. Ciò significa che se l'utente modifica e condivide il software, deve mantenere la licenza open source.
Licenze Open Source permissive
Le licenze open source permissive sono flessibili come vengono. Non sono licenze copyleft, quindi l'utente non è tenuto a mantenere la propria versione del prodotto open source. Di solito hanno poche restrizioni; gli utenti possono creare opere derivate proprietarie senza dover soddisfare molti obblighi.
I tipi più comuni di licenze open source
Esistono molti tipi diversi di licenze open source tra cui gli autori e le aziende possono scegliere. Andiamo oltre i più popolari.
Licenza Apache
La licenza Apache è una licenza open source della Apache Software Foundation. Con la licenza è possibile utilizzare, modificare o distribuire qualsiasi prodotto con licenza Apache.
Sono state apportate due modifiche principali alla licenza Apache. Nel 2000, la clausola pubblicitaria originale è stata rimossa. Ora, se ci sono materiali pubblicitari creati per un'opera derivata, non devono includere l'attribuzione alla licenza Apache, sebbene l'attribuzione debba rimanere nella documentazione. Nel 2004, un altro aggiornamento alla licenza ha consentito i diritti di brevetto.
Berkeley Software Distribution (BSD)
Esistono due tipi di licenze BSD:
- Licenza BSD modificata (3-clausole)
- Licenza BSD semplificata, chiamata anche licenza FreeBSD (2-clausole)
Ogni licenza BSD dà il permesso di modificare e distribuire codice software, sorgente o binario. Tuttavia, è necessario conservare una copia delle condizioni, dell'avviso di copyright e del disclaimer.
La licenza originale BSD aveva quattro clausole, comprese le clausole pubblicitarie e di non approvazione. La licenza a 3 clausole modificata non include la clausola pubblicitaria. La licenza semplificata/gratuita a 2 clausole non ha la clausola di non avallo.
Licenza comune di sviluppo e distribuzione (CDDL)
Il CDDL è una licenza open source creata da Sun Microsystems (acquisita da Oracle). L'attuale CDDL è la versione 2, ed è un giro della Mozilla Public License. Ha anche sostituito la Sun Public License, fornita con i prodotti Sun gratuiti e open source fino al 2004.
Ai sensi del CDDL, è possibile riprodurre e distribuire opere originali o derivate di software concesso in licenza. Tuttavia, non è possibile apportare modifiche o rimuovere avvisi su copyright, brevetto o marchio. Inoltre, l'utente deve conservare avvisi o testo con attribuzione a contributori o sviluppatori.
Se distribuisci il software in una forma eseguibile, ovvero una forma che non è il codice sorgente, devi rendere disponibile il codice sorgente. Puoi rilasciare il modulo eseguibile sotto il CDDL o una licenza compatibile con CDDL. Ti viene richiesto di rilasciare il codice sorgente per i tuoi contributi se soddisfano una o entrambe le seguenti linee guida:
- Sono aggiunte, modifiche o eliminazioni dal software originale.
- Sono nuovi file che includono parti del prodotto originale.
Quando rilasci il codice sorgente, devi includere una copia del CDDL. Inoltre, per ogni modifica che fai, devi includere un avviso nei file modificati che sei il modificatore. Se hai fatto aggiunte in file separati e indipendenti che non hanno alcun codice originale, non devi rilasciarlo con un CDDL.
Licenza pubblica Eclipse (EPL)
La Eclipse Public License è una licenza open source con copyleft della Eclipse Foundation. L'obiettivo dell'EPL è proteggere gli autori dall'incorrere in problemi legali se un'azienda utilizza il loro componente in un prodotto commerciale. La licenza offre anche una concessione di brevetto.
Se modifichi un componente EPL e lo distribuisci come codice sorgente, devi divulgare il codice modificato. Se distribuisci il tuo prodotto sotto forma di codice oggetto, devi chiarire che consegnerai il codice sorgente su richiesta. Devi anche chiarire come richiedere il codice sorgente. Quando ridistribuisci un programma che include parte di un prodotto con licenza EPL, devi includere il copyright completo e il testo della licenza.
L'EPL dice anche che interfacciarsi o interagire con un plugin non lo rende automaticamente un lavoro derivato. Per dirla semplicemente, a meno che tu non stia effettivamente modificando parte del plugin, non è un lavoro derivato.

Licenza pubblica generale GNU (GPL)
La GPL è la licenza open source più popolare (i plugin e i temi di WordPress devono avere questa licenza). È una licenza copyleft, quindi qualsiasi software che utilizza qualsiasi componente GPL deve essere open source, anche se solo una piccola percentuale del codice è nel codice modificato.
Il software può essere utilizzato e modificato ovunque senza quasi alcuna restrizione, sia che lo si utilizzi in modo privato o commerciale. Tuttavia, ci sono restrizioni se distribuisci al di fuori della tua organizzazione. In questo caso, è necessario distribuire il codice sorgente completo, nonché gli stessi termini di licenza del software originale.
Se il nuovo prodotto contiene solo una parte del software GPL, devi distribuire l'intero codice sorgente? Forse. Secondo la GPL, tutti i lavori derivati devono essere concessi in licenza secondo i termini di licenza completi. Tuttavia, se distribuisci il software GPL insieme a un sistema proprietario e sono due opere separate, nel senso che non condividono strutture di dati e vengono eseguite in processi separati, potresti non dover rilasciare il codice sorgente per tutto il software .
GNU Lesser General Public License (LGPL)
Sotto la LGPL, che è una versione più debole della GPL, i prodotti concessi in licenza possono essere collegati ad applicazioni proprietarie. Il codice proprietario potrebbe essere ancora in grado di rimanere proprietario, a seconda che i programmi siano collegati dinamicamente o staticamente. Questa licenza spesso accompagna il software libero, permettendogli di essere incorporato in software libero o proprietario. Non è necessario aprire il codice sorgente per le proprie estensioni.
Licenza pubblica Microsoft (Ms-PL)
Ms-PL è una licenza software open source gratuita di Microsoft e accompagna i progetti open source di Microsoft.
Gli utenti possono creare e distribuire opere software originali o derivate, ma non è possibile utilizzare il nome, il logo o il marchio del contributore. La Ms-PL richiede la conservazione degli avvisi di attribuzione originale, copyright, brevetto e marchio. Inoltre, se il codice non funziona in un'opera derivata, l'autore non è responsabile: non ci sono garanzie o garanzie riguardo alle prestazioni del codice.
Quando distribuisci un prodotto con Ms-PL, non sei obbligato a distribuire il codice sorgente, anche se puoi farlo se lo desideri. Se scegli di distribuire il codice sorgente – o anche una parte del codice sorgente – devi includere una copia completa della licenza Ms-PL.
Ecco dove diventa più complicato: se si distribuisce qualsiasi parte del software in forma compilata o in codice oggetto, la licenza scelta deve essere conforme al Ms-PL.
Codice sorgente vs. codice oggetto
Un programmatore scrive il codice sorgente. È un documento (o file) basato su testo scritto in un linguaggio leggibile dagli umani e il file è in un linguaggio di programmazione. Tuttavia, le macchine non possono effettivamente leggere il codice sorgente mentre è scritto.
Per renderlo leggibile dalla macchina, la macchina deve compilare il linguaggio del codice sorgente in codice eseguibile dalla macchina, ovvero codice oggetto. Il codice oggetto è scritto come cifre binarie e il processo di generazione del codice binario è "compilazione". Mentre il codice sorgente non è specifico del sistema, il codice oggetto lo è. Il codice sorgente può essere lo stesso su sistemi diversi, ma ogni macchina può compilarlo in un codice oggetto diverso.
Quando si tratta di concedere in licenza il codice oggetto con la Ms-PL, ecco cosa devi sapere: puoi impostare i tuoi termini, ma non possono dare ai destinatari più diritti della licenza Ms-PL. Possono concedere meno diritti, però.
Licenza del Massachusetts Institute of Technology (MIT)
La licenza MIT è una delle licenze open source più flessibili in circolazione e garantisce all'utente finale tutti i diritti che ti aspetteresti da una licenza open source: copia, distribuzione, fusione, modifica, ecc. È principalmente nota per quello che non include, in particolare una clausola pubblicitaria. Inoltre, consente il nome del proprietario del copyright nei contenuti promozionali.
Puoi praticamente fare tutto ciò che desideri con un prodotto con questa licenza. Tuttavia, l'anno del copyright e le informazioni sul titolare devono essere presenti nella licenza per il tuo derivato.
Licenza pubblica Mozilla 2.0
La Mozilla Public License 2.0 è una licenza copyleft. I contributori possono condividere le modifiche apportate al codice. Possono anche combinare codice con codice sotto altre licenze aperte o proprietarie.
Se desideri utilizzare il software MPL per qualsiasi scopo e distribuirlo all'interno della tua organizzazione, non devi fare nulla di speciale. Se desideri modificare il codice sorgente MPL e distribuire il tuo lavoro derivato al di fuori della tua organizzazione, devi:
- Comunica ai destinatari che il codice sorgente (incluso il codice sorgente per le modifiche) è a loro disposizione secondo l'MPL.
- Afford MPL concede ai destinatari, il che significa che hanno una licenza non esclusiva e priva di royalty per utilizzare, modificare, visualizzare, riprodurre, distribuire, ecc.
- Rispettare le restrizioni sulla rimozione o alterazione degli avvisi nel codice sorgente. Non è possibile rimuovere o modificare gli avvisi di licenza su copyright, brevetti, garanzie o responsabilità.
Considerazioni finali sulle licenze open source
La scelta di una licenza open source per il tuo prodotto o software non è così semplice come potresti desiderare. Se non ti interessa chi fa cosa con il tuo prodotto, puoi scegliere una delle licenze super flessibili, come la licenza MIT. Altrimenti, ti consigliamo di parlare con un professionista, che sia uno sviluppatore esperto o un avvocato, per discutere di cosa hai, cosa vuoi e quale licenza corrisponde meglio. Conoscere le basi in anticipo, tuttavia, in particolare la terminologia e le licenze comuni che sei tenuto a coprire, ti aiuterà a iniziare con il piede giusto.
Dai un'occhiata alla nostra carrellata delle 13 migliori app software open source per i professionisti del web.
