Wordpress vs WP Engine

24 octobre 2024 - par Didier Sampaolo - dans Développement sur-mesure

Le torchon brûle dans la communauté WordPress. Matt Mullenweg, papa et patron du CMS qui motorise la moitié du web, a décidé de rentrer dans le lard de WP Engine, un hébergeur spécialisé pour WordPress. Ce conflit pourrait, à terme, redéfinir les limites floues de l'utilisation commerciale de projets open-source par des sociétés privées, en créant un précédant qu'en tant que farouches partisans de l'opensource, nous estimons dangereux et dommageable. Récap des évènements : enfilez vos bottes étanches, c'est sale.

Les débuts idylliques

Fondé en 2010, WP Engine gère 1.5 million d'installations de WordPress, et génère un chiffre d'affaires annuel de 500 millions de dollars.

WordPress et WP Engine, c'est une histoire d'amour qui commençait bien : WordPress, via Automattic, a participé à une levée de fonds d'un total de 1.2M$ en 2011 dans WP Engine (aux côtés notamment de Loïc Le Meur).

En mars 2023, Mullenweg a donné une conférence pendant la journée DE{CODE} (organisée par WP Engine) où il a expliqué comment il voyait le futur du web libre.

L'historique

20 septembre 2024 : 8 % sinon rien

Auttomatic, estimant que WP Engine ne participe pas assez à l'écosystème, propose un accord à l'hébergeur : celui-ci devra dédier 8 % de son chiffre d'affaires pour pouvoir continuer d'utiliser les noms de marque WordPress et WooCommerce. Ces fonds peuvent être alloués en contributions directes (en code).

21 septembre 2024 : le feu aux poudres

Dans son post WP Engine is not WordPress, publié sur Wordpress.org, Matt Mullenweg a qualifié WP Engine de "cancer pour WordPress".

Premier reproche : l'hébergeur ne contribue pas assez au projet. Deuxième reproche : WP Engine profiterait d'une confusion entre son nom et la marque officielle WordPress. À priori, Matt s'est rendu compte que sa propre mère pensait que WP Engine était une émanation officielle, ce qui n'est pas le cas, puisqu'on parle bien d'une entreprise privée : c'est la même chose que lorsque LVLUP installe et héberge un WordPress pour le compte d'un de nos clients, ça ne nous donne aucun droit sur la plateforme ni sur le CMS en lui-même.

Le point qui semble particulièrement choquer Matt, c'est que WP Engine retire la fonctionnalité de révisions : ce système permet (comme sur Wikipedia) de garder l'historique des versions d'une page, au fur et à mesure qu'elle est éditée, et permet aussi de revenir à tout moment à une version antérieure.

Sauf que cela à un coût, puisqu'il faut garder en base X versions complètes du post, pour - souvent - des éditions mineures. Et que ce coût, WP Engine a décidé unilatéralement qu'ils n'étaient pas prêts à l'assumer, et qu'ils ont désactivé cette feature. Il est possible de la réactiver, en passant par leur support client, mais c'est limité à 3 versions et elles sont effacées au bout de 60 jours.

Matt estime donc que son CMS a été amputé d'une fonctionnalité importante, par appât du gain. Il pointe que Silver Lake, le fonds d'investissement derrière WP Engine, ne cherche rien à part des bénéfices, et appelle les clients à "voter avec leur porte-monnaie".

Ce post fait suite à une conférence donnée au WordCamp US 2024, où il a carrément invité les clients de WP Engine à rejoindre Hostinger, BlueHost ou Pressable, d'autres hébergeurs qui supportent son CMS.

23 septembre 2024 : réponse de WP Engine

Sur Twitter, WP Engine a publié un tweet expliquant qu'ils trouvaient les accusations injustes. D'après eux, leur travail permet à WordPress d'être mieux accepté et diffusé, et regrettent ces attaques qui visent à faire du mal à leur business. Le tweet s'accompagne d'un cease-and-desist (l'équivalent en droit US d'une mise en demeure) demandant à Matt de cesser ses allégations et d'effacer les contenus à charge.

Réactions mitigées : Certains clients reconnaissent que l'hébergeur leur évite pas mal de migraines, d'autres font remarquer que les contributions en code (au "core" de WordPress) sont au mieux sporadiques.

WordPress est diffusé sous licence GPLv2, soit GNU General Public License. Cette licence, bien que moins permissives que d'autres (type MIT ou BSD), permet d'utiliser librement le logiciel. L'utilisateur est tenu de publier les modifications qu'il y ferait, sous licence GPL aussi, mais il n'a aucune obligation de contribuer au projet d'origine : il est tout à fait possible de faire un "fork" d'un projet GPL et d'en faire un projet indépendant, qui suivra sa propre voie. C'est d'ailleurs ce qui pourrait arriver si WP Engine rencontre un soutien suffisant dans l'écosystème Wordpress.

Moralement et au niveau éthique, l'argument s'entend, puisqu'il est d'usage, dans la communauté opensource, de "renvoyer l'ascenceur" aux personnes qui fournissent le code que vous utilisez. Mais aux yeux de la loi, il ne tient pas : WP Engine n'est pas légalement en tort au niveau de sa non-contribution.

