- JavaScript'teki küçük yardımcı kütüphaneler, LLM'lerin kod üretme yeteneği nedeniyle giderek gereksiz hale geliyor
- Örneğin
blob-util, 10 yıllık bir npm paketi ve Blob işleme araçları koleksiyonu, ancak artık yapay zeka benzer kodu anında üretebiliyor
- Bu değişim daha az bağımlılık ve daha hızlı geliştirme sağlarken, öğrenme ve anlama fırsatlarının kaybına yol açıyor
- Node.js ve tarayıcıların yerleşik özelliklerinin genişlemesinin ardından, LLM'ler küçük ölçekli kütüphanelerin sonunu hızlandırıyor
- Gelecekte açık kaynağın değeri, yaratıcı, büyük ölçekli ve uzmanlık gerektiren alanlarda varlığını sürdürebilir
Küçük açık kaynağın gerileyişi ve LLM'lerin etkisi
- 10 yıl önce oluşturulan
blob-util, JavaScript'in Blob nesnesini string'e veya ArrayBuffer'a dönüştüren basit bir yardımcı araçlar paketi ve haftada 5 milyondan fazla indiriliyor
- Yazar, PouchDB kullanıcılarının
Blob işleme konusunda kafa karışıklığı yaşadığını görüp bunu geliştirdi
- Günümüzde geliştiricilerin yaklaşık %80'i işlerinde yapay zeka kullanıyor ve bu nedenle basit yardımcı araçlar LLM'lerle ikame edilebiliyor
- Örnek olarak Claude,
Blob'u ArrayBuffer'a dönüştüren bir TypeScript fonksiyonunu anında üretiyor
- Claude'un çıktısı
blob-util ile benzerlik gösteriyor, ancak daha ayrıntılı, tip doğrulaması gereğinden fazla ve hata işleme tarafı daha iyi
- Yazar, bu değişimin bağımlılıkların azalması ve kod dayanıklılığının artması olarak görülebileceğini belirtiyor
Öğrenme odaklı açık kaynağın değer kaybı
blob-util README'sinde Kirby karakterini kullanan bir eğitim yer alıyor ve amaç yalnızca işlev sunmak değil, JavaScript öğrenimine yardımcı olmaktı
- LLM merkezli geliştirme ortamında anında yanıtlar, anlama ve eğitimin önüne geçiyor; bu da bu tür öğrenme amaçlı açık kaynaklara olan ihtiyacı azaltıyor
- Dokümantasyon otomasyonu için
llms.txt gibi girişimler, dokümantasyonun anlamını yeniden tanımlamaya başlıyor
Açık kaynağın yeni yönü
- Yazar açık kaynağa katkı sunmayı sürdürüyor, ancak küçük ölçekli ve düşük değerli kütüphaneler dönemi sona erdi diye düşünüyor
- Node.js ve tarayıcılardaki yerleşik özelliklerin (
node:glob, structuredClone vb.) genişlemesiyle bu eğilim zaten başlamıştı
- LLM'ler bu akışı belirleyici biçimde hızlandırdı
- Eğitsel rol oynayan kütüphanelere de (ör. Underscore.js) duyulan ihtiyaç azalıyor
- Dizileri gruplayan basit işlevler gibi özellikler artık standart API'lerle çözülebiliyor
Değerini koruyan açık kaynağın koşulları
- Değer, LLM'lerin kolayca üretemeyeceği büyük ölçekli, yaratıcı ve uzmanlık gerektiren projelerde yoğunlaşıyor
- Örneğin
fuite projesi ve bellek sızıntısı tespiti araştırmaları, LLM'lerin yeniden üretmekte zorlanacağı yaratıcı çalışmalar
- Gelecekte açık kaynağın anlamı yeni fikirlerde ve insani yaratıcılıkta yatıyor
- Örnek olarak Dominic Gannaway'in geliştirdiği Ripple.js framework'ü anılıyor ve insanın deneysel ruhu vurgulanıyor
Sonuç
- LLM'ler bazı açık kaynak projelerini eskimiş hale getirmiş olsa da, hâlâ yeni tür açık kaynak üretimi için fırsatlar var
- İnsan geliştiricilerin yaratıcılığı ve deneysel yaklaşımı, yapay zeka çağında açık kaynak ekosisteminin sürdürülebilirliği için temel unsur olarak sunuluyor
4 yorum
left-pad gibi tuhaf ekosistem alışkanlıkları engellenebildiği sürece bunun sorun olmadığını düşünüyorum
Giderek çabaya kıyasla tatminin azaldığı bir döneme girdikçe, küçük yardımcı araçların bakımına harcanan emeğe kıyasla yeterince değerli görülmeyip göz ardı edileceğini düşünüyorum.
Hacker News görüşleri
Günümüzde geliştiricilerin yaklaşık %80’i işlerinde yapay zekayı kullanıyor
blob-utilgibi yardımcı araçlar artık çoğunlukla LLM ile doğrudan üretilebiliyorAncak bu yaklaşım iki ucu keskin bir kılıç. Doğrulanmamış kod bakım yükü bırakabiliyor ve uç durumlarda başarısız olabiliyor
Bu yüzden Java ekosisteminde Apache Commons gibi güvenilir standart yardımcı araç koleksiyonları yerleşmiş durumda
Buna karşılık LLM’in ürettiği kod dışarıdan mantıklı görünse de içinde garip hatalar barındırma olasılığı yüksek
Yapay zekanın büyük ölçekte kod ve eğitim içeriği üretmesiyle kalite düşüşünün ve spamleşmenin hızlandığı bir döneme girdik
Kişisel blog ya da küçük kütüphane üretme motivasyonu azalıyor
LLM’in yazdığı içerik de benzer seviyede, hatta filtrelemesi daha kolaymış gibi geliyor
Ben
devcontaineriçinde kodu çalıştırarak bir eğitimin gerçek değerini test ediyorum. Çalışıyorsa bakmaya değer, değilse çöpe gidiyorJS’nin mikro bağımlılık cehennemi bir kâbustu
Şimdi o çağın sona ermesini ve geliştiricilerin yeniden kod yazmayı öğrendiği bir döneme dönülmesini umuyorum
jQueryya dalodashgibi küçük yardımcı araç koleksiyonlarını tek pakette toplamak en iyi sonucu vermiştivibe coderçağı geldi” diye ekledi“İkili ağacı ters çevirme problemi” diye bir şeyin gerçekten var olup olmadığı soruldu
“Küçük ve düşük değerli kütüphaneler dönemi bitti” iddiasına katılanlar var
Go dilinde baştan beri bağımlılık cehennemi yoktu, npm’in sorunu ise kültürel nedenlerden kaynaklanıyordu
Artık yardımcı araçlardan çok gerçekten çalışan ürünler yapmak daha değerli ve daha eğlenceli
Ben mikro bağımlılıkların kendisinin anlamsız olduğunu düşünüyorum
Bunun yerine fonksiyon listesini Markdown’a yazıp insanların kopyalamasını sağlamak daha iyi olabilir
C’nin başlık dosyası tabanlı küçük kütüphane yaklaşımı daha pratik
“Artık hangi tür açık kaynak anlamlı olacak?” sorusu gündeme geldi
Çünkü yayımlanan kod sonunda yapay zeka eğitim verisine emiliyor
Bu yüzden tam FOSS yerine source-available modelinin bir alternatif olabileceği düşünülüyor
Yazar ise katkının anlamının yalnızca isim yazılmasından daha büyük olduğunu vurguluyor
source-availableolsa da sonuçta eğitimde kullanılacak” diyerek kuşkuyla yaklaşanlar da varBen açık kaynağın yok olmayacağına, tam tersine daha da güçleneceğine inanıyorum
Gerçekten yaratıcı geliştiriciler yapay zekayı kullanarak şirketlerin üretemeyeceği yenilikler ortaya koyacak
Açık kaynak hâlâ gerçek değerin sınandığı bir alan ve yapay zeka aracılığıyla sınırları aşarak öğrenilen bir yer
Ama hükümetler ve büyük şirketler yerel yapay zeka sistemlerini düzenlemeye çalışacak ve yakında “vatandaşların kullanabileceği yapay zeka”nın sınırları oluşacak diye öngörülüyor
İnceleme ve politika tartışmalarına harcanan zaman artıyor; özellikle derleyici gibi karmaşık alanlarda yapay zeka hiç yardımcı olmuyor
Bazıları “Bir paket olarak eklenmese bile, kodu yayımlama eyleminin kendisi hâlâ değerlidir” diye vurguluyor
LLM kodu benim yerime yazdığında öğrenme yükü azalıyor ve daha derin konulara odaklanabiliyorum
Örneğin biri
rubygems.org’u 14 yıl ayakta tuttuktan sonra şirketleşmiş yapıdan hayal kırıklığına uğrayıp ayrıldığını anlattı“Yapay zekayla kod yazmak da sonuçta bir bağımlılık türü” denildi
Doğrulamadan kopyala-yapıştır yapmak, dış kütüphane eklemekten farklı değil
2024’ün başında küçük bir proje yaparken
claude 3.5’ten pure javascript’te kullanılabilecek bir store state modülü yapmasını istemiştim;
hem sade hem de migration durumlarına kadar uyum sağlayan bir kod yazmıştı, buna şaşırdığımı hatırlıyorum.
Özellikle küçük kütüphanelerde, benzer düşünen insanların yayımladığı kodun çok olacağını ve yapay zekanın bunları daha kolay biçimde standart bir yapıya dönüştürebileceğini düşünürsek, bunun doğal bir durum olduğunu düşünüyorum.
Copyparty gibi, herkesin aklına gelebilecek ama bir bireyin uzun süre sürdürmesinin zor olduğu.
Böyle projeleri sonuna kadar götürüp ortaya temizce rafine edilmiş projeler çıkaran işleri, bundan sonra görmek zorlaşabilir düşüncesi ise biraz üzücü.