Freenginx : l'un des développeurs principaux de Nginx annonce la création d'un fork
-
Le 14 février 2024, Maxim Dounin, l’un des développeurs principaux du serveur web Nginx, a annoncé la création d’un nouveau fork du projet, nommé Freenginx. Cette décision fait suite à un désaccord avec F5, l’entreprise qui a racheté la société Nginx en 2019.
Qu’est-ce que Nginx ?
NGINX est un logiciel libre de serveur Web (ou HTTP) ainsi qu’un proxy inverse écrit par Igor Sysoev, dont le développement a débuté en 2002 pour les besoins d’un site russe à très fort trafic (Rambler). Sa première sortie publique remonte à octobre 2004. Igor a d’abord conçu le logiciel comme une réponse au problème du C10k, qui est un problème de performance lié à la gestion de 10 000 connexions simultanées.
Nginx est conçu pour offrir une faible utilisation de la mémoire et une grande simultanéité. Plutôt que de créer de nouveaux processus pour chaque requête Web, Nginx utilise une approche asynchrone et événementielle où les requêtes sont traitées dans un seul thread. Avec Nginx, un processus maître peut contrôler plusieurs processus de travailleurs. Le maître gère les processus du travailleur, tandis que les travailleurs effectuent le traitement proprement dit. Comme Nginx est asynchrone, chaque requête peut être exécutée simultanément par le travailleur sans bloquer les autres requêtes.
NGINX est donc :
- un système asynchrone par opposition aux serveurs synchrones où chaque requête est traitée par un processus dédié. Au lieu d’exploiter une architecture parallèle et un multiplexage temporel des tâches par le système d’exploitation, NGINX utilise les changements d’état pour gérer plusieurs connexions en même temps ; le traitement de chaque requête est découpé en de nombreuses mini-tâches et permet ainsi de réaliser un multiplexage efficace entre les connexions. Afin de tirer parti des ordinateurs multiprocesseurs, plusieurs processus peuvent être démarrés. Ce choix d’architecture entraine des performances très élevées, ainsi qu’une charge et une consommation de mémoire très inférieures à celles des serveurs HTTP classiques comme Apache.
- très modulaire : un noyau minimal et de nombreux modules, venant compléter les fonctions de base. Chaque module peut agir comme un filtre sur le contenu en entrée, en sortie ou intermédiaire (proxy) par le biais de nombreuses fonctions de rappel (callbacks). Ainsi, à titre d’exemple, un contenu dynamique peut être compressé à la volée par le module « gzip » avant envoi.
- s’appuie sur des structures de données minimales, mais optimales, visant à réduire le nombre d’appels système, en particulier pour tout ce qui a trait à l’allocation de mémoire.
NGINX est utilisé par de nombreux sites web populaires, tels que Netflix, Facebook, YouTube ou Wikipédia. Selon les estimations de W3techs, il représente 34,1 % des serveurs web dans le monde en février 2024.
Pourquoi un fork ?
En 2011, Sysoev, Dounin et Andrew Alexeev ont fondé Nginx Inc., une entreprise qui propose du support commercial pour Nginx. En 2019, Nginx Inc. a été rachetée par F5, une société américaine spécialisée dans les solutions réseau, pour 670 millions de dollars.
Selon l’annonce de Dounin, il a rompu ses liens avec F5 lorsque le bureau de Moscou a été fermé en 2022, et il a continué à participer au développement de Nginx en tant que bénévole. Il n’y avait pas de problème avec le fait que F5 ne le rémunérait pas, mais il a pris ombrage du fait que la direction de F5 a changé de mains et a interféré avec la politique de sécurité de Nginx, ignorant les développeurs et la communauté, ce qu’il considère comme une « violation de l’accord ».
De plus, le développement de Nginx est désormais entièrement sous le contrôle de F5 et n’est plus sous celui de Dounin, et Nginx ne peut plus être considéré comme un logiciel libre et open source développé pour le bien public.
Face à cette situation, il a annoncé le lancement d’un nouveau fork de Nginx appelé “freenginx”, dans le but de « protéger le développement de Nginx des actions égoïstes des entreprises ».
Bonjour !
Comme vous le savez probablement, F5 a fermé son bureau de Moscou en 2022, et je ne travaille plus pour F5 depuis lors. Cependant, nous avons conclu un accord pour que je continue à jouer un rôle dans le développement de nginx en tant que bénévole. Et pendant presque deux ans, j’ai travaillé sur l’amélioration de nginx, gratuitement.
Malheureusement, une nouvelle direction non technique de F5 a récemment décidé qu’elle savait mieux que moi comment gérer nginx. En particulier, ils ont décidé de s’immiscer dans le développement de nginx, en ignorant à la fois la politique de sécurité que nginx utilise depuis des années et la position des développeurs.
C’est tout à fait compréhensible : ils possèdent le projet et peuvent en faire ce qu’ils veulent, y compris des opérations motivées par le marketing, en ignorant la position des développeurs et de la communauté. Néanmoins, cela contredit notre accord. Et, plus important encore, je ne peux plus contrôler les modifications apportées à nginx au sein de F5, et je ne considère plus nginx comme un projet libre et open source développé par F5.
Ainsi, à partir d’aujourd’hui, je ne participerai plus au développement de nginx tel qu’il est géré par F5. Au lieu de cela, je démarre un projet alternatif, qui sera géré par des développeurs, et non par des entités d’entreprise :
Le but est de garder le développement de nginx libre de toute action corporative arbitraire. L’aide et les contributions sont les bienvenues. J’espère que cela sera bénéfique pour tout le monde.
Quelles sont les perspectives de Freenginx ?
Le site web de Freenginx se présente comme un projet dont l’objectif est de « maintenir le développement de Nginx libre des actions arbitraires des entreprises ». Il n’y a pas encore de code source disponible, mais Dounin a indiqué qu’il travaillait dessus et qu’il sollicitait l’aide et les contributions de la communauté.
Il reste à voir quel sera l’impact de Freenginx sur le développement de Nginx et sur le marché des serveurs web. Dounin est l’un des trois développeurs principaux de Nginx, avec Sysoev qui s’est retiré du développement en 2022, et son départ risque de porter un coup à la qualité et à l’innovation de Nginx.
D’autre part, Freenginx devra faire face à la concurrence d’autres serveurs web open source, tels qu’Apache, Lighttpd ou Caddy, et devra convaincre les utilisateurs de Nginx de migrer vers sa version.
Freenginx sera-t-il un succès ou un échec ? L’avenir nous le dira.
– Sources :
Que pensez-vous de la décision de Dounin de créer un fork de Nginx ?
Pensez-vous que Freenginx sera capable de rivaliser avec Nginx et les autres serveurs web ?
Quels sont les avantages et les inconvénients de l’utilisation de Nginx pour votre site web ?
Quelle est votre opinion sur le rôle de F5 dans le développement de Nginx ?
Quelle est l’importance de la liberté et de l’ouverture du logiciel pour vous ? -
Très difficile de prédire si cela un échec ou un renouveau, mais pour ma part, je pense que Freenginx à un fort potentiel et j’espere que la mayonnaise prendra au sein de la commuauté, suffit que quelques grands acteurs du marché migre et le tour est joué ^_^
Sur mes VPS, je migrerai surement.
-