25 septembre 2024 : WP Engine banni du repo WordPress

Un des plus gros hébergeurs WordPress se retrouve interdit d'accès des serveurs officiels du CMS, ce qui empêche ses clients d'accéder aux mises à jour. En plus d'être une tannée, ça comporte aussi des risques flagrants, puisqu'une partie des mises à jour en question sont des "security fix" qui visent à combler des failles de sécurités exploitables, qui rendent thèmes et plugins vulnérables jusqu'à ce qu'elles soient patchées.

2 octobre 2024 : WP Engine porte plainte

En réponse, et assez logiquement, WP Engine a décidé de porter plainte contre Auttomatic et son PDG, Matthew Charles Mullenweg. La plainte fait état de tentative d'extorsion, ingérance dans des relations d'affaires, et utilisation abusive de marque.

3 octobre 2024 : ça cite Churchill

Après que certains de ses employés aient manifesté leur mécontentement, sur son blog personnel, Matt cite Churchill, “Never let a good crisis go to waste”. Il propose 6 mois de salaire en indemnités de départ aux salariés qui ne se sentiraient plus alignés avec la société. 159 personnes s'en vont, soit plus de 8% des salariés.

Ce qui est assez fou, c'est le ton qu'il emploie pour parler de l'affaire. "Je me sens plus léger", etc, la communication est brouillon et semble envahie de sentiments assez mesquins.

5 octobre 2024 : take-over sur Advanced Custom Fields

Le plugin Advanced Custom Fields (ACF pour les intimes) permet d'ajouter des champs personnalisés aux objets gérés par le CMS. Ultra-populaire, il compte plus de 2 millions d'installations actives, et était maintenu par une équipe de l'hébergeur depuis juin 2021.

"Était", car depuis le 5 octobre, les droits sur le plugin ont unilatéralement été modifiés sur Wordpress.org, qui en revendique maintenant la paternité. Ce n'est pas un "fork" comme annoncé (une copie), mais bien le plugin d'origine qui a été transféré. Il en résulte que les installations actives, les avis déposés (très majoritairement positifs), sont portés au crédit du nouveau propriétaire, ce qui n'est pas le cas pour un fork, qui repart de zéro.

En bref, Auttomatic a prétexté une faille de sécurité à corriger pour récupérer le travail de WP Engine, qui, finalement, contribuait peut-être un peu plus à l'écosystème qu'annoncé au départ, puisqu'ils maintiennent activement une des extensions les plus populaires du CMS, qui comble clairement un manque au niveau fonctionnalités.

De mémoire, c'est la première fois que ça arrive, et c'est assez grave, puisque ça concerne un plugin de premier plan : Matt s'octroie le droit de récupérer votre code, en dehors des cas prévus (code abandonné, développeur malveillant, rachat...).

9 octobre 2024 : la case à cocher

Elle restera fameuse dans l'histoire du web, au rayon "embrouilles de gamin". Sur le portail WordPress.org est apparu une case à cocher pour pouvoir se connecter ou créer un compte : "Je ne suis en aucun cas affilié à WP Engine, financièrement ou autre".

17 octobre 2024 : 2e round de départs

On passe à la vitesse supérieure. Énervé que certains salariés mécontents puissent parler à la presse, Matt leur propose un "aligment offer" : partir avec plusieurs mois de salaire d'indemnités aujourd'hui, ou prendre le risque de se faire virer demain. Pour un mec qui cite Churchill, ça manque un peu de grandeur d'âme. Cette fois, la compensation est de neuf mois de salaire : si j'étais salarié chez eux, je ferais le dos rond en attendant que les enchères montent.

18 octobre 2024 : injonction préliminaire

WP Engine a déposé une injonction préliminaire en Californie. Ils demandent au Tribunal de restaurer leur accès à WordPress.org. C'est un peu l'équivalent d'une mesure conservatoire : on prend une décision immédiate en raison du caractère urgent de la situation, et on l'étudiera plus en profondeur plus tard.

20 octobre 2024 : le Premier Amendement à la rescousse

Matt publie un article sur son blog (je ne lui offre pas un lien, c'est inutile d'aller le lire) qui explique que derrière l'injonction déposée par WP Engine, se cache une volonté de le faire taire, en contradiction avec le Premier Amendement de la Constitution des États-Unis, qui garantit la liberté d'expression des citoyens américains. Fallait oser.

23 octobre 2024 : réponse des avocats

La défense de Matt est LUNAIRE, il n'y a plus d'autres mots. Ses avocats font savoir que WordPress.org lui appartient en propre, que le site n'est affilié ni avec WordPress, ni avec Auttomatic. WP Engine aurait alors choisi volontairement de monter un business autour d'un site personnel, sans avoir de contrat ou de quelconque garantie d'accès : cette prise de risque n'oblige en rien Mullenweg a leur garantir un accès. Donc, le message est clair : ce que vous mettez sur WordPress.org, y compris thèmes et plugins, ne seront jamais en sécurité.

