- Ein Beitrag über die Offenheits- und Governance-Probleme von Next.js: das Fehlen von Adaptern, mangelnde offizielle Serverless-Unterstützung, Vercel-spezifische Codepfade und Vercels Umgang mit Sicherheitsvorfällen
- Die Wahl des Technologie-Stacks ist eine wichtige Entscheidung, die sich langfristig auf Entwicklungsgeschwindigkeit, Qualität und Teamzusammensetzung eines Projekts auswirkt
- Open-Source-Software gibt Nutzern die Freiheit, Code zu erweitern und zu verändern, und bietet den Vorteil, Vendor Lock-in zu vermeiden
- Next.js wird zwar als Open Source bereitgestellt, ist aber eng mit der Infrastruktur von Vercel verflochten
- Es ist nicht problematisch, wenn Unternehmen mit selbst entwickelter Open-Source-Software Geld verdienen, aber die Grenze zwischen Open Source und Unternehmen muss klar sein, damit das Modell nachhaltig ist
Hintergrund und Interessenkonflikte des Autors
- Der Autor arbeitet seit mehr als vier Jahren bei Netlify, und Netlify steht in Konkurrenz zu Vercel
- Durch den direkten Aufbau von Infrastruktur und Tooling bei Netlify, um den vollen Funktionsumfang von Next.js zu unterstützen, hat er ein tiefes Verständnis der internen Struktur von Next.js gewonnen
- Lange Zeit hat er sich gescheut, die Probleme öffentlich anzusprechen, entschied sich aber nach Vercels jüngstem Umgang mit Sicherheitsproblemen zu diesem Beitrag, da er der Ansicht ist, dass dieser der Community geschadet hat
# Probleme bei Offenheit und Governance von Next.js
Fakt #1: Fehlende Adapter
- Die meisten modernen Frameworks lassen sich je nach Deployment-Ziel flexibel über Adapter konfigurieren
- Next.js unterstützt Adapter nicht offiziell, und das Ausgabeformat hat eine proprietäre, nicht öffentliche Struktur, die nur bei Vercel verwendet wird
- Vercel hat zwar die Build Output API geschaffen, doch Next.js unterstützt sie weiterhin nicht
- Dadurch müssen Anbieter außerhalb von Vercel auf Basis undokumentierter APIs entwickeln, was sie anfällig für unerwartete Änderungen macht
- Cloudflare und Netlify arbeiten über OpenNext gemeinsam an der Entwicklung von Adaptern für Next.js, und auch Vercel beteiligt sich inzwischen daran, aber einen konkreten Zeitplan gibt es noch nicht
Fakt #2: Mangelnde offizielle Serverless-Unterstützung
- Die offizielle Self-Hosting-Methode von Next.js basiert auf langlebigen Servern, wodurch sich flexible Skalierung und Kostensenkung in realen Produktionsumgebungen nur schwer umsetzen lassen
- Früher gab es einen Serverless-Modus, der jedoch im Oktober 2022 ohne besondere Erklärung entfernt wurde
- In der offiziellen React-Dokumentation wird erwähnt, dass Serverless-Deployments möglich sind, aber es gibt keine offizielle Dokumentation, wie man dies tatsächlich umsetzt
- Hosting-Anbieter, die Serverless-Umgebungen anbieten wollen, müssen Next.js per Reverse Engineering analysieren und selbst implementieren
Fakt #3: Vercel-spezifische Codepfade existieren
- Next.js enthält nicht öffentliche Codepfade, die nur bei einem Deployment auf Vercel funktionieren (zum Beispiel minimal mode)
- Über diesen Modus kann Vercel Leistungsoptimierungen umsetzen, etwa Middleware am Edge auszuführen
- Middleware ermöglicht es, Logik schnell vor dem Cache-Pfad auszuführen, aber diese Funktion steht nur Vercel zur Verfügung
- Netlify hat zur Unterstützung dieser Funktion ein eigenes dediziertes Engineering-Team eingesetzt und eine eigene Implementierung gebaut, doch das erfordert Ressourcen, die für kleinere Anbieter unrealistisch sind
- Dass nur Vercel offiziell die volle Funktionalität von Next.js bereitstellt, widerspricht dem Open-Source-Gedanken des Frameworks
Sicherheitsvorfall und Vercels Reaktion
- Am 21. März 2025 wurde in Next.js eine schwerwiegende Sicherheitslücke veröffentlicht, die eine Umgehung der Authentifizierung ermöglichte (CVE 9.1)
- Die Schwachstelle bestand darin, dass sich Middleware durch einen bestimmten Header in der Anfrage deaktivieren ließ, wodurch auf geschützte Ressourcen zugegriffen werden konnte
- Die Schwachstelle wurde am 27. Februar gemeldet, aber Vercel begann erst am 14. März mit der Untersuchung
- Nachdem das Problem erkannt war, wurde zwar schnell ein Patch ausgeliefert, doch es dauerte weitere acht Tage, bis andere Anbieter wie Netlify informiert wurden
- Im ursprünglichen Blogbeitrag wurde suggeriert, dass die Firewall von Vercel die Kunden geschützt habe, tatsächlich war das jedoch nicht der Fall
- Dadurch reagierten mehrere Anbieter und Entwickler auf Basis falscher Informationen oder gerieten in Verwirrung, und es ist möglich, dass noch immer viele Websites verwundbar sind
Vercels Eigentümerschaft an Next.js und Verantwortung gegenüber Open Source
- Dass Vercel Eigentümer von Next.js ist, lässt sich nicht bestreiten, und auch die Monetarisierung ist legitim
- Da es jedoch als Open Source angeboten wird, sollten auch andere Anbieter es unter gleichen Bedingungen nutzen können, und in diesem Punkt bleibt Vercel hinter den Erwartungen zurück
- Redis, Grafana und WordPress betreiben ebenfalls kommerzielle Services zusammen mit Open-Source-Projekten und bewahren dabei Offenheit und Interoperabilität
Fazit
- Für welches Framework man sich entscheidet, ist letztlich Sache des Nutzers, und wenn Next.js zur Lösung der eigenen Probleme optimal ist, kann man es selbstverständlich weiter verwenden
- Wichtig ist jedoch, die aktuellen strukturellen Probleme und Einschränkungen von Next.js zu kennen, bevor man sich dafür entscheidet
4 Kommentare
Hacker-News-Kommentare
Der Autor arbeitet bei Netlify und sagt selbst, dass sein Unternehmen in direkter Konkurrenz zu Vercel steht. Das wirkt nicht besonders objektiv.
Wenn man in letzter Zeit Vergleiche zwischen konkurrierenden Frameworks wie TanStack oder Remix gesehen hat, ist der Inhalt des Artikels im Großen wie im Kleinen im Grunde bereits bekannt. Noch ist der Marktanteil von Next.js einfach sehr groß, und da Vercel auch keine allzu offensichtlichen Schritte zeigt, ist das bislang nicht an die Oberfläche getreten.
Zu behaupten, die in dem Artikel vermittelten Informationen seien nicht objektiv, nur weil der Autor bei einem Konkurrenzunternehmen arbeitet, ist ein persönlicher Angriff. Wirkt der Text auch dann noch seltsam, wenn man den Hintergrund und die Interessenlage des Autors ausblendet? Ich halte ihn für nützliche Informationen.