Ne connaissant rien à Java et aux composants évoqués, ce que tu écris reste assez opaque pour moi. Il me faudrait un petit diagramme d'architecture.
Pour commencer, à ma connaissance, Maven est un outil de gestion des dépendances et d'automatisation du build, et d'aucune manière un composant lié à l'exécutable généré. Sa licence importe donc peu ici.
Ensuite, il me semble que JDBC est une simple abstraction, une interface définissant une API utilisée par les applications Java pour se connecter à des bases de données. Cette API est incluse dans la plateforme standard (sauf erreur de ma part, on la trouve donc aussi bien dans OracleJDK que dans OpenJDK). Mais cette interface ne permet rien en elle-même. Il faut ajouter un connecteur (« driver »), spécifique à chaque SGBDR. C'est donc la licence de ce connecteur qui importe. Quel SGBDR, et donc quel connecteur, utilises-tu ?
il faut étudier dépendance par dépendance, donc on peut mettre certains service en GPLv3, et laisser le reste en Apache v2.
Oui ou non. Cela dépend de la licence des différents composants, de leur assemblage et de leur mode d'interaction.
Je peux mettre en (L?)GPL v3 les service qui devraient être immuables chez les utilisateurs. Laisser le reste en Apache v2 pour ne rien imposer d'ennuyeux.
Je ne sais pas ce qu'est un service immuable.
Par contre, ce que je peux te dire, c'est que si la compilation de ton code aboutit à la génération de composants diffusés sous des licences différentes, tu as intérêt, pour le bien de tout le monde à commencer par le tien, à scinder le code desdits composants dans plusieurs dépôts et à les gérer séparément. Ton projet sera bien plus lisible sur le plan juridique.
[^] # Re: Marche à suivre
Posté par Sébastien Dinot (site web personnel) . En réponse au journal Java et les licences Open Source. Évalué à 1. Dernière modification le 13 avril 2024 à 18:06.
Ne connaissant rien à Java et aux composants évoqués, ce que tu écris reste assez opaque pour moi. Il me faudrait un petit diagramme d'architecture.
Pour commencer, à ma connaissance, Maven est un outil de gestion des dépendances et d'automatisation du build, et d'aucune manière un composant lié à l'exécutable généré. Sa licence importe donc peu ici.
Ensuite, il me semble que JDBC est une simple abstraction, une interface définissant une API utilisée par les applications Java pour se connecter à des bases de données. Cette API est incluse dans la plateforme standard (sauf erreur de ma part, on la trouve donc aussi bien dans OracleJDK que dans OpenJDK). Mais cette interface ne permet rien en elle-même. Il faut ajouter un connecteur (« driver »), spécifique à chaque SGBDR. C'est donc la licence de ce connecteur qui importe. Quel SGBDR, et donc quel connecteur, utilises-tu ?
Oui ou non. Cela dépend de la licence des différents composants, de leur assemblage et de leur mode d'interaction.
Je ne sais pas ce qu'est un service immuable.
Par contre, ce que je peux te dire, c'est que si la compilation de ton code aboutit à la génération de composants diffusés sous des licences différentes, tu as intérêt, pour le bien de tout le monde à commencer par le tien, à scinder le code desdits composants dans plusieurs dépôts et à les gérer séparément. Ton projet sera bien plus lisible sur le plan juridique.