Relicense codice BSD 2/3-clausola a GPL


11

Supponiamo che rilasci del codice sorgente con la nuova licenza BSD. È consentito a qualcun altro prendere questo codice, modificarlo e distribuirlo secondo i termini della GPL? Da Wikipedia :

Molte delle più comuni licenze di software libero, come la licenza MIT / X originale, le licenze BSD (nell'attuale modulo a 2 clausole) e la LGPL, sono "compatibili GPL". Cioè, il loro codice può essere combinato con un programma nell'ambito della GPL senza conflitti (la nuova combinazione avrebbe la GPL applicata all'intero). Tuttavia, alcune licenze software gratuite / open source non sono compatibili con GPL.

Suppongo che ciò implichi che si può riconsegnare il codice con licenza new-BSD a GPL?


Ho fatto una domanda simile su Open Stack Stack Exchange: opensource.stackexchange.com/questions/4837/… Credo che non abbiamo ancora trovato una risposta definitiva; abbiamo solo una dozzina di ipotesi. Sarebbe bello avere notizie di un vero avvocato, o forse anche della stessa FSF.
Tanner Swett,

Risposte:


8

Questa è una domanda interessante. Disclaimer: IANAL.

Il frammento citato indica che il codice con licenza BSD può essere utilizzato in un progetto con licenza GPL.

D'altra parte, sei ancora il detentore del copyright del tuo codice. La licenza del codice originale non può essere modificata senza la tua autorizzazione. Anche la licenza BSD richiede esplicitamente:

  • Le ridistribuzioni del codice sorgente devono conservare la suddetta nota sul copyright, questo elenco di condizioni e la seguente dichiarazione di non responsabilità.
  • Le ridistribuzioni in forma binaria devono riprodurre la suddetta nota sul copyright, questo elenco di condizioni e la seguente dichiarazione di non responsabilità nella documentazione e / o in altri materiali forniti con la distribuzione.

Pertanto, la licenza BSD non può essere rimossa dal codice.

Per poter effettivamente rilasciare il codice combinato sotto GPL, altri autori dovrebbero dare "un contributo significativo" al codice. È vago cosa significhi esattamente, ma di solito dovrebbe significare almeno aggiungere nuove funzionalità significative, non solo patch minori.

Situazione simile: SFLC completa la revisione del driver wireless Atheros per Linux, Guida alle versioni per sviluppatori .

Domanda correlata su SO: /programming/821608/relicensing-a-bsd-library


Quindi le condizioni BSD devono essere mantenute. Questo è chiaro Ma è possibile aggiungere ulteriori condizioni all'elenco, ad esempio una clausola simile a GPL per rendere le tue modifiche disponibili per gli altri?
Brecht Machiels,

1
@Brecht: se e solo se si tratta di qualcosa di nuovo che rientra nel lavoro separato protetto da copyright. Se si tratta di un piccolo cambiamento o adattamento, non è un lavoro separato, quindi non è possibile concedere nuovamente la licenza.
vartec,

6

Nella mia esperienza, no, non "autorizzi nuovamente" qualcosa perché non sei il proprietario del copyright. Hai solo una licenza degli autori originali.

Quello che puoi fare è usare l'opera protetta da copyright in un'opera derivata, ma devi seguire i termini della licenza, che nel caso di BSD / MIT, afferma che devi conservare le informazioni sul copyright e la licenza sul codice che usi .

In pratica, se qualcuno dovesse usare la tua libreria BSD in un'applicazione GPL, ciò che vedresti nella sua applicazione è:

  • Una copia della licenza GPL in un file di testo
  • Un file separato che afferma che l'intero programma è concesso in licenza in base alla GPL (e che li indirizza al file di licenza GPL per i dettagli), ma ha sezioni separate sotto l'intestazione che dice "la libreria XYZ è concessa in licenza con la licenza BSD" e quindi mostra il licenza di XYZ anche lì. Ecco un esempio di questo tipo di file, da un'applicazione GPL che ho scritto .

Se qualcuno prendesse uno snippet di codice o un file dal tuo lavoro e lo includesse nella sua applicazione GPL e poi lo modificasse, probabilmente vedresti che includono sia l'intestazione GPL che BSD nel file. Il file avrebbe essenzialmente due autori: tu e loro. Dovrebbero essere mostrati entrambi gli avvisi di copyright.

Ricorda, GPL è virale, quindi si applica a tutto il lavoro, ma BSD / MIT si applica solo al codice esatto che qualcuno ha scritto.


1
presumibilmente puoi riconsegnare un'opera la cui licenza lo consente, anche se non sei il detentore del copyright originale. Il BSD sembra consentire questo.
Armand,

2

Disclaimer: IANAL.

Non ci sono divieti nelle licenze MIT o BSD contro il rilascio di licenze. Dato che né le licenze MIT né BSD aggiungono restrizioni oltre a quanto già presente nella GPL (i bit di copyright e di garanzia sono già nella clausola 1 dei Termini e condizioni di GPLv2), non vedo alcun problema con il fork e il rilascio di licenze di un progetto con licenza MIT.

La vecchia licenza BSD aveva una clausola pubblicitaria che non funzionava bene con GPL.


2
Non sono neanche un avvocato, ma penso che questa potrebbe essere una disinformazione. Solo i detentori del copyright possono rivendicare un'opera protetta da copyright. Il motivo per cui BSD è compatibile con GPL è che il codice con licenza BSD può essere utilizzato in un lavoro GPL, ma il codice BSD originale è ancora concesso in licenza con BSD. Come parte del lavoro derivato, è anche concesso in licenza in base alla GPL, ma è necessario mantenere intatta la licenza originale.
Scott Whitlock,

3
@Scott BSD afferma che è necessario conservare le clausole del BSD. Non limita tuttavia l'aggiunta ad essi, quindi forse questa è un'interpretazione ragionevole
Armand,

2
opensource.org/licenses/mit-license.php afferma esplicitamente che chiunque ottenga una copia del codice può concedere in licenza il software.
Frank Shearar,

2

Scusa ma molti di voi hanno torto.

Le licenze e la proprietà sono due cose diverse. Non puoi ripetere la licenza di qualcosa che non possiedi. Non è una tua decisione da prendere.

Il proprietario è il detentore del copyright, non tu. Pertanto, non è possibile autorizzare nuovamente il loro lavoro. Poiché non possiedi il loro lavoro, lo stai solo concedendo in licenza. Cioè, il proprietario ti consente di usarlo. Non ti dà la proprietà.

Sarà ridicolo pensare, ad esempio, che l'autore originale (o CHIUNQUE abbia ottenuto il codice BSD) debba seguire la GPL per usare il codice originale solo perché hai deciso di usare IL LORO CODICE su un progetto GPL.

Tuttavia, puoi concedere in licenza il tuo codice GPL TUO. E poi, QUELLA PARTE, non quella originale, è sotto licenza GPL. Poiché l'autore originale non ha inserito il lavoro su GPL e poiché stai SOLO concedendo licenze e NON DOVENDO il lavoro originale.

Puoi usare il codice con licenza BSD sul tuo codice GPL (poiché BSD te lo consente, purché tu segua i termini BSD e uno NON DEVE RIMUOVERE la licenza dalle copie), ma non puoi semplicemente ripetere la licenza del tutto, come non lo possiedi. Ancora una volta, non è una tua decisione da prendere. Se tuttavia si desidera utilizzare un codice GPL di terze parti con codice BSD. Quindi il problema sarà conforme alla parte GPL.


1
Credo che la dichiarazione sopra "Non è possibile ottenere nuovamente la licenza di qualcosa che non si possiede" non è corretta, molte licenze concedono il diritto di concedere in licenza opere protette da copyright. A volte le sovvenzioni in sub-licenza limitano ulteriormente quali diritti possono essere concessi in base alla sub-licenza, ma non sempre. Le specifiche dipendono dalla situazione e dal fatto che ti sia stato concesso il diritto di farlo.
Cameron,

Inoltre, se includi la licenza BSD nelle tue copie, significa che il codice è ancora BSD e non può essere sotto GPL allo stesso tempo.
Warvariuc,
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.