Di tanto in tanto, il clamore della comunità sulle licenze open source controverse in un prodotto popolare catturerà i titoli, causando a tutti noi il dibattito su cosa siano realmente le licenze open source. L’anno scorso è stato il divieto di componenti della Fondazione Apache con la clausola di brevetto controversa di Facebook React che ha causato scalpore che ha inviato gli sviluppatori in corsa per le schede Reddit., In questi ultimi mesi, Redis Labs e MongoDB hanno apportato modifiche nelle licenze open source di alcuni dei loro database open source più popolari, lasciando molti a grattarsi la testa, evidenziando la necessità di avere licenze open source spiegate in human speak.
Le basi: che cos’è una licenza Open Source?
Ogni licenza open source indica cosa gli utenti sono autorizzati a fare con i componenti software, i loro obblighi e cosa non possono fare secondo i termini e le condizioni. Questo potrebbe sembrare abbastanza semplice, ma ci sono oltre 200 licenze open source là fuori, quindi buona fortuna tenerle tutte organizzate., Variando in complessità e requisiti, spetta alle organizzazioni scegliere quali licenze sono più compatibili con le loro politiche per garantire che rimangano conformi.
Copyleft e Permissive: Due tipi di licenze Open Source Spiegate
Le due principali categorie di licenze open source richiedono spesso spiegazioni approfondite. Le licenze open source possono essere suddivise in due categorie principali: copyleft e permissive. Questa divisione si basa sui requisiti e le restrizioni che la licenza pone agli utenti.,
Il copyright è una legge che limita il diritto di utilizzare, modificare e condividere opere creative senza il permesso del titolare del copyright. Pensa alla musica, ai film, ecc. che sono proprietà intellettuale del loro creatore. Quando un autore rilascia un programma sotto una licenza copyleft, fa un reclamo sul copyright dell’opera e rilascia una dichiarazione che altre persone hanno il diritto di utilizzare, modificare e condividere l’opera purché venga mantenuta la reciprocità dell’obbligo., In breve, se stanno usando un componente con questo tipo di licenza open source, allora anche loro devono rendere il loro codice aperto per l’uso da parte di altri.
Una licenza open source permissiva è una licenza open source non copyleft che garantisce la libertà di utilizzare, modificare e ridistribuire, consentendo anche opere derivate proprietarie. Licenze open source permissive, amorevolmente indicato come “Tutto va”, porre restrizioni minime su come gli altri possono utilizzare componenti open source., Ciò significa che questo tipo di licenza consente diversi gradi di libertà di utilizzare, modificare e ridistribuire il codice open source, consentendone l’uso in opere derivate proprietarie e non richiedendo quasi nulla in cambio per quanto riguarda gli obblighi che vanno avanti.
Cheat Sheet: Top Licenze Open Source Spiegato
È importante notare che non ci sono licenze buone o cattive e che nessuna licenza è migliore di un’altra. Chiunque può creare una licenza open source che si adatta alla loro fantasia, che è la ragione per cui ci sono così tanti là fuori., Questo potrebbe rendere la scelta di una licenza open source complicato business, soprattutto per quelli di noi che non sono ben versati nella legge e non hanno mai avuto licenze open source spiegato a fondo. Al fine di contribuire a restringere la decisione e dare un senso a tutto, l’SI messo insieme un elenco di licenze approvate, composto da un po ‘ più di 80 licenze open source che sono più comunemente utilizzati.
Delle decine di licenze open source nella lista approved approvato, alcuni regnano supremo e sono utilizzati da alcuni dei più popolari progetti open source là fuori.,
Abbiamo messo insieme un breve elenco di spiegare il più comunemente usato licenze open source:
- GNU General Public License (GPL)
- La Licenza Apache
- Microsoft Public License (Ms-PL)
- Berkeley Software Distribution (BSD)
- Comune di Sviluppo e di una Licenza di Distribuzione (CDDL)
- Eclipse Public License (EPL)
- la Licenza MIT
GNU General Public License (GPL)
GNU General Public License è il più popolare di licenza open source in giro., Richard Stallman ha creato la GPL per proteggere il software GNU dal diventare proprietario, ed è una specifica implementazione del suo concetto di” copyleft”.
GPL è una licenza copyleft. Ciò significa che qualsiasi software scritto in base a qualsiasi componente GPL deve essere rilasciato come open source. Il risultato è che qualsiasi software che utilizza qualsiasi componente open source GPL (indipendentemente dalla sua percentuale nell’intero codice) è tenuto a rilasciare il suo codice sorgente completo e tutti i diritti per modificare e distribuire l’intero codice.,
C’è sempre stata una certa confusione riguardo a ciò che costituisce un ‘lavoro basato su’ un altro lavoro, che a sua volta fa scattare l’obbligo di reciprocità GPL. La FSF ha cercato di aggiungere più chiarezza alla GPLv3 su quando l’obbligo di reciprocità viene attivato. La FSF ha anche scritto una nuova licenza GPL, la licenza Affero, per risolvere una specifica confusione denominata “ASP loophole”.
Inoltre, la FSF ha cercato di aumentare la compatibilità della GPLv3 con altre licenze. Per combinare due codici in un lavoro più grande, entrambi i programmi devono permetterlo., Se tali diritti sono concessi da entrambe le licenze dei programmi, sono compatibili. Rendendo la GPLv3 più compatibile, la FSF ha ampliato le opzioni di sviluppo.
La terza differenza tra le due versioni è che la GPLv3 è stata scritta nel tentativo di aumentare l’utilizzo in tutto il mondo. Il linguaggio utilizzato in GPLv3 per descrivere i diritti di licenza è stato modificato per garantire che le leggi internazionali lo interpretino come previsto dalla FSF, a differenza del linguaggio utilizzato in GPLv2, che è considerato molto incentrato sugli Stati Uniti., GPLv3 permette anche agli sviluppatori di aggiungere disclaimer locali, che aiuta anche ad aumentare il suo utilizzo al di fuori degli Stati Uniti.
Top 10 Licenza GPL Domande e risposte
La licenza Apache
La Licenza Apache è una licenza software open source rilasciata dalla Apache Software Foundation (ASF). È una licenza popolare e ampiamente distribuita sostenuta da una forte comunità. La Licenza Apache consente di utilizzare, modificare e distribuire liberamente qualsiasi prodotto con licenza Apache. Tuttavia, mentre lo fai, ti viene richiesto di seguire i termini della licenza Apache.,
Il Gruppo Apache (in seguito chiamato Apache Software Foundation) ha rilasciato la prima versione della sua licenza nel 1995, ma è raro che ci si imbatte in componenti che portano ancora questa licenza.
Nel 2000, quando Berkeley accettò l’argomento proposto dalla Free Software Foundation e ritirò la loro clausola pubblicitaria dalla licenza BSD e formò la licenza BSD modificata, Apache fece altrettanto e creò la licenza Apache versione 1.1.,
La rimozione della clausola pubblicitaria significava che i materiali pubblicitari delle opere derivate di qualsiasi prodotto con licenza Apache non erano più tenuti a includere l’attribuzione della licenza Apache. È diventato ok includere l’attribuzione solo nella documentazione.
Nel 2004, l’ASF ha deciso di discostarsi dal modello BSD un po ‘ più radicalmente e ha prodotto la licenza Apache versione 2.0 concedendo diritti di brevetto e definendo solide definizioni dei concetti che utilizza per renderlo più coerente.,
Top 10 Apache License Domande e risposte
Microsoft Public Licenses (Ms-PL)
La Microsoft Public License è una licenza software gratuita e open source rilasciata da Microsoft, che ha scritto per i suoi progetti che sono stati rilasciati come open source.
Sei libero di riprodurre e distribuire opere originali o derivate di qualsiasi software concesso in licenza sotto la licenza Ms-PL. Tuttavia, non è possibile utilizzare il nome, il logo o i marchi di alcun collaboratore quando lo si fa., Ms-PL protegge gli autori esplicitamente non offrendo alcuna garanzia esplicita o garanzie per l’utilizzo del codice, quindi l’autore non è responsabile se il codice non funziona bene in alcuni casi.
Quando si distribuisce il software (o la sua parte) sotto Ms-PL, non è necessario distribuire il suo codice sorgente. Puoi farlo se vuoi, ma non sei obbligato. Tuttavia, è necessario conservare tutti gli avvisi di copyright, brevetto, marchio e attribuzione originariamente presenti nel software.,
Inoltre, se si distribuisce qualsiasi parte del software nella sua forma di codice sorgente, è possibile farlo solo sotto Ms-PL includendo una copia completa di questa licenza con la propria distribuzione. Se si distribuisce qualsiasi parte del software nella sua forma di codice compilato o oggetto, è possibile farlo solo con qualsiasi altra licenza conforme a Ms-PL.
È importante notare che il documento Ms-PL termini e condizioni è molto breve, conciso e scritto in un linguaggio molto coerente., Microsoft ha voluto essere molto chiaro e diretto con la comunità open source, che aiuta anche il tasso di adozione (come sappiamo dalla licenza BSD).
Berkeley Software Distribution (BSD)
Le licenze BSD o la Licenza BSD originale e le sue due varianti – la Licenza BSD modificata (clausola 3) e la Licenza BSD semplificata / Licenza FreeBSD (clausola 2) sono una famiglia di licenze permissive di software libero.,
La Licenza BSD consente di modificare e distribuire liberamente il codice del software nel formato sorgente o binario, purché si conservi una copia dell’avviso di copyright, l’elenco delle condizioni e il disclaimer.
La licenza BSD originale o la licenza BSD a 4 clausole contiene anche una clausola pubblicitaria e una clausola di non approvazione (spiegazioni dettagliate su queste clausole sono offerte nelle seguenti domande). La licenza BSD modificata o la licenza BSD a 3 clausole è stata creata rimuovendo la clausola pubblicitaria dalla licenza BSD originale., Inoltre, la versione di FreeBSD o la Licenza BSD a 2 clausole è stata formata rimuovendo la clausola di non approvazione dalla Licenza BSD modificata o dalla Licenza BSD a 3 clausole.
Common Development and Distribution License (CDDL)
CDDL è una licenza open source pubblicata da Sun Microsystems per sostituire la Sun Public License (SPL). La licenza CDDL è considerata da Sun (ora Oracle) come SPL versione 2. È ispirato alla Mozilla Public License (MPL)., Sun rilasciava i suoi progetti di software libero / open source sotto la sua Sun Public License (SPL) prima di affidarsi al CDDL nel 2004. CDDL è spesso definito come una versione ripulita del MPL ed è fatto per facilitare la riusabilità.
Sei libero di riprodurre e distribuire qualsiasi lavoro originale o derivato di qualsiasi software concesso in licenza ai sensi del CDDL. Tuttavia, non è necessario rimuovere o apportare modifiche a qualsiasi avviso di copyright, brevetto o marchio contenuto nel software., È inoltre necessario conservare eventuali avvisi di licenza o qualsiasi testo descrittivo che attribuisca l’attribuzione a qualsiasi collaboratore o sviluppatore iniziale.
Quando si distribuisce il software in un formato eseguibile (qualsiasi forma diversa dal codice sorgente), è necessario rendere disponibile anche il codice sorgente sotto il CDDL. Il modulo eseguibile può essere rilasciato sotto il CDDL o qualsiasi licenza compatibile con CDDL.,
Il codice sorgente che devi rendere disponibile include i tuoi contributi purché siano un’aggiunta, la cancellazione o la modifica del contenuto di un file contenente il software originale – o nuovi file che contengono parti del programma originale. Ciò significa che se le tue aggiunte sono fatte in file separati e indipendenti che non contengono il codice originale, non devi rilasciarlo sotto il CDDL. Si può fare se si sceglie di, ma non sei obbligato.
Inoltre, è necessario includere una copia del CDDL con qualsiasi codice sorgente distribuito., Per ogni modifica apportata, è necessario identificarsi come modificatore includendo un avviso nei file modificati.
Eclipse Public License (EPL)
La Eclipse Public License (EPL) è una licenza open source sviluppata dalla Eclipse Foundation. È derivato dalla Common Public License (CPL). Il codebase Eclipse ora disponibile sotto l’EPL era precedentemente concesso in licenza sotto la CPL.
La licenza EPL è una licenza copyleft., Se si modifica un componente EPL’ed e lo si distribuisce nel modulo del codice sorgente come parte del programma, è necessario divulgare il codice modificato nell’EPL. Se si distribuisce un programma di questo tipo nella sua forma di codice oggetto, è necessario dichiarare che il codice sorgente può essere reso disponibile al destinatario su richiesta. È inoltre necessario condividere il metodo per richiedere il codice sorgente.
La Fondazione Eclipse chiarisce che, a loro parere, “semplicemente interfacciarsi o interagire” con un plugin Eclipse non rende il tuo codice un lavoro derivato del plugin.,
Se ridistribuisci un programma con un componente EPL, sei obbligato a includere il testo completo della licenza e i diritti d’autore.
L’EPL protegge l’autore da possibili azioni legali o danni causati se una società ha utilizzato il suo componente in un prodotto commerciale. Offre anche una concessione di brevetto.
Licenza MIT
MIT è una delle licenze di software libero più permissive. In sostanza, si può fare quello che vuoi con il software concesso in licenza sotto la licenza MIT – solo se si aggiunge una copia della licenza MIT originale e avviso di copyright ad esso., La sua semplicità è la ragione dietro il suo alto tasso di adozione tra gli sviluppatori.
Conosci le tue licenze Open Source, o Spiegalo al giudice
Se sei arrivato così lontano, allora sai che le licenze open source non sono per i deboli di cuore.