Come si evita la GPL?


24

DISCLAIMER Non pretendo di sapere nulla sulle licenze. In effetti, tutto ciò che dico di seguito potrebbe essere completamente falso!

backstory:

Di recente, ho cercato un motore di gioco decente e penso di averne trovato uno che mi piace molto, Cafu Engine .

Tuttavia, hanno un doppio piano di licenze, in cui tutto ciò che fai con il motore è forzato sotto GPL, a meno che non paghi per una licenza commerciale. Non sto dicendo che è un cattivo motore, dicono anche che sono molto rilassati riguardo alle tasse di licenza. Tuttavia, il fatto che coinvolga anche la GPL mi spaventa.

Quindi la mia domanda è fondamentalmente, come si evita la GPL.

Ecco un esempio: il motore id Tech, noto anche come motore Quake o Doom, era la base del popolare motore Source. Tuttavia, il motore ID Tech è stato rilasciato sotto licenza GPL e il motore Source è proprietario. Valve ha ottenuto una licenza diversa? O hanno fatto qualcosa per sfuggire alla GPL? C'è un modo per sfuggire alla GPL? Oppure, se usi il codice sorgente di GPL come base per un altro progetto, sei costretto a usare la GPL e rendere il tuo codice sorgente disponibile al mondo. Qualcuno potrebbe prendere il motore id Tech, modificarlo oltre il punto di riconoscimento, quindi utilizzarlo come motore proprietario per prodotti commerciali? O sono tenuti a renderlo open source.

Un'ultima cosa, generalmente non ho nessun problema con l'open source. Tuttavia, sento che l'open source ha il suo posto, ma non è nel mondo folto.


3
Hai risposto alla tua domanda con il preventivo che hai fornito. Inoltre, Source (HL2) non era basato su Quake. Stai pensando a GoldSrc (HL1).
Justin Skiles,

È un peccato che questo sia stato votato perché la domanda è chiaramente rispondibile e ha diverse risposte accurate.
Kylotan,

1
Chiedi al tuo avvocato, e in tal caso chiedi all'azienda che produce il motore, ma a quanto ho capito per i motori di gioco, la GPL può applicare solo al codice e alle eventuali modifiche apportate ad esso, e non alle altre tue risorse [come le mappe , suoni, arte e così via]. Perché non è accettabile per te?
Casuale 832

1
Potresti anche chiedere come rubare il codice sorgente da Microsoft e cavartelo. Hai solo due opzioni e due opzioni: gioca secondo le regole che il proprietario del codice stipula con le sue licenze e / o commissioni, o vai a usare qualcos'altro.
Sean Middleditch,

1
"Comunque sento che l'open source ha il suo posto, ma questo non è nel mondo folto." Ma pensi che usare il codice di qualcuno e non pagare la licenza commerciale o accettare i termini dell'alternativa abbia il suo posto nel mondo degli affari? Questo non è tanto un affare quanto un furto. Non che questo non è happenened nel mondo degli affari abbastanza spesso ... - Sembra come se davvero non vuole open source (comprensibilmente) dal punto di vista del programmatore, ma hanno un'avversione piuttosto dogmatica contro di essa dal punto di vista monetario . Bene, queste visualizzazioni non sono compatibili.
lasciato circa il

Risposte:


