Regrouper OpenJDK avec une application propriétaire autorisée par GPL?


16

Je fais actuellement un jeu vidéo en Java qui sera très probablement distribué via Steam. Bien sûr, de nombreux utilisateurs de Steam n'auront pas déjà Java installé dans ce cas. Si cela se produit, je peux soit avoir un petit lanceur natif qui affiche un dialogue informatif indiquant à l'utilisateur qu'il doit installer Java, soit simplement regrouper mon propre environnement d'exécution Java (en particulier OpenJDK 8) avec mon jeu. Mon jeu sera en source fermée, mais il est basé sur un moteur de jeu open source (licence BSD).

J'ai regardé la licence d'OpenJDK. Il s'agit d'un projet GPL, ce qui signifie que tout ce qui y est lié doit également être GPL. Cependant, ils ont également l'exception classpath. Je ne sais pas si la partie de liaison s'applique parce que mon code ne s'y lie pas plus qu'il ne le serait avec ou sans le regrouper. Pour autant que je sache, l'exception classpath ne couvre pas ce cas d'utilisation.

Il y a une question similaire sur Stack Overflow , mais qui se réfère à la situation où une application est développée avec OpenJDK, je fais référence à la distribution avec OpenJDK.


4
Avez-vous lu la licence OpenJDK ou cherché des questions similaires ? Cette question est sur le sujet car elle concerne l'octroi de licences pour votre propre logiciel: cependant, le partage de vos recherches attirera de meilleures réponses.

Oui j'ai. J'ai édité la question pour refléter cela.
john01dav


J'ai lu cette question et ses réponses. Je ne sais pas comment cela se rapporte vraiment à cette question autre que d'être sur un sujet similaire.
john01dav

Doit-il être OpenJDK? Certains autres runtime Java peuvent permettre la distribution de leur runtime binaire sans ajouter de termes GPL à votre distribution. Voir par exemple java.com/en/download/faq/distribution.xml
Brandin

Réponses:


5

C'est une question importante, surtout si l'on considère le fait qu'Oracle a modifié ses accords de licence et de distribution à partir de Java 9, 10 et 11.

JDK -> Kit de développement Java .

Les JDK ne sont pas une distribution «runtime» - Un JDK est une distribution de développeur qui contient un runtime dans le cadre du bundle. Les JDK ne sont pas «librement distribuables» par le développeur, ils sont concédés sous licence au développeur. Si vous lisez le CLUF de votre JDK, vous verrez qu'il s'accompagne de restrictions sur la redistribution.

JRE -> Java Runtime Engine.

Les temps d'exécution sont (presque toujours) gratuits à télécharger et à distribuer à condition que vous respectiez le CLUF pour le JRE.

Les JDK et JRE sont concédés sous licence et distribués séparément et indépendamment l'un de l'autre.

Enfin, vous devez savoir que vous n'êtes généralement pas autorisé à distribuer des `` parties '' ou des composants d'un JDK - cela signifie que vous n'êtes pas censé extraire le JRE de votre JDK installé et le distribuer ou le regrouper séparément.

La meilleure pratique consiste à séparer le développement du déploiement.

  • Vous développez sur un JDK et déployez le projet
  • Le déploiement dépend d'une JRE

-1

D'après ce que j'ai lu dans la licence, vous pouvez librement redistribuer le programme, même facturer pour le distribuer.

Mais comme j'ai une expérience personnelle avec la sortie d'un jeu Java (non payé cependant), je trouve préférable de simplement dire à l'utilisateur que Java Runtime Environment est requis soit sur la source de distribution (leur donner un lien vers le téléchargement Java) ou avoir l'application donner à l'utilisateur une erreur.


2
Pouvez-vous expliquer pourquoi il serait préférable de laisser le téléchargement de l'utilisateur?
ziggystar

3
Eh bien, j'ai déjà (plusieurs) JRE installés; avoir chaque bundle d'application 150+ Mo "juste au cas où" me semble plutôt inutile. De plus, le fait d'avoir un JRE spécifique à une application entraîne des problèmes comme celui-ci: "mon JRE a ces réglages, pourquoi cela ne fonctionne-t-il pas dans VOTRE application?" stackoverflow.com/a/21417887/19746
Piskvor a quitté le bâtiment
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.