- Next.js’in açıklığı ve yönetişim sorunlarını ele alan bir yazı: adaptör eksikliği, resmi serverless desteğinin yetersizliği, Vercel’e özel kod yolları ve güvenlik olaylarına karşı Vercel’in yaklaşımı
- Teknoloji yığını seçimi; projenin geliştirme hızı, kalitesi ve ekip yapısı üzerinde uzun vadeli etkiler yaratan önemli bir karardır
- Açık kaynak yazılımlar, kullanıcılara kodu genişletme ve değiştirme özgürlüğü sunar ve vendor lock-in’den kaçınma avantajı sağlar
- Next.js açık kaynak olarak sunulsa da, onu geliştiren Vercel’in altyapısıyla yakından iç içedir
- Şirketlerin kendi geliştirdiği açık kaynaktan gelir elde etmesi sorun değildir; ancak bunun sürdürülebilir bir model olabilmesi için açık kaynak ile şirket arasındaki sınırın net olması gerekir
Yazarın geçmişi ve çıkar ilişkisi
- Yazar 4 yılı aşkın süredir Netlify’da çalışıyor ve Netlify, Vercel’in rakibi konumunda
- Netlify’de Next.js’in tüm özelliklerini desteklemek için altyapı ve araçları doğrudan inşa ederken, Next.js’in iç yapısı hakkında derin bir anlayış kazandı
- Uzun süre bu sorunları kamuya açık şekilde gündeme getirmekten kaçındı; ancak yakın dönemde Vercel’in güvenlik sorunlarına yaklaşımının topluluğa zarar verdiğine karar vererek bu yazıyı kaleme aldı
# Next.js’in açıklığı ve yönetişim sorunları
Fact #1: Adaptör eksikliği
- Modern framework’lerin çoğu, dağıtım hedefine göre adaptörler aracılığıyla esnek biçimde yapılandırılabilir
- Next.js adaptörleri resmi olarak desteklemez ve çıktı formatı yalnızca Vercel’de kullanılan, kapalı ve özel bir yapıdır
- Vercel, Build Output API’yi oluşturdu; ancak Next.js hâlâ bunu desteklemiyor
- Sonuç olarak Vercel dışındaki sağlayıcılar, belgelenmemiş API’lere dayanarak geliştirme yapmak zorunda kalıyor ve bu durum onları beklenmedik değişikliklere açık hale getiriyor
- Cloudflare ve Netlify, OpenNext aracılığıyla Next.js için adaptör geliştirmede iş birliği yapıyor; Vercel de buna katılmaya başladı, ancak henüz somut bir takvim yok
Fact #2: Resmi serverless desteğinin yetersizliği
- Next.js’in resmi self-hosting yöntemi, uzun süre çalışan sunuculara dayanır; bu da gerçek üretim ortamlarında esnek ölçeklenebilirlik ve maliyet tasarrufu sağlamayı zorlaştırır
- Geçmişte bir serverless modu vardı, ancak Ekim 2022’de belirgin bir açıklama olmadan kaldırıldı
- React’in resmi belgelerinde serverless dağıtımın mümkün olduğundan söz edilse de, bunu fiilen hayata geçirmek için resmi bir dokümantasyon yok
- Serverless ortam isteyen hosting sağlayıcıları, Next.js’i reverse engineering ile çözümleyip kendi uygulamalarını geliştirmek zorunda kalıyor
Fact #3: Vercel’e özel kod yollarının varlığı
- Next.js, yalnızca Vercel dağıtımında çalışan özel kod yolları içeriyor (ör. minimal mode)
- Bu mod sayesinde Vercel, middleware’i edge üzerinde çalıştırmak gibi performans optimizasyonları yapabiliyor
- Middleware, mantığın cache öncesi aşamada hızlıca çalıştırılmasını sağlayan bir özellik; ancak bu yetenekten yalnızca Vercel yararlanabiliyor
- Netlify, bu özelliği desteklemek için özel bir mühendis ekibi kurup kendi uygulamasını geliştirdi; ancak bu, küçük sağlayıcılar için imkânsız denecek kadar fazla kaynak gerektiriyor
- Yalnızca Vercel’in Next.js’in tüm özelliklerini resmi olarak sunabilen tek platform olması, framework’ün açık kaynak felsefesiyle çelişiyor
Güvenlik olayı ve Vercel’in tepkisi
- 21 Mart 2025’te, Next.js’te kimlik doğrulama atlatılmasına izin veren ciddi bir güvenlik açığı (CVE 9.1) kamuya açıklandı
- Bu açık, isteğe belirli bir header eklendiğinde middleware’i etkisiz hale getirerek korunan kaynaklara erişim sağlanmasına yol açıyordu
- Açık 27 Şubat’ta bildirilmişti; ancak Vercel bunu incelemeye 14 Mart’ta başladı
- Sorunun farkına vardıktan sonra yamayı hızlıca yayımladı, fakat Netlify gibi diğer sağlayıcılara bilgi vermesi 8 gün sürdü
- İlk blog yazısında, Vercel’in firewall’unun müşterileri koruduğu ima edildi; ancak gerçekte durum böyle değildi
- Bunun sonucunda birçok sağlayıcı ve geliştirici yanlış bilgilere dayanarak aksiyon aldı veya kafa karışıklığı yaşadı; ayrıca hâlâ çok sayıda sitenin savunmasız olma ihtimali bulunuyor
Vercel’in Next.js üzerindeki sahipliği ve açık kaynak sorumluluğu
- Vercel’in Next.js’in sahibi olduğu gerçeği inkâr edilemez ve bundan gelir elde etmesi de meşrudur
- Ancak açık kaynak olarak sunulduğu için diğer sağlayıcıların da onu eşit koşullarda kullanabilmesi gerekir; Vercel ise bu noktada beklentilerin gerisinde kalıyor
- Redis, Grafana ve WordPress de ticari hizmetlerle açık kaynak projeleri birlikte yürütürken açıklığı ve birlikte çalışabilirliği koruyor
Sonuç
- Hangi framework’ü seçerseniz seçin bu sizin kararınızdır; Next.js sorununuzu çözmek için en iyi seçenekse, onu kullanmaya devam etmek de gayet makuldür
- Ancak seçim yaparken, Next.js’in bugün sahip olduğu yapısal sorunları ve kısıtları bilmek önemlidir
4 yorum
Hacker News görüşleri
Yazarın Netlify çalışanı olduğu ve kendi ifadesiyle Vercel’in doğrudan rakibi olduğu söyleniyor. Bu yüzden biraz tarafsızlıktan uzak görünüyor.
Metindeki içerik, son dönemde tanstack ya da remix gibi rakip framework'ler arasında karşılaştırma yaptıysanız, büyük ya da küçük ölçekte herkesin zaten bildiği şeyler. Şimdilik nextjs'nin pazar payı çok büyük ve Vercel de bu konuda açıkça agresif bir çizgi izlemediği için bu durum görünür hale gelmedi.
Rakip bir şirkette çalıştığı gerekçesiyle yazının aktarmak istediği bilginin nesnelliğinin yetersiz olduğunu öne sürmek ad hominem saldırıdır. Yazarın geçmişini ve çıkar ilişkilerini bir kenara bırakıp okusanız da garip bir yazı mı? Bence faydalı bir bilgi.