Je prévois de développer un programme que j'ai l'intention de vendre plus tard. J'essaie de décider d'un langage avec lequel le coder, et je me suis restreint à C ++ ou Java.
J'ai parcouru les licences GPL v2 et v3 utilisées pour GCC et OpenJDK de GNU (oui, je peux comprendre certaines choses juridiques, mais clairement, pas toutes). Mais il y a un point sur lequel tout le monde est obscur (cela aurait dû être l'une des premières réponses, IMO): si je développe un programme en utilisant C ++ / Java et le compile en utilisant le compilateur GCC ou le compilateur d'OpenJDK, puis-je le vendre sans avoir placer mon programme sous GPL également?
Pour autant que je sache, j'ai tous les droits pour attribuer n'importe quelle licence à mon programme, mais il y a un hic: il est dit dans la licence que je ne devrais pas lier à une bibliothèque sous GPL. Si c'est le cas, je devrai publier mon programme sous GPL.
Maintenant, je ne sais pas ce qui en C ++ / Java est considéré comme une bibliothèque, donc si j'utilise les choses normales en C ++ (iostream, list, map, etc.) ou les classes / interfaces Java normales disponibles dans le cadre du JDK standard 6 distribution (String, List, Map, etc.), cela constitue-t-il un «lien vers les bibliothèques»?
Réponses:
Oui. La GPL exclut spécifiquement la sortie de l'exécution du programme:
ce qui signifie que si vous incluez des bits de GCC ou quelque chose d'autre sous GPL dans votre programme, alors oui, il devrait être sous GPL, sinon non - le fait que son code objet ait été produit par un compilateur sous GPL n'a pas d'importance s'il doit être sous GPL ou non. .
Toutes les bibliothèques de langues standard auxquelles vous vous connectez ne sont pas sous GPL, ou sont sous GPL mais ont une exception spéciale pour permettre à votre logiciel propriétaire de s'y lier, si vous ne les modifiez pas . Dans le cas de C ++, je veux dire libgcc, glibc et libstdc ++; dans le cas de Java, je veux dire toutes les bibliothèques incluses dans le JRE.
Techniquement, vous pouvez quand même légalement vendre des logiciels GPL, mais presque personne ne gagne d'argent en le faisant.
la source
GCC et OpenJDK ont des exceptions explicites:
la source
Ce n'est pas obscur. Il y a une exception à la licence qui s'applique ici. Ceci peut être trouvé à partir de la question appropriée dans la FAQ GPL .
Bref, ce que vous voulez faire est permis.
la source
L'OpenJDK est sous GPL mais avec une exception pour les liens vers les bibliothèques. http://en.wikipedia.org/wiki/OpenJDK
L'utilisation de classes OpenJDK constituerait un lien vers une bibliothèque, je pense (rt.jar).
Une bibliothèque dans ce contexte, du point de vue de Java, est sûrement un pot de dépendance, une guerre, une classe, etc. Quoi qu'il en soit, je suis sûr que vous pouvez légalement vendre une application Java - il y en a plus que Oracle Sun n'a engagé aucune action en justice.
la source
Ne vous inquiétez pas, c'est une question de programmation informatique, ou du moins qui concerne étroitement les programmeurs.
D'après ce que je sais, si vous créez un logiciel lié à du code GPL, vous devez libérer votre code source si vous distribuez votre programme.
Cela ne signifie pas que vous devez publier votre code sur sourceforge, c'est-à-dire que si un tiers vous demande le code, vous devez le fournir.
la source