28
  1. Se detieni il copyright sul codice sorgente, puoi rilasciare quel codice come preferisci. Rilasciarlo sotto licenza GPL non preclude un rilascio con un'altra licenza non ancora più restrittiva. Non sono sicuro dei dettagli di Source / id Tech, ma suppongo che Valve abbia negoziato la propria licenza.

  2. Se usi il codice GPL nel tuo progetto, devi fornire il codice sorgente agli utenti. Ciò non significa che è necessario eseguire un sito Web o conservarne una copia per fornire su richiesta. Ciò non significa che è necessario rendere pubbliche tutte le modifiche non appena vengono apportate: è solo quando si ridistribuisce il software, che il codice e le modifiche apportate sono compatibili. ( http://www.gnu.org/licenses/gpl-faq.html#GPLRequireSourcePostedPublic )

  3. Se usi anche una riga di codice GPL nel tuo progetto, ora sei vincolato dai termini della GPL. Uno (anche se non l'unico modo) è di rilasciare anche il tuo codice sotto GPL (o non rilasciarlo affatto).
    Se lo modifichi oltre il punto di riconoscimento e non rispetti i termini, probabilmente te ne andrai via (cioè non verrai citato in giudizio) ma solo perché te ne andrai via non significa che non sei " in violazione della licenza o renderla corretta.

  4. Per utilizzare il "codice GPL'd" senza GPL devi ottenerlo con un'altra licenza, in modo che non sia più "codice GPL'd" (pagando Cafu). La GPL non ha via d'uscita: è stata progettata specificamente per essere una licenza virale dai suoi inventori e il suo scopo sarebbe negato se fosse possibile.

Detto questo, se si desidera utilizzare il codice GPL nel proprio programma, è possibile creare un'entità autonoma utilizzata dall'applicazione (se il collegamento dinamico soddisfa questo è discutibile - ma generalmente si accetta che quando il risultato è un singolo programma, viene richiamata la GPL ). Ad esempio, potresti creare un nuovo progetto con il codice GPL e il tuo, che rilasci con la tua applicazione (proprietaria), insieme alla GPL e al codice sorgente. L'applicazione comunica comunque tramite CLI o RPC e pertanto può rimanere libera dalla GPL.

Oggi molti sviluppatori adottano LGPL, che consente il collegamento nella maggior parte delle sue forme senza che GPL venga trasferito al progetto di destinazione. (Se modifichi comunque la libreria stessa, devi comunque fornire il codice della libreria.)

Si noti che oltre al punto 2, è considerato educato pubblicare eventuali miglioramenti apportati al codice open source, indipendentemente dalla licenza.


9
Se usi anche una riga di codice GPL nel tuo progetto, il tuo progetto è ora sotto licenza GPL. No. Se usi una riga di codice GPL, il tuo progetto non rispetta la licenza GPL e chiunque abbia scritto quella riga può farti causa. Un possibile rimedio è rilasciare il tuo progetto sotto GPL, ma ciò non avviene automaticamente.
TRiG

3
(Questo non ti impedisce di venderlo o di rilasciarlo con una licenza meno restrittiva in aggiunta alla GPL ...) Sì, lo fa. Se rilascio il codice sotto GPL, qualcun altro non può venire e mettere lo stesso codice in (diciamo) di dominio pubblico. Possiedo ancora quel codice; L'ho messo a disposizione degli altri solo alle condizioni della GPL.
Evan Harper,

4
Nonostante alcune inesattezze minori, +1 perché menziona la soluzione più ovvia, più semplice, più rapida e ampiamente accessibile: per utilizzare il "codice GPL'd" senza GPL devi ottenerlo con un'altra licenza . Contatta i detentori del copyright, negozia una licenza diversa. Questo ovviamente funziona anche con qualsiasi altra licenza.
Martin Sojka,

11
Questa risposta e tutti i commenti mancano di una condizione importante: le condizioni GPL si applicano alla distribuzione , non all'uso . Se usi un migliaio di righe di codice GPL nei tuoi strumenti interni (che non distribuisci), allora non sei vincolato dai termini GPL.
Saluti

1
"probabilmente te ne andrai via". Hmmm Adoro quella sensazione calda e sfocata che provo da questa risposta.
Trevor Boyd Smith,

64

Fuggi dalla GPL pagando agli sviluppatori una licenza commerciale.


27
+1, penso che il Capitano Ovvio non sia in qualche modo registrato su StackExchange :)
Teodron,

1
+1, anche se per essere più precisi, hai il permesso di usare il codice senza GPL. Non significa necessariamente che devi pagare (anche se spesso lo farà).
Kylotan,

non proprio, lo stai dicendo come se ci fosse sempre un'alternativa commerciale per ogni licenza GPL sulla terra; dipende da quale sia la strategia del proprietario di quel codice.
user827992

4
Direi "Scappi dalla GPL pagando agli sviluppatori una licenza commerciale, dando loro una quota adeguata dei soldi che speri di fare come ricompensa per i molti anni di sforzi che hanno messo per iscritto".
DJClayworth,

1
Quasi "Fuggi dalla GPL pagando agli sviluppatori una copia del codice che non ha ingombro GPL (qualcosa come il MIT)."
Jonathan Dickinson,

10

In pratica stai chiedendo "Come rubare il codice di qualcun altro?" Se si desidera utilizzare il codice protetto da copyright di qualcuno, è necessario ottenere una licenza da parte sua. Se l'unica licenza che hai da loro per usare il loro codice è la GPL, devi rispettarla o stai violando il loro copyright. Se riesci a farti dare una licenza diversa per il loro codice, allora va bene, ma non sfuggirai alla GPL.


3
-1. Sfuggi alla GPL: perché ti danno una licenza completamente diversa. Nemmeno tu stai rubando il loro codice - se segui i passaggi che ti chiedono (es. Pagando denaro).
Jonathan Dickinson,

5
No, in tal caso l'uso del loro codice non ha assolutamente nulla a che fare con la GPL. La fuga implica essere intrappolati da qualcosa.
Jason Goemaat,

@JonathanDickinson Penso che il suo punto qui sia che l'OP non sembra voler pagare per una licenza. Vuole ottenerlo gratuitamente, ma senza le restrizioni GPL.
Paul,

Questo mi ha fatto gravitare verso l'ingombro (invece di rubare) "Tuttavia, il fatto che coinvolga anche la GPL mi spaventa". Sembra più la paura (ben fondata) del banner GPL che incombe sul codice.
Jonathan Dickinson,

2
@Jonathan. L'OP afferma che zie non sa nulla delle licenze, quindi sospetto che la sua paura della GPL non sia "fondata".
TRiG

8

Hai davvero bisogno di sfuggire alla GPL? Tutto ciò che la GPL richiede di fare è rilasciare il proprio codice sorgente sotto la GPL. Non si applica ai livelli di gioco, alle risorse artistiche, ecc. Puoi comunque vendere il tuo gioco e rendere il codice disponibile tramite GPL alle persone che lo acquistano se lo desiderano, o renderlo disponibile online a tutti.

L'unico problema è se si desidera utilizzare librerie di terze parti non GPL, in quanto non sarà possibile distribuirle insieme al proprio motore GPL.

Se hai bisogno di sfuggire alla GPL, dai un'occhiata alla loro pagina di licenze che sembra abbastanza flessibile da poter essere in grado di raggiungere un accordo.


Sono d'accordo con questa risposta, soprattutto perché la maggior parte delle persone non aggiunge davvero molto valore aggiunto quando si utilizza un motore. Sono gli altri beni che sono davvero dove il valore è.
Paul,

5

Ci sono molti fraintendimenti su cosa sia effettivamente e cosa significhi la GPL, e ne sto rilevando uno nella tua domanda:

tutto ciò che fai con il motore è forzato sotto GPL

In realtà non è affatto così. La fonte del motore rimane sicuramente sotto la GPL, ma vale la pena leggere le FAQ di GPL, in particolare le parti relative all'output di un programma GPL, che credo siano rilevanti qui: http: // www. gnu.org/licenses/gpl-faq.html#GPLOutput

C'è un modo in cui posso GPL l'output che le persone ottengono dall'uso del mio programma? Ad esempio, se il mio programma viene utilizzato per sviluppare progetti hardware, posso richiedere che questi progetti siano gratuiti?

In generale ciò è giuridicamente impossibile; la legge sul copyright non ti dice nulla sull'uso dell'output che le persone fanno dai loro dati usando il tuo programma. Se l'utente utilizza il programma per inserire o convertire i propri dati, il copyright sull'output appartiene a lui, non a te. Più in generale, quando un programma traduce il suo input in un'altra forma, lo stato del copyright dell'output eredita quello dell'input da cui è stato generato.

Quindi l'unico modo per dire qualcosa nell'uso dell'output è se parti sostanziali dell'output vengono copiate (più o meno) dal testo nel tuo programma. Ad esempio, parte dell'output di Bison (vedi sopra) sarebbe coperto dalla GNU GPL, se non avessimo fatto un'eccezione in questo caso specifico.

È possibile fare in modo che un programma copi artificialmente un determinato testo nel suo output anche se non vi sono motivi tecnici per farlo. Ma se quel testo copiato non ha uno scopo pratico, l'utente può semplicemente eliminare quel testo dall'output e usare solo il resto. Quindi non avrebbe dovuto obbedire alle condizioni di ridistribuzione del testo copiato.

Questo cambia un po 'la tua situazione. In realtà non sei in una posizione in cui qualsiasi contenuto sviluppato per o con questo motore rientri anche nella GPL; quel contenuto è tuo, sei il proprietario del copyright e puoi concederlo in licenza come desideri.

IANAL, ecc


2
Non so nulla del motore specifico, ma quanto sopra è vero solo se il motore prende i tuoi progetti di gioco e di conseguenza produce un gioco autonomo. Se il motore stesso, o parte di esso, viene distribuito con il gioco, o collegato al codice del gioco, la GPL si applica a tutto.
rjmunro,

Credo che sia abbastanza possibile che un motore sia GPL, ma i contenuti di gioco non lo sono. Il contenuto del gioco non è un codice e non viene "collegato al" motore allo stesso modo del codice; mappe, trame, modelli, ecc. non vengono collegati al motore in questo modo. Sfortunatamente le FAQ di GPL non sono chiare su questo (che è un motivo valido per evitare di usare la GPL).
Maximus Minimus,

Questa risposta descrive di più cosa succede con i contenuti prodotti con alcuni strumenti GPL. Come un documento scritto in un editor di testo GPL, non sarà costretto a essere GPL. Ma questo non può essere tradotto in un motore di gioco. Un motore di gioco non prende il codice e produce un gioco autonomo senza alcuna relazione con il motore: includerai tutto il motore nel tuo gioco.
Matsemann,

4

Solo la persona, il gruppo di persone o l'attività che possiede il codice possono modificare la propria licenza.

Se quel codice è tuo puoi cambiare la licenza ogni volta che vuoi, decidere di essere pagato o no, puoi fare quello che vuoi, ma se il codice non è tuo rimani con la licenza se vuoi evitare problemi; grossi problemi.

Il proprietario può anche rifiutare di accettare di essere pagato, è una situazione come quella che hai con i brevetti, se puoi dimostrare di possedere il codice non significa che lo stai immettendo sul mercato per soldi, molti molti volte il brevetto o la licenza dovrebbero forzare il mercato o l'utente a rimanere in uno spazio limitato.

La risposta è no e l'unico modo per cambiare la licenza è sperare che il proprietario lo faccia.


Abbastanza buono come una risposta generale - tuttavia in questo caso è evidente che accettano pagamenti per copie del codice con una licenza diversa. +1 (do anche risposte più generali :)).
Jonathan Dickinson,