L'argument avancé par les avocats de Matt me semble assez difficile à défendre :

  • une des fonctionnalités majeures de WordPress, c'est justement son extensibilité via des thèmes et plugins tiers, dont le système natif utilise Wordpress.org
  • il y a plus de 1500 mentions de "wordpress.org", y compris sur le lien derrière le logo et dans le footer par défaut de tous les sites, dans le code source du CMS.

Mon avis

Le véritable danger dans cette affaire réside dans la concentration de pouvoir que Matt Mullenweg exerce sur l'écosystème WordPress, notamment via WordPress.org. En se positionnant comme gardien ultime du projet open source tout en jouant un rôle clé dans des décisions commerciales affectant des acteurs comme WP Engine, il crée une gouvernance opaque et dangereuse. En récupérant unilatéralement des projets comme Advanced Custom Fields (ACF) sous prétexte de sécurité, il s'octroie le droit de manipuler l'écosystème à sa guise, au détriment des entreprises qui en dépendent. Cette mainmise discrédite l'esprit collaboratif et libre prôné par le logiciel open source, en imposant ses propres règles et en bafouant la confiance de la communauté.

Et cafelog, dans tout ça ?

WordPress étant codé en PHP, est-ce que Auttomatic donne 8 % de ses revenus au PHP Group, dont il profite allègrement du travail ? ou à Linus Torvalds, qui maintient le noyau Linux ? ou encore à Nginx Inc qui développe le serveur web qu'il utilise sur WordPress.org ? ...

b2/cafelog, c'était un mini-CMS développé jusqu'en 2002 par un développeur français (cocorico), Michel Valdrighi. Quand celui-ci a arrêté de maintenir son projet, un certain Matt Mullenweg, accompagné de Mike Little, en ont fait un fork, qu'ils ont fait évoluer pour en faire le CMS qu'on connait... WordPress est donc directement basé sur un logiciel opensource pré-existant, qui n'a rien tiré du gigantesque succès de son descendant.

Matt Mullenweg aurait-il tout simplement craqué ?

On pourrait voir dans cette histoire une sombre (mais classique) affaire de dénigrement commercial et de gros sous. Mais il y a une autre possibilité, plus triste.

Mullenweg vs DHH

Le 8 octobre, David Heinemeier Hansson (DHH) a publié sur le blog de Hey (un service d'emails glorifiés, pour faire simple) un article où il explique son point de vue : Auttomatic is doing open source dirty. DHH, c'est le créateur de Ruby on Rails, et co-fondateur de Basecamp (un des premires SaaS de gestion de projets à avoir acquis une dimension internationale) avec sa boîte 37signals (dont je vous conseille de lire ReWork, un petit manuel de conseils anticonformistes pour créer une entreprise de manière plus efficace).

DHH explique qu'à ses yeux, même s'il est compréhensible qu'on soit frustré de voir une entreprise gagner autant d'argent "sur le dos" d'un projet open-source sans y contribuer, Matt viole la licence et l'esprit libre, puisque le principe même de ces licences repose sur la clarté et la prévisibilité. On ne peut pas imposer, à posteriori, de contraintes arbitraires.

L'article, même s'il est plutôt à charge, reste bienveillant. DHH semble indigné et parle franchement, et reproche surtout à Matt de se la jouer "Al Capone" lorsqu'il déclare à The Verge que WordPress.org lui appartient.

Sur son blog, Matt a répondu, dans un post depuis édité, qu'il comprenait que DHH soit aigri et cite plusieurs raisons, notamment le succès de Shopify (qui utilise Ruby On Rails et génère 7 milliards de dollars par an) dont DHH ne profite pas financièrement. Le ton du post était incroyablement condescendant et à la limite du ridicule :

Matt vs DHH

Archive du post entier ici

Je vais sortir de mon devoir de réserve sur un détail. Matt se vante du nombre de lignes de code que représente WordPress. Très franchement, et en restant diplomate, la codebase en question est quand même assez loin de l'état de l'art en 2024. Certes, c'est en grande partie pour des raisons de rétro-compatibilité, mais y'a vraiment pas de quoi se vanter.

Ambiance moisie sur Twitter

Depuis quelques jours, Mullenweg retweete des promotions de Hostinger pour les clients de WP Engine qui voudraient échapper aux problèmes causés par le blocage de Wordpress.org, en se moquant ouvertement du tollé qu'il génère.

L'apothéose (enfin, pour le moment) est arrivée quand Laura Elizabeth, cliente chez WP Engine, et éditrice d'un plugin WordPress commercial, s'est vu refuser l'accès à son portail de ressources à cause de la fameuse case à cocher. Elle en a fait un tweet, auquel le compte officiel de WordPress (on ne parle pas d'un compte personnel, auquel cas je serais mal placé pour l'ouvrir) a répondu "Sorry, who are you?". Encore une fois, communication assez incroyable quand on pèse plus de 40 % d'internet.

Concurrence déloyale ?

Automattic possède la majorité des parts de la société Pressable, concurrent direct de WP Engine, depuis 2016.