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

10

Scrivo codice che utilizza una libreria con licenza GPL (non LGPL) e una con Licenza BSD a 3 clausole . Dal momento che collego alla libreria con licenza GPL, il mio codice dovrà essere GPL. Come dovrei, in pratica, trattare il LICENSE.txt originale dalla libreria BSD?

(A) Posso distribuire un progetto in modo che il codice sorgente principale sia concesso in licenza con licenza GPL, e quindi alcune sottodirectory sono con licenza BSD?

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

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

Inoltre, apparentemente non ho bisogno di mantenere la "Ridistribuzione e l'uso in forma sorgente e binaria, con o senza modifiche, sono permessi purché siano soddisfatte le seguenti condizioni:" parte del testo della licenza BSD, poiché solo mi dice 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 codice licenza BSD a 3 clausole e ridistribuirlo sotto GPL, che è permesso, poiché la licenza BSD a 3 clausole è (a senso unico) compatibile con GPL . Sto solo chiedendo come gestire i testi delle licenze e i file di testo nella pratica.

    
posta Sampo Smolander 24.07.2012 - 14:38
fonte

3 risposte

1

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

Inoltre, la sezione 7 consente di "integrare i termini della presente Licenza con i termini:" (segue un elenco di 6 tipi di termini consentiti) e sono incluse tutte le 3 clausole (+ la dichiarazione di non responsabilità) della licenza BSD, quindi, in caso di missaggio di codice BSD e GPL in un singolo file, forse dovrei semplicemente inserire un ADDITIONAL_TERMS.txt da qualche parte, contenente le 3 clausole + disclaimer della licenza BSD.

(Per essere più preciso, per tutto il tempo in cui ho parlato della licenza BSD, ho inteso la licenza di 3 clausole AKA "New BSD License" AKA "Modified BSD License", che ho collegato alla mia domanda. )

[1] Purché un destinatario del programma possa rimuovere le autorizzazioni aggiuntive se redistribuisce ulteriormente. E la licenza BSD lo consente.

    
risposta data 25.07.2012 - 20:24
fonte
1

Per semplicità, è probabilmente meglio rilasciare l'intera cosa sotto GPL. La licenza BSD a 3 clausole non ha alcuna forma di copia-sinistra, quindi sei perfettamente nei tuoi diritti di rebranding, purché tu mantenga la sua notifica.

Finirai con due tipi di file:

  • File BSD originariamente: ha bisogno di avere entrambe le intestazioni, l'ordine non è importante per la mia conoscenza, solo che sono lì
  • I tuoi file e i file GPL originali: devono avere l'intestazione GPL

E ovviamente per qualsiasi versione binaria dovrai includere un link alla fonte e 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, è probabile che tu possa trovare esempi di ciò che accade in natura se lo cerchi.

Nota che non sono un avvocato, né sono specializzato in licenze open source o in generale in licenze. Sto semplicemente trasmettendo quale sarebbe stata la mia interpretazione della combinazione di licenze fornita.

    
risposta data 24.07.2012 - 20:33
fonte
-1

Questo semplicemente non è possibile in base a più interpretazioni dei termini della licenza.

gnu.org dice per la versione 2:

Because it imposes a specific requirement that is not in the GPL; namely, the requirement on advertisements of the program. The GPL states:

You may not impose any further restrictions on the recipients' exercise of the rights granted herein.

The advertising clause provides just such a further restriction, and thus is GPL-incompatible.

The revised BSD license does not have the advertising clause, which eliminates the problem.

e per GPL v3 :

Why is the original BSD license incompatible with the GPL? (#OrigBSD)

Because it imposes a specific requirement that is not in the GPL; namely, the requirement on advertisements of the program. Section 6 of GPLv2 states:

You may not impose any further restrictions on the recipients' exercise of the rights granted herein.

GPLv3 says something similar in section 10. The advertising clause provides just such a further restriction, and thus is GPL-incompatible.

The revised BSD license does not have the advertising clause, which eliminates the problem.

Gli altri avvocati / giudici, ovviamente, potrebbero avere opinioni diverse.

    
risposta data 24.07.2012 - 20:45
fonte

Leggi altre domande sui tag