Riscritto il codice GNU GPL v2 in un'altra lingua: posso cambiare una licenza?


11

Ho riscritto alcune parti di Mercurial (che è concesso in licenza sotto GNU GPL v2) in C #. Naturalmente, ho studiato molto il codice Python originale e alcune parti sono traduzioni dirette da Python a C #.

È possibile avere il "mio codice" concesso in licenza in base a termini diversi o persino far parte di un'applicazione commerciale a codice chiuso? In caso contrario, posso concedere nuovamente in licenza "my-code" sotto LGPL, open-source e quindi utilizzare questa libreria C # di provenienza aperta nella mia applicazione commerciale di origine chiusa?


3
Se hai lavorato dal codice originale (anziché reimplementarlo dai protocolli e dai documenti), potrebbe rientrare nel regno del "lavoro derivato", nel qual caso potrebbe ancora rientrare nella licenza originale. Parla con un avvocato.

@MichaelT L'uso dei documenti e dei protocolli di reverse engineering non sarebbe anch'esso un "lavoro derivato"?
Anton Gogolev il

3
non necessariamente. L'opera derivata prende l'originale e lo trasforma in un'altra forma. Con i media più tradizionali, un dipinto è protetto da copyright, una fotografia del dipinto è un'opera derivata. Se fatto correttamente, un reverse engineering di camera bianca evita questo. Vedi anche Quali sono i problemi di copyright e licenze del codice di porting? da SO.

INAL, ma solo la traduzione automatica del codice AFAIK è coperta da copyright.
vartec,

1
@vartec Qualche prova per questo?
Anton Gogolev,

Risposte:


17

Il testo della licenza copre specificamente le traduzioni, quindi no, non saresti in grado di riconsacrarlo.

Il "Programma", di seguito, si riferisce a tale programma o lavoro, e un "lavoro basato sul Programma" indica il Programma o qualsiasi lavoro derivato ai sensi della legge sul copyright: vale a dire, un lavoro contenente il Programma o una parte di esso, alla lettera o con modifiche e / o tradotto in un'altra lingua.


1
IANAL ma immagino che "Tradotto in un'altra lingua" in questo contesto non si riferisca a un altro linguaggio di programmazione. La legge sul copyright protegge solo l' espressione esatta di un'idea, non l'idea stessa.
Onorio Catenacci il

2
@Onorio: GPL non è un copyright, è una licenza.
Mason Wheeler,

5
@OnorioCatenacci questo è uno di quei casi in cui il "linguaggio" diventa un po 'appiccicoso. La frase chiave è "lavoro derivato", che l'OP ha sicuramente creato. GPL consente espressamente la creazione di lavoro derivato (ovvero "Free ..."), ma le restrizioni di licenza originali si applicano ancora al derivato. GPL consente una nuova licenza (plug spudorato, vedi la mia risposta). Questa è più una domanda sulla licenza rispetto al copyright.

@MasonWheeler "indica il Programma o qualsiasi lavoro derivato ai sensi della legge sul copyright" - ancora una volta, non un avvocato, ma ciò sembra dire che il copyright sarebbe coinvolto in qualche modo.
Onorio Catenacci,

1
@MasonWheeler "GPL non è un copyright, è una licenza." Ti andrebbe di spiegarlo? Tutto ciò che una licenza può fare è concederti determinati diritti su un'opera protetta da copyright. Se (grande se) il copyright della nuova opera non può essere rivendicato dai detentori del copyright delle opere originali, la licenza non si applica.
Jaydee,

3

Basato su:
http://www.gnu.org/licenses/gpl-faq.html#AllCompatibility

Dovresti essere d'accordo con il secondo scenario che hai interpretato.

Le parti copiate rimangono sotto GPLv2, ma l'intera libreria può essere rilasciata come LGPL v2.1 o successiva. È quindi possibile collegare il codice sorgente chiuso a quella libreria secondo i termini della LGPL.

Come sempre, fai qualche ricerca e assicurati di capire quali sono le restrizioni.


4
Sicuramente no. Pensaci: la GPL non avrebbe alcun senso se fosse così. Puoi semplicemente prendere qualsiasi codice GPL v2 e passare a LGPL. Ciò renderebbe superflua la GPL. Dai un'occhiata al documento fine: "LGPLv2.1 ti dà il permesso di riconsegnare il codice in qualsiasi versione della GPL (non LGPL) da GPLv2. Se in questo caso puoi cambiare il codice LGPLed in una versione appropriata della GPL (come indicato nella tabella), puoi creare questa combinazione ". Ciò significa solo che è legale cambiare la tua libreria LGPL in GPL, ma non viceversa. Il che ha di nuovo senso.
Quandary
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.