Bundling OpenJDK con un'applicazione proprietaria consentita da GPL?

12

Attualmente sto facendo un videogioco in Java che molto probabilmente verrà distribuito attraverso Steam. Naturalmente, molti utenti Steam non avranno Java già installato in questo caso. Se ciò accade, posso avere un piccolo launcher nativo che mostra un dialogo informativo che dice all'utente che è necessario installare Java, o semplicemente unire il mio ambiente runtime Java (specificamente OpenJDK 8) con il mio gioco. Il mio gioco sarà closed source, tuttavia è basato su un motore di gioco open source (con licenza BSD).

Ho guardato la licenza di OpenJDK. È un progetto GPL che significa che tutto ciò che vi si collega deve essere GPL. Tuttavia, hanno anche l'eccezione classpath. Non sono sicuro se la parte di collegamento si applica perché il mio codice non è collegato ad esso più di quanto sarebbe con o senza raggrupparlo. Per quanto ne so, l'eccezione classpath non copre questo caso d'uso.

C'è un domanda simile su Stack Overflow , tuttavia si riferisce alla situazione in cui un'applicazione è sviluppata con OpenJDK, mi riferisco alla distribuzione con OpenJDK.

    
posta john01dav 10.05.2015 - 19:33
fonte

2 risposte

3

Questa è una domanda importante, soprattutto se si considera il fatto che Oracle ha modificato i contratti di licenza e distribuzione a partire da Java 9, 10, & 11.

JDK - > Kit Sviluppo Java

I JDK non sono una distribuzione "runtime" - Un JDK è una distribuzione di uno sviluppatore che contiene un runtime come parte del pacchetto. I JDK non sono "liberamente distribuibili" dallo sviluppatore, sono concessi in licenza allo sviluppatore. Se leggi l'EULA per il tuo JDK, vedrai che viene fornito con restrizioni sulla ridistribuzione.

JRE - > Java Runtime Engine.

I runtime sono (quasi sempre) gratuiti per il download e la distribuzione purché aderisca all'EULA per JRE.

JDK e JRE sono concessi in licenza e distribuiti separatamente e indipendentemente l'uno dall'altro.

Infine, è necessario sapere che generalmente non è consentito distribuire "parti" o componenti di un JDK - questo significa che non si deve estrarre il JRE dal JDK installato e distribuirlo o raggrupparlo separatamente.

La migliore pratica è separare lo sviluppo dalla distribuzione.

  • sviluppi su un JDK e implementa il progetto
  • La distribuzione ha una dipendenza da un JRE
risposta data 30.08.2018 - 21:21
fonte
-1

Da quanto ho letto nella licenza puoi liberamente ridistribuire il programma, anche addebitare a distribuirlo.

Tuttavia, poiché ho un'esperienza personale con il rilascio di un gioco Java (non a pagamento), trovo che sia meglio dire all'utente che è richiesto Java Runtime Environment sulla fonte di distribuzione (dare loro un collegamento al download Java) o fare in modo che l'applicazione fornisca un errore all'utente.

    
risposta data 27.11.2015 - 05:47
fonte

Leggi altre domande sui tag