4

L'idea è semplice: se la società ha scritto il codice, possiede quindi tutti i diritti e quindi può darlo ad alcune parti sotto licenza GPL, ad altri sotto licenza commerciale e a qualcun altro che possono offrirlo come regalo, oppure affitto, o qualunque cosa vogliano.

Il fatto che abbiano fornito il codice a una parte sotto GPL, pone restrizioni GPL a quella parte , ma non può porre restrizioni al proprietario del codice .

Solo, se il proprietario del codice utilizzava nel proprio software un codice GPL di terze parti , scritto e di proprietà di qualcun altro, il suo intero progetto è bloccato in GPL per sempre (o fino a quando non rimuovono questo codice GPL di terze parti o ottengono un codice non- Licenza GPL per questo). Si noti che lo stesso vale per il no-GPL, motore commerciale al 100% - se si verificano includendo un codice GPL, violano GPL, non hanno il diritto di vendere licenze commerciali e non hai il diritto di acquistare tale licenza.

Pertanto, se tutto il codice nel "Cafu Engine" è scritto dallo staff di Cafu, non si hanno problemi con la GPL. Se ottieni una licenza commerciale da Cafu, la licenza GPL non si applica affatto a te .


Questa risposta è buona, tranne che sembra presumere che il poster originale faccia parte dello staff di Cafu e possieda il codice, che non sembra essere il caso.
Kylotan,

