When it comes to open-source software licenses, there are two broad categories. Some licenses fall under the copyleft license category, while others are permissive open source licenses.
In questo articolo spiegherò cos'è il licensing Open Source e quali sono le sue tipologie.
Introduzione
Una licenza Open Source permette agli utenti di visualizzare, modificare e condividere liberamente il codice sorgente del software. In questo modo, gli utenti possono aggiornare spesso il codice code e migliorare il prodotto originale.
A seconda del tipo di licenza Open Source scelto, gli utenti potrebbero non essere in grado di svolgere determinate attività con il code, come venderlo o usarlo commercialmente. Inoltre, esistono molti tipi diversi di licenze Open Source, ognuna con termini e condizioni differenti in base a come si intende utilizzare il materiale sorgente.
Per questo motivo, è fondamentale comprendere appieno il tipo di licenza Open Source prima di sfruttarne i vantaggi; ti consigliamo di approfondire i punti seguenti prima di prendere qualsiasi decisione.
Tipi di licenze Open Source
Licenze Permissive
Una licenza permissive, talvolta chiamata licenza non-copyleft, consente agli utenti di usare, modificare e condividere il code sorgente, ma offre anche la possibilità di modificare alcuni termini e condizioni per la ridistribuzione, inclusi i lavori derivati. Nel software, un lavoro derivato è un software basato su un programma esistente. Se l'originale è stato rilasciato con una licenza permissive, l'autore può scegliere di condividere il proprio lavoro derivato con termini diversi da quelli richiesti dalla licenza originale.
Licenze Copyleft
Le licenze copyleft nell'open source garantiscono all'utente la libertà dell'autore di modificare, usare e ridistribuire il software. Tuttavia, richiedono agli utenti di trasmettere diritti specifici agli utenti successivi, concedendo loro gli stessi diritti che erano stati originariamente concessi.
Le licenze copyleft definiscono come sono consentite la ridistribuzione e le modifiche al code, vietando qualsiasi tentativo di renderlo proprietario o non open. Ciò garantisce che gli sviluppatori che modificano il software abbiano accesso al code per aggiornarlo o integrare le proprie modifiche. Naturalmente, anche le modifiche devono essere rese disponibili affinché altri possano beneficiare della sua natura open source. Questo non è un problema per usi accademici o di ricerca, ma spesso è un ostacolo nello sviluppo di software commerciale.
Perché includere una licenza open-source?
Includere una licenza open-source è fondamentale quando pubblichi o condividi il tuo software come open source. Una licenza serve a diversi scopi importanti:
- Per promuovere la collaborazione e l'innovazione.
Le licenze open source consentono a chiunque di visualizzare, modificare e distribuire il code del tuo software. Questo incoraggia altri sviluppatori a contribuire al tuo progetto, correggere bug e aggiungere nuove funzionalità, portando a un prodotto software più robusto e innovativo.
- Per dare agli utenti più controllo e flessibilità.
Le licenze open source solitamente permettono agli utenti di usare, modificare e distribuire il software per qualsiasi scopo, incluso quello commerciale. Ciò offre agli utenti maggiore controllo sulla propria esperienza software e riduce la dipendenza dai vendor di software proprietario.
- Per costruire una community attorno al tuo software.
Una licenza open source può aiutarti a costruire una community di utenti e developer appassionati del tuo software. Questa community può fornire supporto, feedback e nuove idee per il tuo progetto.
- Per rendere il tuo software più accessibile e inclusivo.
Il software open source è solitamente gratuito da scaricare e utilizzare, ed è spesso disponibile in più lingue. Questo lo rende accessibile a persone di tutto il mondo, indipendentemente dal reddito o dal background.
Oltre a questi vantaggi, le licenze open source possono anche aiutarti a:
- Evitare la violazione del copyright.
Se distribuisci il tuo software senza una licenza, rischi potenzialmente cause per violazione del copyright. Una licenza open source concede esplicitamente agli utenti il permesso di usare, modificare e distribuire il tuo software, proteggendoti da responsabilità legali.
- Attrarre e trattenere i migliori talenti.
Molti developer talentuosi sono attratti dai progetti open source. Rilasciando il tuo software con una licenza open source, puoi rendere la tua azienda più attraente per potenziali dipendenti.
- Migliorare la reputazione del tuo brand.
Il software open source è ampiamente rispettato dalla tech community. Rilasciando il tuo software con una licenza open source, puoi dimostrare il tuo impegno verso la collaborazione e l'innovazione.
Licenze Software Permissive Popolari
Le licenze software permissive sono tra le più diffuse. In sostanza, permettono agli utenti di modificare e ridistribuire il software come preferiscono, con restrizioni minime. Ecco tre delle versioni più popolari:
Licenza MIT
Il Licenza MIT è la licenza open source più popolare e permissiva. Offre agli utenti ampie libertà, consentendo di condividere, modificare, usare e commercializzare il materiale, purché si rispettino tutte le condizioni previste dalla licenza.
Licenza Apache 2.0
La Licenza Apache 2.0 è una licenza permissiva molto usata che permette di modificare e ridistribuire liberamente il software, garantendo che le dichiarazioni di copyright e gli avvisi rimangano integri. Questa licenza open source consente modifiche e ridistribuzioni proprietarie e offre termini chiari affinché chiunque comprenda i propri diritti.
Licenza BSD (Berkeley Software Distribution)
GitHub ti permette di scegliere tra due licenze BSD, la Licenza BSD 2-Clause “Simplified”, talvolta chiamata licenza “FreeBSD”; e la Licenza BSD 3-Clause “New” o “Revised”. La differenza principale tra queste due licenze risiede nella terza clausola. Questa impedisce agli utenti di usare il nome dell'autore, degli autori o dei contributori per promuovere prodotti o servizi.
Licenza Boost Software
La Boost Software License, proviene dalle Boost Libraries di C++ ed è stata approvata da OSI nel 2008. È simile alle licenze MIT e BSD, ma non richiede l'attribuzione in caso di ridistribuzione in formato binario.
Licenze Open-Source Copyleft
Le licenze copyleft permettono agli utenti di usare, modificare e condividere il code originale, ma proteggono anche contro il relicensing tramite restrizioni e termini specifici. Questo rappresenta la caratteristica di reciprocità della licenza, che richiede che il lavoro degli utenti rispetti i diritti originali stabiliti.
Licenze GNU Per quanto riguarda le licenze software copyleft, la GPL (General Public License) è una delle più popolari e diffuse. Questa licenza open-source garantisce la libertà di distribuire copie e versioni modificate di un programma, a patto di rispettare determinate condizioni, come i notice di copyright, i disclaimer di garanzia o altre licenze aggiunte al Programma originale.
Rendendo il software disponibile con questo tipo di licenza, gli sviluppatori garantiscono agli altri l'accesso al proprio code, permettendo miglioramenti e adattamenti a beneficio della community. Inoltre, il concetto di “copyleft” assicura che chiunque possa condividere collaborativamente le stesse libertà lavorando con software libero.
Mozilla Public License
Il Mozilla Public License, o MPL, è rilasciata dalla Mozilla Foundation ed è considerata una licenza weak copyleft. La differenza rispetto a questa licenza (rispetto alla Eclipse Public License) è che il copyleft è basato sui file, il che significa che code può essere combinato con code open-source o proprietario.
Eclipse Public License
Il Eclipse Public License, è rilasciata dalla Eclipse Foundation ed è considerata una licenza weak copyleft. Una licenza weak copyleft richiede agli utenti di condividere ogni modifica apportata al code. Questa licenza ha scelto un copyleft più permissivo per ridurre i requisiti più stringenti presenti nelle GNU General Public Licenses.
Come scegliere la licenza corretta per il tuo progetto?
-
Se rilasci il tuo progetto con una licenza open source, scegli una licenza compatibile con i progetti che stai utilizzando.
-
Se vuoi permettere ad altri di usare il tuo progetto per scopi commerciali, scegli una licenza che lo consenta.
-
Se vuoi permettere ad altri di modificare e distribuire il tuo progetto, scegli una licenza che lo consenta.
-
Se vuoi garantire che il tuo progetto rimanga libero e open source, scegli una licenza copyleft.
-
Se non sai quale licenza scegliere, l'Open Source Initiative offre una lista di licenze popolari da confrontare.
Scegliere la licenza corretta per il tuo progetto open source è una decisione importante. Valutando attentamente i tuoi obiettivi, potrai scegliere la licenza ideale per i tuoi risultati.
nuova licenza di Capgo
Come posso riuscirci? Cambiando la mia licenza.
Capgo ha cambiato la licenza da MIT a un nuovo schema chiamato GNU Affero General Public License V3 (AGPLv3) o versioni successive. La versione Capgo può essere trovata qui.
Capacitor-updater (il plugin) ha cambiato la licenza da LGPLv3 al nuovo schema Mozilla Public License Version 2.0 (MPLv2) o versioni successive. La versione Capacitor-updater può essere trovata qui.
Questo cambiamento non cambierà nulla per chi utilizza Capgo Cloud o chi ospita in self-hosting Capgo, ma potrebbe infastidire alcune aziende che hanno cercato di usare il mio software per competere direttamente con me senza contribuire.
L'AGPL è una licenza che crea problemi a Google, poiché non sono disposti a divulgare il loro code closed source. Google si oppone all'AGPL e dichiara: “Code sotto licenza GNU Affero General Public License (AGPL) NON deve essere utilizzato in Google”.
L'obiettivo dell'AGPL è massimizzare la libertà dell'utente e incoraggiare le aziende a contribuire all'open-source. Io sono un'applicazione standalone rivolta all'utente, non una libreria o parte di un progetto più grande. Non cerco donazioni da Google, quindi siamo felici di avere una licenza AGPL. È la licenza giusta per Capgo.
Conclusione
Ci sono molti fattori da considerare quando si sceglie una licenza open-source. Tuttavia, esistono delle scelte popolari nella community di developer. Le licenze permissive più comuni includono MIT, Apache e BSD. Alcune licenze copyleft comuni sono la GNU General Public License e la Mozilla Public License.
Continua da Comprendere le licenze open source
Se stai usando Capire le licenze software open source per pianificare la distribuzione di live update, collegalo a Live Updates di Capgo per il workflow del prodotto in Capgo Live Updates, Panoramica per i dettagli di implementazione nell'Overview, Funzionalità per i dettagli implementativi in Features, Comportamento degli aggiornamenti per i dettagli implementativi in Update Behavior, e Tipi di aggiornamento per i dettagli di implementazione in Tipi di aggiornamento.