Dubbi sulle licenze

5

Sono abbastanza nuovo alla programmazione e ora sto creando il mio programma come parte della mia tesi di laurea. Il mio programma è fatto in Java e utilizza diverse librerie di terze parti. Queste librerie sono disponibili con licenze diverse, principalmente:

  • LGPL 2.1
  • GPL 2 + eccezione GPL Link
  • Apache versione 2
  • BSD

In realtà non ho toccato il codice sorgente di queste librerie, ma li uso nel mio programma e in alcuni casi creo classi che estendono le classi in quelle librerie.  Se decido di rendere il mio programma disponibile pubblicamente (probabilmente gratuitamente) quale tipo di licenza posso usare? Ho letto molto sulla compatibilità delle licenze (Apache vs GPL vs qualunque), discussioni sui lavori derivati e sono molto confuso. Commenti e spiegazioni sarebbero molto utili.

    
posta Antonio 24.05.2012 - 12:12
fonte

2 risposte

12

Sei libero di scegliere qualsiasi licenza che ti piace

Ecco perché:

  • Apache & BSD: questi sono permissivi, non impongono alcuna limitazione;
  • LGPL 2.1 - impone solo la limitazione delle licenze sulla distribuzione delle modifiche alla libreria stessa;
  • Eccezione di collegamento GPL 2 + GPL: questa è la soluzione più complicata. Fondamentalmente GPL vorrebbe dire che devi rilasciare tutto come GPL. Tuttavia, poiché contiene linking exception e non riutilizzi alcuna parte del codice sorgente nel codice sorgente, il tuo codice è esente da GPL. Per chiarire, la creazione di una classe che estende una classe importata dalla libreria non include il codice source nel tuo codice, si limita a collegarsi alla libreria e ad utilizzarla.

La parte significativa dell'eccezione:

As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module

    
risposta data 24.05.2012 - 13:25
fonte
2

Riepilogo informale :

  • GPL : molte pagine che affermano tutte le cose che non sono autorizzati a fare con esso (chi ha detto libertà?). Fondamentalmente, qualsiasi cosa utilizzarlo deve diventare GPL o implementare nuovamente le cose

  • LGPL : GPL con un po 'di flessibilità: il tuo software libero può essere collegato in binario in determinate circostanze.

  • Apache : molti avvocati mumbo jumbo, ma comunque una Licenza permissiva. Richiede lavori derivati per fornire la notifica di qualsiasi codice concesso in licenza o proprietario in una posizione comune.

  • BSD : licenza dolce e piccola: fai quello che vuoi con esso

Se usi materiale GPL, in pratica devi rilasciarlo anche sotto GPL. È la licenza più restrittiva di tutti.

Se non mi sbaglio, BSD, Apache, LGPL possono essere tutti usati dal software GPL ma non viceversa. Non puoi rilasciare qualcosa sotto BSD usando il codice GPL.

Modifica:

correzione: Apache versione 2 è compatibile solo con GPL v3 ma non con GPL v2. Non ho idea di come sia interessato da quell'eccezione di collegamento.

Fonti:

http://en.wikipedia.org/wiki/List_of_FSF_approved_software_licenses
http://en.wikipedia.org/wiki/GPL#Compatibility_and_multi-licensing

Benvenuti nel pazzo mondo delle licenze e della restrizione di GPL! ... Penso che tutti siano persi in tutte queste licenze e clausole comunque.

    
risposta data 24.05.2012 - 13:11
fonte

Leggi altre domande sui tag