Ho fatto non scontato che. Mi chiedo cosa ti abbia fatto pensare così.
Sandman4,

Il tuo ultimo paragrafo lo dice praticamente, perché identifica lo "staff di Cafu" con "Tu".
Kylotan,

@Kylotan Modifica l'ultimo paragrafo per renderlo un po 'più chiaro. Tuttavia, non posso esprimerlo correttamente, tutti sono invitati a esprimerlo meglio.
Sandman4,

Questa è la migliore risposta da molto tempo. Ho modificato l'ultimo paragrafo, ma non ho i privilegi di modifica su questo sito, quindi dovrà attendere l'approvazione.
rjmunro,

2

C'è un modo per "sfuggire" a GPL o (praticamente) a qualsiasi altra licenza. Effettuare un'implementazione in camera bianca.

Assumi due gruppi di persone. Il compito del primo gruppo è quello di studiare il materiale originale nei minimi dettagli e descriverlo. Il secondo gruppo, che non vedrà mai e poi mai il materiale originale, scriverà una nuova implementazione basata sulla descrizione.

Ecco come è stato creato il BIOS sui cloni di PC originali; il BIOS era l'unico bit che IBM non permetteva alle altre persone di copiare.

Ciò non significa che tu sia al sicuro dalle cause legali .. i brevetti e le "cazzate" sono ancora là fuori, e almeno negli Stati Uniti, chiunque può fare causa a nessuno senza un motivo particolare (o almeno sembra così. .)


1

Per quanto riguarda la domanda sul motore di Quake: il codice può essere rilasciato sotto licenza GPL e anche con altre licenze. Valve ha autorizzato Quake pagando denaro a iD. Successivamente, a tutti nel mondo è stata concessa una licenza GPL (sic) per utilizzare il codice sorgente di Quake. Quando iD GPL ha modificato il motore, non ha convertito retroattivamente altre licenze in GPL; sarebbe impossibile. In effetti, iD può ancora concedere in licenza il motore di Quake con una licenza diversa, se lo desidera, poiché possiede il copyright originale.

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.