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.