Progetto GPLv3 con libreria BSD

4

Sto lavorando a un progetto Python che voglio rilasciare sotto la licenza GPL3. Questo progetto ha un file che utilizza la libreria lxml BSD.

Ho davvero bisogno di mettere riferimento alla licenza BSD nel file in cui utilizzo la libreria? O solo la GPLv3 del mio progetto copre le restrizioni delle licenze.

Libreria: link licenze: link http://www.gnu.org/licenses/gpl.txt

[Modifica]

Penso che stiamo fraintendendo

Non inserirò il codice sorgente della libreria lxml sul mio progetto. Metterò il riferimento per le funzioni della biblioteca. Se qualcuno vuole usare il mio progetto, deve scaricare separatamente la libreria lxml.

import lxml

# do stuff with lxml...
# do stuff
# my code

È necessario mettere la licenza della libreria solo se distribuisco il codice sorgente lxml con il mio progetto. Ho ragione?

    
posta Ramon Brito 28.12.2012 - 20:04
fonte

2 risposte

4

No, probabilmente non è necessario inserire il riferimento BSD nella libreria, ma è necessario.

Quando si ri-rilascia il componente BSD all'interno del proprio pacchetto GPLv3 si sta ri-licenziando anche il componente BSD. A quel punto, l'unico testo di licenza richiesto è quello GPLv3.

La licenza GPLv3 contiene clausole uguali o simili alla licenza BSD. In particolare, la sezione 4 richiede il mantenimento delle note sul copyright. Le sezioni 15, 16 e 17 gestiscono il disclaimer della garanzia. E la sezione "Come applicare questi termini" entra nei dettagli sulla propagazione delle condizioni della licenza.

Tuttavia, a titolo di cortesia per gli autori originali sul componente con licenza BSD, è necessario fornire la piena attribuzione e una copia della licenza BSD. In pratica stai dicendo "Se vuoi usare questo componente dalla mia distribuzione, allora è sotto GPLv3.Tuttavia, puoi accedere a questo componente dalla sua origine sotto una licenza BSD."

Alcuni punti supplementari.

It means that the other license and the GNU GPL are compatible; you can combine code 
released under the other license with code released under the GNU GPL in one larger 
program.

All GNU GPL versions permit such combinations privately; they also permit distribution 
of such combinations provided the combination is released under the same GNU GPL 
version. The other license is compatible with the GPL if it permits this too.

L'ultima frase ( The other license is compatible... ) nella sezione citata insieme alla precedente clausola di combinazione ( they also permit distribution... ) è la tua autorizzazione (e requisito) per distribuire la combinazione del tuo progetto + lxml come GPLv3.

La licenza BSD (senza clausola pubblicitaria) è presente nell'elenco delle licenze compatibili di FSF. In particolare qui . Questa è la stessa licenza utilizzata dal team lxml.

  • Se fornisci una copia del sorgente lxml è una specie di punto controverso.

Il tuo programma non funzionerà senza il loro programma, quindi non puoi davvero trascinarti a trascinare il loro programma nel tuo da un punto di vista delle licenze per quanto riguarda la GPL. È un trucco di elusione "noto" che non è permesso. Fortunatamente, le licenze sono compatibili. Poiché si sceglie di rilasciare sotto GPLv3, si sta rilociando in licenza il progetto lxml come espresso / istanziato nel progetto. In sostanza, hai biforcato la licenza su lxml ma solo all'interno del tuo progetto.

Il team lxml può continuare ad aggiornare e rilasciare il proprio codice sotto BSD modificato, ma l'istanziazione che usi e qualsiasi modifica apportata al tuo progetto è considerata come GPLv3. Nota che potresti comunque contribuire direttamente a lxml e poi rilasciare il tuo contributo come BSD. Ma non puoi farlo attraverso il tuo progetto GPL.

    
risposta data 29.12.2012 - 00:17
fonte
0

Hai un problema. Per concedere in licenza il tuo progetto come licenza GPLv3, è necessario che la licenza si applichi a tutte le parti del "lavoro". (vedere la sezione 5.c nella licenza GPLv3 per il testo esatto.), e non si ha il diritto di rilasciare la libreria lxml sotto i termini GPLv3.

Per risolvere questo problema, puoi scrivere un'implementazione "dal primo principio" di parsing xml in python che hai quindi il diritto di concedere licenze come GPLv3, o avvicinarti agli autori di lxml e chiedere se sono pronti a concederti una licenza per una versione di lxml sotto GPLv3.

    
risposta data 29.12.2012 - 10:05
fonte

Leggi altre domande sui tag