Affaire chardet 7.0 : un développeur utilise Claude pour réécrire une librairie open source et provoque un débat

Par:
francoistonic

mar, 31/03/2026 - 09:38

chardet est une librairie populaire écrite en Python par Mark Pilgrim. La v1 remonte à 2006. Elle a été portée en Python 3. Après le retrait de Mark, la lib a été reprise par plusieurs développeurs dont Dan Blanchard.

Il y a 1 mois, Dan Blanchard, au lieu de développer et de maintenir chardet, qui est sous licence LGPL, décide de réécrire la lib Python en utilisant Claude Code ! Ce n'est pas un fork mais une réécriture de 0 pour le développeur. Cela signifie que la licence originale n'est plus d'actualité. Et Blanchard met sa version de chardet (chardet 7), change de licence (actuellement sous licence OBSD après les différents tickets) ! D'ailleurs, dans le readme, il est clairement dit que "toutes les versions après la 7 ne dériveront pas du code originel de chardet, mais toutes les versions porteront le même nom pour faciliter la transition. Dan a restauré les commits perdus de Mark". En effet, Mark a effacé ses comptes en 2011.

chardet 7.0.0 est disponible sur PyPi.

En utilisant Claude Code et en repartant de 0, Dan Blanchard peut arguer que son chardet 7.0.0 n'est ni un fork ni un dérivé du projet originel. Il prétexte aussi une nette amélioration des performances même si des éléments de code et la structure du projet peuvent être très proches ou similaires (voir plus bas).

"no right to relicense this project"

Mark Pilgrim, si son identité est bien confirmée, a rapidement réagi : "...il a été porté à mon attention que, dans la version 7.0.0, les responsables du projet prétendent avoir le droit de le « relicencier ». Ils n'en ont pas le droit ; une telle action constitue une violation flagrante de la LGPL. Tout code sous licence, même modifié, doit être diffusé sous la même licence LGPL. Leur affirmation selon laquelle il s'agirait d'une « réécriture complète » est sans fondement, puisqu'ils ont eu largement accès au code source original (il ne s'agit donc pas d'une implémentation « à partir de zéro »). L'ajout d'un générateur de code sophistiqué ne leur confère en aucun cas des droits supplémentaires.". Le titre du ticket 327 est sans équivoque : no right to relicense this project. Mark conclut par : "j'insiste, respectueusement, pour qu'ils rétablissent la licence d'origine du projet." Dan Blanchard a répondu : "Bonjour Mark, et merci de votre message. Si vous êtes bien Mark Pilgrim, je tiens à vous dire sincèrement que chardet (et Dive Into Python) a eu un impact considérable sur ma carrière et sur l'écosystème Python. J'ai été le principal responsable et contributeur de ce projet pendant plus de 12 ans et je prends cette responsabilité très au sérieux."

Depuis la disponibilité de chardet 7, il y a donc débat : Dan Blanchard peut-il changer de licence en arguant qu'il s'agit d'une réécriture de 0, malgré quelques ressemblances de structures ici et là, ou doit-il respecter la licence initiale et donc se soumettre à la LGPL ?

Blanchard précise dans le ticket 334 : "je n'ai pas écrit moi-même le code mais j'ai participé activement à sa conception, à sa relecture et à son amélioration. Mais, les faits sont clairs : la 7.0 est un travail indépendant, il ne dérive pas du code sous licence LGPL. La licence MIT est (donc) légitime."Comme l'évoque nanoscopic dans le ticket 334, la question n'est pas de savoir si Dan avait le droit ou non d'agir ainsi. Le véritable problème vient plutôt du précédent que cela pourrait créer si cet agissement est considéré comme légal. Les licences perdraient leurs forces et contraintes, bref la mort de la notion de copyleft.

Notre avis : le code est sous licence, tout code modifié / ajouté doit être mis sous la même licence. C'est une réécriture, un projet de 0, donc j'ai le droit de changer de licence. JPlag a calculé que moins de 1,3 % du nouveau code est similaire au code d'origine, mais ces codes sont liés aux patterns communs du langage Python et non à la spécificité du projet... Involontairement, Blanchard soulève un problème bien réel : si on demande à un agent IA de recréer de 0 un projet sous licence LGPL, est-ce une création ou un fork ou une modification du projet initial ? Et peut-on alors changer la licence ? Les GPL et LGPL sont moins permissives que d'autres licences open source. Elles obligent par exemple à reverser tous les codes modifiés, ajoutés au projet, sans modifier la licence.

chardet 7.0 crée-t-il un précédent et peut-il "tuer" les obligations des licences, et donc au-delà une certaine idée de l'open source et du logiciel ? Un des enjeux est de savoir si l'argument de Blanchard sur une création de 0, même en utilisant une IA pour tout coder, est valide légalement / juridiquement. Pour cela, il faudra que l'affaire soit portée devant un juge, sauf si ce dernier se déclare incompétent à instruire.

Sources :

https://www.theregister.com/2026/03/06/ai_kills_software_licensing/

https://github.com/chardet/chardet

https://github.com/chardet/chardet/issues/327

https://github.com/chardet/chardet/issues/334#issuecomment-4098524555