Come gestire, in pratica, i file di licenza quando si combinano codici su licenza GPL e BSD?


10

Sto scrivendo un codice che utilizza una libreria con licenza GPL (non LGPL) e una con la licenza BSD a 3 clausole . Dal momento che mi collego alla libreria con licenza GPL, anche il mio codice dovrà essere GPL. Come dovrei, in pratica, gestire il LICENSE.txt originale dalla libreria BSD?

(A) Posso distribuire un progetto in modo che il codice sorgente principale sia concesso in licenza GPL e quindi una sottodirectory abbia la licenza BSD?

(B) Se non dovessi solo collegarmi alle librerie, ma utilizzare e combinare il codice BSD e GPL in un modo più coinvolto, cosa fare con LICENSE.txt?

Il testo BSD a 3 clausole dice: "Le ridistribuzioni del codice sorgente devono conservare la suddetta nota sul copyright, questo elenco di condizioni e il seguente disclaimer." così apparentemente dovrei conservare da qualche parte l'avviso sul copyright e quell'elenco di condizioni. Ma poi dovrò anche mettere da qualche parte il file txt della licenza GPL.

Inoltre, apparentemente non ho bisogno di conservare la "Ridistribuzione e l'uso in formato sorgente e binario, con o senza modifiche, sono consentiti purché siano soddisfatte le seguenti condizioni:" parte del testo della licenza BSD, poiché mi dice solo di conservare le altre parti.

Quindi, come e in quali file di testo dovrei in pratica organizzare il testo della licenza GPL e le parti della licenza BSD e dei diritti d'autore che conservo?

EDIT: Quindi nel caso B, prenderei il codice con licenza BSD a 3 clausole e lo ridistribuirò sotto GPL, il che è permesso, poiché la licenza BSD a 3 clausole è (unidirezionale) compatibile con GPL . Sto solo chiedendo come gestire i testi delle licenze e i file di testo in pratica.


Questa è una cattiva idea. Una semplice ricerca web ti mostrerà il perché. Ma l'intero prodotto diventa GPL. Ci sono stati problemi con questo prima.
Andrew T Finnell,

2
@Andrew Finnell: Perché è una cattiva idea? L'intero prodotto è GPL, dal momento che un componente lo è, ma cosa c'è che non va? La libreria con licenza BSD è ancora con licenza BSD. Le persone non usano le licenze BSD a meno che non vogliano usare le loro cose da persone che vogliono usare licenze più restrittive.
David Thornley,

Risposte:


1

Per semplicità, è probabilmente meglio rilasciare tutto sotto GPL. La licenza BSD a 3 clausole non ha alcuna forma di copia a sinistra, quindi hai tutti i diritti di cambiarla, purché tu ne mantenga il preavviso.

Finirai con due tipi di file:

  • Originariamente file BSD: deve avere entrambe le intestazioni, l'ordine non è importante per quanto ne sappia, solo che sono lì
  • I tuoi file e originariamente i file GPL: devi avere l'intestazione GPL

E ovviamente per qualsiasi versione binaria dovrai includere un link al sorgente ed entrambe le intestazioni in una forma di un'altra. Consiglierei la GPL standard, seguita da "Parti di questo programma sono state originariamente rilasciate con la seguente licenza" o qualcosa del genere, è possibile trovare esempi di ciò che accade in natura se lo si cerca.

Nota che non sono un avvocato, né sono specializzato in licenze open source o licenze in generale. Sto semplicemente riferendo come sarebbe la mia interpretazione della data licenza combinata.


1

Ok, leggendo la sezione 7 di GPLv3 , è consentito "permessi aggiuntivi [che] si applicano solo a una parte del Programma" [1]. Quindi mantenere alcuni dei file o delle directory sotto la licenza BSD sembra ok, dal momento che immagino che "fare quello che vuoi" della licenza BSD sia un "permesso aggiuntivo".

Inoltre, la sezione 7 consente di "integrare i termini di questa Licenza con termini:" (segue un elenco di 6 punti del tipo di termini consentiti), e tutte le 3 clausole (+ la dichiarazione di non responsabilità) della licenza BSD sono coperte, quindi nel caso di mescolare codice BSD e GPL in un singolo file, forse avrei solo bisogno di mettere un ADDITIONAL_TERMS.txt da qualche parte, contenente le 3 clausole + disclaimer dalla licenza BSD.

(Per essere più precisi, per tutto il tempo in cui ho parlato della licenza BSD, ho inteso la licenza a 3 clausole AKA "Nuova licenza BSD" AKA "Licenza BSD modificata", a cui ho collegato la mia domanda.)

[1] Finché un destinatario del programma sarebbe autorizzato a rimuovere le autorizzazioni aggiuntive se ridistribuisce ulteriormente. E la licenza BSD lo consente.


-1

Questo semplicemente non è possibile in base a molteplici interpretazioni delle condizioni di licenza.

gnu.org dice per la versione 2:

Perché impone un requisito specifico che non è nella GPL; vale a dire, il requisito sugli annunci pubblicitari del programma. La GPL afferma:

Non è possibile imporre ulteriori restrizioni all'esercizio da parte dei destinatari dei diritti qui concessi.

La clausola pubblicitaria prevede solo un'ulteriore limitazione e pertanto è incompatibile con GPL.

La licenza BSD rivista non ha la clausola pubblicitaria, che elimina il problema.

e per GPL v3 :

Perché la licenza BSD originale non è compatibile con la GPL? (#OrigBSD)

Perché impone un requisito specifico che non è nella GPL; vale a dire, il requisito sugli annunci pubblicitari del programma. La sezione 6 di GPLv2 afferma:

Non è possibile imporre ulteriori restrizioni all'esercizio da parte dei destinatari dei diritti qui concessi.

GPLv3 dice qualcosa di simile nella sezione 10. La clausola pubblicitaria prevede solo un'ulteriore limitazione e quindi è incompatibile con GPL.

La licenza BSD rivista non ha la clausola pubblicitaria, che elimina il problema.

Altri avvocati / giudici, ovviamente, potrebbero avere opinioni diverse.


1
Sei sicuro di non parlare della licenza BSD a 4 clausole? "Né il nome dell '<organizzazione> né i nomi dei suoi collaboratori possono essere utilizzati per avallare o promuovere prodotti derivati ​​da questo software senza previa autorizzazione scritta." non si riferisce alla pubblicità in qualsiasi forma o forma, ed è in realtà correlata al marchio dell'organizzazione, non al copyright del codice sorgente.
Guvante,

1
Infatti! Ero confuso (di nuovo) riguardo alle diverse revisioni!
johannes,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.