- Un article qui traite des problèmes d’ouverture et de gouvernance de Next.js : absence d’adaptateurs, manque de prise en charge serverless officielle, chemins de code réservés à Vercel, ainsi que l’attitude de Vercel dans sa réponse à un incident de sécurité
- Le choix d’une stack technique est une décision importante, avec des effets de long terme sur la vitesse de développement, la qualité du projet et la composition de l’équipe
- Les logiciels open source donnent aux utilisateurs la liberté d’étendre et de modifier le code, avec l’avantage d’éviter l’enfermement propriétaire
- Next.js est proposé en open source, mais reste étroitement imbriqué avec l’infrastructure de Vercel qui l’a créé
- Il n’y a rien de problématique à ce qu’une entreprise tire des revenus d’un logiciel open source qu’elle a créé, mais pour qu’un tel modèle soit durable, la frontière entre l’open source et l’entreprise doit être claire
Contexte et intérêts de l’auteur
- L’auteur travaille chez Netlify depuis plus de quatre ans, et Netlify est en concurrence avec Vercel
- En construisant directement chez Netlify l’infrastructure et l’outillage nécessaires pour prendre en charge toutes les fonctionnalités de Next.js, il a acquis une compréhension approfondie de son architecture interne
- Il a longtemps hésité à soulever publiquement ces problèmes, mais a décidé d’écrire cet article après avoir estimé que la manière dont Vercel a géré un récent problème de sécurité nuisait à la communauté
# Problèmes d’ouverture et de gouvernance de Next.js
Fait n°1 : absence d’adaptateurs
- La plupart des frameworks modernes peuvent être configurés de manière flexible selon la cible de déploiement via des adaptateurs
- Next.js ne prend pas officiellement en charge les adaptateurs, et son format de sortie repose sur une structure propriétaire et non publique utilisée uniquement par Vercel
- Vercel a créé la Build Output API, mais Next.js ne la prend toujours pas en charge
- En conséquence, les fournisseurs autres que Vercel doivent construire leurs solutions sur des API non documentées, ce qui les rend vulnérables aux changements imprévus
- Cloudflare et Netlify collaborent au développement d’adaptateurs Next.js via OpenNext, et Vercel a aussi commencé à y participer, mais aucun calendrier concret n’a encore été annoncé
Fait n°2 : manque de prise en charge serverless officielle
- La méthode officielle d’auto-hébergement de Next.js repose sur des serveurs à exécution longue, ce qui rend difficile l’obtention d’une mise à l’échelle souple et d’une réduction des coûts en conditions réelles d’exploitation
- Il existait autrefois un mode serverless, mais il a été supprimé en octobre 2022 sans véritable explication
- La documentation officielle de React mentionne qu’un déploiement serverless est possible, mais il n’existe en pratique aucune documentation officielle expliquant comment le mettre en œuvre
- Les fournisseurs d’hébergement qui veulent un environnement serverless doivent faire de la rétro-ingénierie sur Next.js et en réaliser leur propre implémentation
Fait n°3 : existence de chemins de code réservés à Vercel
- Next.js contient des chemins de code non publics qui ne fonctionnent que lors d’un déploiement sur Vercel (par exemple : minimal mode)
- Grâce à ce mode, Vercel peut optimiser les performances, notamment en exécutant le middleware à l’edge
- Le middleware permet d’exécuter rapidement de la logique avant le passage par le cache, mais cette fonctionnalité n’est accessible qu’à Vercel
- Netlify a mis en place une équipe d’ingénieurs dédiée et développé sa propre implémentation pour prendre en charge cette fonctionnalité, mais cela exige un niveau de ressources inaccessible aux petits fournisseurs
- Le fait que Vercel soit en pratique la seule plateforme à proposer officiellement l’ensemble des fonctionnalités de Next.js va à l’encontre de la philosophie open source du framework
Incident de sécurité et réponse de Vercel
- Le 21 mars 2025, une faille de sécurité critique dans Next.js permettant de contourner l’authentification (CVE notée 9,1) a été rendue publique
- Cette vulnérabilité permettait, en incluant un en-tête spécifique dans la requête, de neutraliser le middleware et d’accéder à des ressources protégées
- La faille a été signalée le 27 février, mais Vercel n’a commencé à l’examiner que le 14 mars
- Une fois le problème identifié, un correctif a été déployé rapidement, mais il a fallu huit jours pour en informer d’autres fournisseurs comme Netlify
- Le billet de blog initial laissait entendre que le pare-feu de Vercel avait protégé ses clients, alors qu’en réalité ce n’était pas le cas
- Cela a conduit plusieurs fournisseurs et développeurs à réagir sur la base d’informations erronées ou à se retrouver dans la confusion, et il est possible que de nombreux sites soient encore vulnérables
La propriété de Next.js par Vercel et les responsabilités de l’open source
- On ne peut pas nier que Vercel possède Next.js, et sa monétisation est légitime
- Mais puisqu’il est distribué en open source, les autres fournisseurs devraient aussi pouvoir l’utiliser à égalité, et sur ce point Vercel est en deçà des attentes
- Redis, Grafana, WordPress et d’autres exploitent eux aussi à la fois des services commerciaux et des projets open source, tout en préservant l’ouverture et l’interopérabilité
Conclusion
- Quel que soit le framework choisi, cela relève de la décision de chacun, et si Next.js est le meilleur choix pour résoudre votre problème, il reste tout à fait possible de l’utiliser
- Mais il est important de choisir en connaissant les problèmes structurels et les limites actuelles de Next.js
4 commentaires
Commentaires Hacker News
L’auteur travaille chez Netlify et dit lui-même être un concurrent direct de Vercel. Cela me semble manquer un peu d’objectivité.
Le contenu de l’article reprend, dans les grandes lignes comme dans les détails, des points que tout le monde connaît déjà s’il a récemment comparé des frameworks concurrents comme TanStack ou Remix. Pour l’instant, la part de marché de Next.js reste tellement importante et Vercel n’a pas encore adopté une posture assez ouvertement agressive pour que cela apparaisse clairement à la surface.
Prétendre que les informations qu’un article cherche à transmettre manquent d’objectivité au seul motif que son auteur travaille chez un concurrent, c’est une attaque ad hominem. Même si l’on fait abstraction du parcours de l’auteur et de ses intérêts, est-ce vraiment un mauvais article ? Je pense que ce sont des informations utiles.