Je pense que beaucoup aimeraient le savoir. J'ai fait des recherches sur le net et sur la pile et bien que que cela a déjà été discuté sur la pile, cela n'a pas été en ce qui concerne Qt... ni dans le même contexte.
Qt est sous licence LGPL.
Cela signifie que (tant que vous ne modifiez pas Qt) :
(1) les développeurs commerciaux n'ont pas besoin d'une licence commerciale ($) pour utiliser Qt.
(2) N'AYEZ PAS besoin de donner le code src de vos applications à quiconque vous le demande.
Oracle MySQL est sous licence GPL.
Cela signifie que (même si vous ne modifiez pas MySQL) -- Interprétation A :
(1) le développement commercial nécessite une licence commerciale (au moins 2000 $/an) pour la simple utilisation de MySQL.
(2) DEVOIR donner le code src de vos applications à toute personne qui le demande.
Cela signifie que (même si vous ne modifiez pas MySQL) -- Interprétation B :
(1) le développement commercial ne nécessite pas de licence commerciale ($) pour la simple utilisation de MySQL.
(2) DEVOIR donner le code src de vos applications à toute personne qui le demande.
Cela signifie que (tant que vous ne modifiez pas MySQL) -- Interprétation C :
(1) le développement commercial ne nécessite pas de licence commerciale ($) pour la simple utilisation de MySQL.
(2) vous n'avez pas besoin de donner le code src de vos applications à quiconque vous le demande.
Si la LGPL est claire, la GPL suscite beaucoup de confusion. J'aimerais savoir quelle version de l'interprétation de la GPL est correcte (A, B ou C). Je suis sûr qu'il y a ici des professionnels qui le savent.
Ma compréhension personnelle de la GPL est que la GPL a été écrite en ce qui concerne la liaison de bibliothèques (réutilisation du code... et non l'utilisation d'applications). En d'autres termes, si vous utilisez un code ou si vous étendez un code pour créer une application, quels sont vos droits/limitations et les droits de tous les autres. Je ne crois pas que la GPL fasse référence à la limitation de l'utilisation des applications GPL. Corrigez-moi si je me trompe.
Par exemple, la plupart des produits LINUX sont sous licence GPL. Si je développe sous Linux, toutes mes applications doivent-elles être sous GPL ? Je pense qu'une telle interprétation n'est pas exacte. Je pense donc qu'il y a une différence entre l'utilisation d'une application GPL et l'utilisation/réutilisation d'un code source GPL.
Par extension de l'exemple ci-dessus, si j'utilise l'application appelée MySQL... pourquoi la licence GPL de MySQL s'appliquerait-elle à toute application que j'ai écrite simplement parce qu'elle utilise la base de données MySQL pour stocker et récupérer des données ? Quelle est la différence entre cette situation et l'utilisation de Linux pour le développement ?
J'en viens maintenant à mon point de confusion et à l'objet de ce billet. En réponse à ma dernière question, j'ai vu un verbiage confus selon lequel la façon dont on se connecte à la base de données MySQL a de l'importance. Je ne comprends pas... mais je pense que l'idée générale est que l'API utilisée pour se connecter à MySQL peut également être sous licence GPL. Plutôt que de couvrir tous les scénarios, soyons spécifiques à l'API.
Quelle librairie j'utilise dans Qt ? Je suis les instructions de Qt pour construire QMYSQL (MySQL Driver). http://doc.qt.nokia.com/latest/sql-driver.html Ce processus de construction s'appuie sur certains fichiers fournis par MySQL (qui peuvent être sous licence GPL). Je ne sais pas dans quel sens Qt utilise le terme "driver". De mon point de vue, un "pilote" est un moteur sous-jacent qui permet à quelque chose de fonctionner et je ne vois donc pas ce que cela a à voir avec mon application, pas plus que d'installer un pilote GPL dans LINUX pour pouvoir démarrer LINUX et faire du codage commercial. Je ne comprends pas non plus pourquoi Qt oblige les gens à "construire" le plug-in QMYSQL. Est-ce pour des raisons techniques ou pour des raisons de licence ? Pour contrôler MySQL, j'utilise les classes Qt "QSqlDatabase" et "QSqlQuery".
Par conséquent, si j'utilise MySQL pour le stockage des données et que mon application commerciale utilise Qt pour gérer, stocker, récupérer et mettre à jour les données dans ma base de données MySQL, laquelle des interprétations de la licence GPL ci-dessus est correcte (A, B ou C) ?
*Note finale. Je sais que les gens associent MySQL aux sites web. Dans le cadre de ce sujet, pensons que MySQL est également destiné aux applications professionnelles... et pas seulement aux sites web. La principale différence entre les deux est qu'un site web nécessite une base de données centrale alors qu'une application commerciale peut nécessiter que chaque client déploie sa propre base de données. En fin de compte, il ne s'agit que de stocker des données (dans les deux cas). Pour autant que je sache, il n'est pas interdit par la GPL d'inclure MySQL sur le même disque d'installation que l'application commerciale à code source fermé, de demander à l'installateur de l'installer, puis à l'application à code source fermé de créer la base de données et les tables. Corrigez-moi si je me trompe.