Journal MySQL / JDBC & GPL

Posté par  .
Étiquettes : aucune
0
24
nov.
2006
Hello,
j'ai un soft java qui utilise JDBC et qui fonctionne sur n'importe quelle base respectant ce standard. Ce soft n'est pas GPL ou LGPL.
Mon soft est configurable et il suffit d'ajouter le jar des drivers mysql gpl au classpath pour utiliser une base de données mysql.

Mon raisonnement est le suivant :

- la position de la FSF (1) est que lier dynamiquement avec une bibliotheque est un travail dérivé : "It has always been the FSF's position that dynamically linking applications to libraries creates a single work derived from both the library code and the application code."

- dans le cas de java, la position de la FSF (toujours 1) est aussi "Applications use Java's "import" functionality to access classes from these libraries. When the application is compiled, function signatures are checked against the library, creating a link. The application is a then generally a derivative work of the library. "

-mon soft n'importe pas les "symboles" mysql ( pas de "import" java ) Il compile sans. Il fonctionne sans. Ce n'est pas un travail dérivé des drivers mysql.

Questions :

- le fait qu'il puisse fonctionner avec les drivers mysql créé t il pour autant un "lien dynamique" ?

Et donc si qqn fait fonctionner mon soft avec les drivers mysql gpl, quel est le status de mon code ?




1- http://www.gnu.org/licenses/lgpl-java.html
  • # wikipedia

    Posté par  . Évalué à 2.

    Je me reponds à moi meme. Une indication trouvée sur wikipedia à propos du "derivative work".

    "If the original software was designed to accept plug-ins or drivers using a defined mechanism, such a driver or plug-in does not form a derived work."

    L'interface JDBC a été conçue pour accepter des drivers. Les drivers JDBC qui en decoulent ne sont pas donc pas des travaux derivés. Et donc les applications java utilisant JDBC sont des travaux derivés de JDBC, pas des drivers en question ( tant qu'on ne les utilise pas explicitement ).
  • # Tu fais ce que tu veux

    Posté par  (site Web personnel) . Évalué à 2.

    D'après ce que je comprend de la GPL, ton code n'a pas besoin du driver mysql pour fonctionner et le driver mysql n'a pas besoin de ton code pour fonctionner, libre à toi de lui donner la licence que tu veux.

    C'est mon interprétation de la faq:
    http://www.gnu.org/licenses/gpl-faq.html#TOCGPLInProprietary(...)
    http://www.gnu.org/licenses/gpl-faq.html#TOCGPLIncompatibleA(...)
  • # liaison est une vue de l'esprit

    Posté par  . Évalué à 4.

    Ce qui est important c'est la dépendance fonctionnelle.

    Si tu as absolument besoin de MySQL pour fonctionner quelques soit la manière de le faire, ton code doit être GPL.

    Si tu as une interface générique, qui peut fonctionner avec plusieurs SGBD, le problème ne se pose pas.

    C'est cette différence qui fait vendre des licences MySQL.

    "La première sécurité est la liberté"

    • [^] # Re: liaison est une vue de l'esprit

      Posté par  . Évalué à 2.

      C'est ce qui me semblait aussi.
      Merci pour vos avis et vos pointeurs.
      • [^] # Re: liaison est une vue de l'esprit

        Posté par  . Évalué à 1.

        Ouais, enfin vérifie bien que ton appli marche avec autre chose que MySQL. Il ne suffit pas de dire, j'utilise JDBC donc ça marche avec autre chose que MySQL.

        Genre, si tu utilise du autoincrement ou autre spécificité de MySQL dans tes requêtes SQL... alors ton soft ne peux plus se passer de MySQL et donc doit être GPL...

        Tiens au fait personne ne t'as demandé pourquoi tu ne voulais pas utiliser la GPL ? Sinon, tu n'a qu'à acheter une licence proprio de MySQL, comme ça tu fais ce que tu veux avec ton soft.
        • [^] # Re: liaison est une vue de l'esprit

          Posté par  . Évalué à 3.

          >Ouais, enfin vérifie bien que ton appli marche avec autre chose que
          >MySQL.

          Je developpe principalement pour Oracle et SQL Server. J'ai une culture multibase ( oracle, microsoft, sybase, mysql etc ) : j'ai appris à utiliser le plus petit sous-ensemble de SQL commun aux SGBDs que j'ai rencontré. C'est pas toujours facile, mais je fais comme ça depuis quelques années et ça me convient pas mal ( ODBC avant et JDBC depuis quelques temps ). Donc mon code JDBC n'a effectivement pas besoin de MySQL pour fonctionner.

          La decision de la licence du soft en question ne depend pas de moi.

          Je voulais jeter un coup d'oeil sur les prix du driver mysql proprio pour ma culture perso, mais je les trouve pas sur leur site. Pour mes besoins, les versions gratuites d'oracle xe et de sql server express conviennent. Donc si je suis compatible mysql en plus tant mieux. Sinon tant pis. D'ailleurs je vais jeter un coup d'oeil à postgresql.

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n’en sommes pas responsables.