Difficile de rester insensible lorsque le modèle Open Source est sacrifié de cette manière sur l'autel du profit. Derrière l'affaire Ext-JS, c'est toute la crédibilité de ce modèle économique et communautaire qui est détourné à des fins mercantiles.
Rapide rappel de l'histoire, Ext-JS est une bibliothèque JavaScript développée à l'origine par Yahoo sous l'appellation YUI. A partir de sa version 1.0, Jack Slocum, un brillant développeur, en a fait un produit industrialisé pour le hisser au rang des meilleures bibliothèques JavaScript Open Source. Ext-JS peut aujourd'hui se targuer de posséder l'une des plus importantes communautés JavaScript. Et la nature de sa licence n'y est pas étranger : une sorte de LGPL hybride (à la limite de la cohérence...) autorisant l'utilisation d'Ext-JS dans un contexte commercial et non viral.
Suite:
Même s'il est vrai que Jack n'a jamais caché ses ambitions en matière économique pour construire un vrai projet commercial autour de la société Ext-JS, personne n'aurait pu imaginer que ses desseins sonneraient le glas du projet Open Source. D'autant plus qu'entre temps, plusieurs outils promis à de belles destinées se sont construits autour d'Ext-JS. Parmi eux, GWT-Ext, un wrapper GWT permettant de bénéficier de toute la puissance d'Ext-JS à partir de GWT et développé par le talentueux Sanjiv Jivan. Le second, MyGWT, développé par Darell Meyer est une bibliothèque native GWT reprenant les principes d'Ext-JS.
Du coup, lorsque Jack Slocum annonça en même temps que la sortie d'une version mineure d'Ext-JS la modification de la licence d'origine vers une licence dual GPL v3 virale ou commerciale, l'annonce a tourné au mauvais rêve pour de nombreux aficionados. Sans compter que dans son élan, Ext-JS a réussi, moyennant quelques dollars, à convaincre Darell Meyer d'opter pour la même licence virale.
Résultat des courses, ceux qui comme moi ont passé des heures durant à convaincre décideurs, développeurs et passionnés de GWT d'utiliser GWT-Ext et/ou MyGWT sont pris en otage. Toute mise à jour future du produit devra se solder, soit par l'ouverture des sources (une ineptie lorsqu'on sait que 99% des projets GWT sont industriels et fermés), soit par l'acquisition d'une licence au prix de 219$ par développeur (aujourd'hui, peut-être que demain ce sera par CPU, runtime, etc...).
Le plus critiquable dans ce procédé n'est pas tant la volonté de Jack Slocum de gagner de l'argent. Après tout ce n'est que le juste retour d'un dur labeur (qu'il a, au passage, réalisé avec l'aide d'autres développeurs de la communauté). Le plus critiquable est la manière avec laquelle il a bâti une communauté Open Source autour d'une licence et d'un modèle économique pour mieux les capter par la suite, une fois le succès au rendez-vous.
Que vont dire tous ces gens à qui nous vendons à longueur d'année les bienfaits du modèle Open Source ?
GWT lui même peut être menacé par de tels agissements. Qui peut garantir que demain, un Google ne décidera pas un jour d'en faire de même ? Qui peut garantir que Sun, IBM ou d'autres, après avoir réussi à créer de gigantesques communautés ne décideront pas pour des raisons mercantiles de modifier les règles du jeu ?
En attendant, l'auteur du wrapper GWT (Sanjiv) est pointé du doigt par Ext-JS (à juste titre, un Wrapper GWT est une sorte de coquille vide qui s'appuie essentiellement sur une bibliothèque JS) et lui conjure d'arrêter ses développements s'il souhaite rester compatible avec la GPL...
Voilà ce qu'il ne faut jamais faire en matière de licence Open Source. La confiance d'une communauté est ce qu'il y a de plus important. Et aujourd'hui on souhaite, plus que jamais, faire confiance à Ext-JS, il n'est pas trop tard pour bien faire ...
ps: première victime de cette décision, Sanjiv, qui annonce qu'il quitte le lead du projet GWT-Ext.
Laisse moi résumer :
- tu as profité de la gratuité et de la liberté du produit pendant longtemps, sans avoir à rétribuer l'auteur.
- l'auteur décide à présent de passer à la GPL 3 pour les nouvelles releases.
Ca signifie notamment que tu peux toujours utiliser les anciennes, sous la même licence qu'avant, les modifier et les distribuer suivant la licence originale. Tu ne perds aucun droit dans cette affaire... Tu as le droit de "forker" ces anciennes versions.
Ainsi, tu reproches à l'auteur de ExtJS de ne plus pouvoir utiliser gratuitement son travail si toi, tu fais du logiciel propriétaire, et eventuellement de l'argent. N'est-ce pas ironique ?
Je comprends cependant que ça puisse t'embêter.
Imagines un instant que Java passe en GPL v3 aujourd'hui (ça a d'ailleurs été évoqué avec une levée de boucliers unanime).
Sami
Effectivement il fait ce qu'il veut, mais moi aussi. Et c'est bien une question de confiance, quand on s'engage avec un fwk pour quelques mois ou années...
Dommage je trouvais la maturité du produit impressionnante, et bluffante - ce qui est assez pratique pour l'imposer.
Maintenant, soit forker, soit rejoindre une autre solution (prototype, j'adore mais il n'a pas la batterie de widgets derrière. Yui , j'adore mais il me manque Une fonctionnalité, qui marche couci-couca grâce à un plugin.) Et m....
---------------------
Question 1:
Pourquoi n'as-t-il pas décidé de concevoir deux version pour ExtJS ? Soit une version libre, qui continuerait son développement du côté communautaire et une autre version professionnel qui serait plus réactive et sujet à plus d'attention de la part de Jack.
Ainsi nous profiterons toujours d'une version free, avec quelques nouveautés de temps à autre. Et lui pourra commercialiser son produit aux sociétés, en leur fournissant plus de fonctionnalités, qu'elles ne trouverait dans la version free.
Je pense que c'est la meilleure des solutions. Je pense sérieusement que tout société devrait fonctionner de cette manière. Développer un premier produit free pour attaquer le marché, tout en développant celui-ci afin de commercialiser une version plus avancée et ainsi créer un décalage de deux versions, ce qui permettrait à la sortie de chaque nouvelle version, de distribuer gratuitement les anciennes.
Quand pensez-vous ?
Question 2:
Y a-t-il une chance que le produit (version free), voit tout de même des évolutions dans le futur ? Ou alors sera-t-elle totalement laissée à l'abandon ? Ou dans ce cas, la communauté autour de celui-ci se désintégrera à moyen terme.
P.S: La remise en question de l'Open Source est en effet un sujet à revoir en vue de ce genre de comportement.
C Badoux
-----------------------------------
NdM : Autre commentaire posté par Zaccret
Je comprends complètement votre désillusion mais je ne partage pas du tout votre point de vue.
"personne n'aurait pu imaginer que ses desseins sonneraient le glas du projet Open Source" : la licence GPL est tout de même la license originelle de l'Open Source, cela me semble un comble que d'affirmer que le projet n'est plus Open Source. "une ineptie lorsqu'on sait que 99% des projets GWT sont industriels et fermés" : l'ineptie me semble surtout d'avancer ce genre de chiffres sans source crédible. Par ailleurs, pour des produits qui sont à la fois fermés et distribués (les outils développés en interne dans une société pour cette même société ne sont pas impactés), quoi de plus normal que d'acheter une licence (qui n'empêche d'ailleurs pas d'obtenir le code source du produit) ?
"Que vont dire tous ces gens à qui nous vendons à longueur d'année les bienfaits du modèle Open Source ?" : peut-être qu'il faudrait surtout leur rappeler que l'open source, ça n'est pas le freeware.
"Qui peut garantir que Sun, IBM ou d'autres, après avoir réussi à créer de gigantesques communautés ne décideront pas pour des raisons mercantiles de modifier les règles du jeu ?" : MySQL a déjà opéré le même type de changement que Ext (LGPL -> GPL), et après une période de transition également un peu houleuse, MySQL est resté un produit de référence dans la communauté Open Source. Enfin, il me semble assez difficile avec une licence GPL de revenir sur les règles du jeu, le projet pouvant désormais être totalement "forké".
http://jackslocum.com/blog/2008/04/26/ext-js-license-change-and-personal-attacks/
Intéressant... Au moins ça lui laisse une chance de ce défendre au sein de ce blog ci :)
Merci
Nicolas
Ext-GWT est donc le plus sain des deux. Même si moins riche fonctionnellement.
Sami
J'ai lu attentivement votre article, mais je n'ai pas tout compris. Je m'apprête à mettre en ligne un site web utilisant la lib Ext JS. J'ai 2 questions :
1. Le service proposé sur mon site web sera totalement gratuit dans un 1er temps. Dois-je payer une licence à ExtJS ou puis-je utiliser la version gratuite ?
2. Le même service sera probablement amélioré dans un 2ème temps et donc payant. Si le version gratuite est possible pour moi, devrai-je alors m'aquitter de la licence ?
Par avance merci.
Antoine
Savez vous s'il existe d'autres tentatives de dérivés d'extjs ?
Ne maitrisant pas bien les subtilités de la licence GPL, j'aurais une paire de questions. Voilà j'ai developpé au sein de ma société une application pour usage interne avec ExtJs v2 (suivi d'activité de nos affaires/consultants/clients). Le but n'est absolument pas de la revendre.
1/ dois-je forcément acquérir une licence par developpeur avec le nouveau modèle de licence ?
2/ si oui (ce qui ne me pose pas de pb en soi de "récompenser" l'auteur d'une solution me facilitant mes dévs), devrais-je le faire à chaque mise à jour ? Là par contre ça me poserait un pb, celui de me sentir coincé...
Merci d'avance pour vos réponses...
Le sujet m'intéresse fortement car d'autres je suis en train développer un projet
Web avec extJS 2.3. Je souhaitais continuer ce projet en ExtJS3, d'après ce que
j'avais lu je pouvais continuer mon projet qui sera toujours libre avec les sources
utilisables et diffusées gratuitement. Est-ce que pour ça je dois prendre une licence ? Avec toutes ces licences et toutes les variantes il va bientôt avoir un
service juridique uniquement pour gérer ces problèmes :-((.
Cordialement Phil