Eski NPM CTO'su dağıtılmış paket deposu Entropic'i geliştirdi

Geçen yılın sonunda NPM Inc'in CTO'su görevinden ayrılan CJ Silverio, sunulan yeni paket deposu EntropikBelirli bir şirket tarafından kontrol edilmeyen, NPM'ye dağıtılmış bir alternatif olarak geliştirilmekte olan. Entropic'in kodu JavaScript'te yazılmıştır ve tarafından dağıtıldı Apache 2.0 altında lisanslanmıştır. Proje yalnızca bir aydır geliştiriliyor ve ilk prototip aşamasında ancak paketleri bağlama, yayınlama ve yükleme gibi temel işlemleri zaten destekliyor.

Entropic'in yaratılmasının nedeni, JavaScript/Node.js ekosisteminin, paket yöneticisinin geliştirilmesini ve NPM deposunun bakımını kontrol eden NPM Inc'e tamamen bağımlı olmasıdır. Burası, kar amacı güden bir şirketin, milyonlarca JavaScript geliştiricisinin ve uygulamasının bağlı olduğu ve haftada milyarlarca paket indirme işlemini gerçekleştiren bir sistemin tek kontrolüne sahip olduğu yerdir.

Son zamanlarda yaşanan bir dizi çalışan işten çıkarmaları, yönetim değişiklikleri ve NPM Inc.'in yatırımcılarla flört etmesi, NPM'nin geleceği hakkında bir belirsizlik duygusu yarattı ve şirketin yatırımcılardan ziyade toplumun çıkarlarını savunacağına dair güven eksikliği yarattı. Silverio'ya göre NPM Inc.'in işine güvenilemez çünkü topluluk, onu eylemlerinden sorumlu tutacak güce sahip değil. Üstelik kâr elde etmeye odaklanmak, toplum açısından öncelikli olan ancak dijital imza doğrulama desteği gibi para getirmeyen ve ek kaynak gerektirmeyen fırsatların hayata geçirilmesini engelliyor.

Silverio ayrıca NPM Inc.'in arka uçla olan etkileşimlerini optimize etmekle ilgilendiğinden de şüphe ediyor çünkü bu, para kazanma açısından potansiyel olarak ilgi çekici olan veri akışlarında bir azalmaya yol açacaktır. Komutu her çalıştırdığınızda "npm denetimi» dosyanın içeriği dışarıya gönderilir paket kilidigeliştiricinin ne yaptığı hakkında birçok ilginç bilgi içerir. Buna yanıt olarak, JavaScript/Node.js topluluğunun önde gelen birkaç üyesi, bireysel şirketler tarafından kontrol edilmeyen bir alternatif geliştirmeye başladı.

Entropic sistemi, bir geliştiricinin kendi kaynaklarını kullanarak, kullandığı paketlerin bulunduğu bir depoya sahip bir sunucuyu konuşlandırabildiği ve onu farklı özel depoları tek bir bütün halinde birleştiren ortak bir dağıtılmış ağa bağlayabildiği birleşik bir ağ ilkesini kullanır. Entropik, birçok havuzun bir arada bulunmasını ve normal bir iş akışının parçası olarak onlarla etkileşime girmesini içerir.

Tüm paketler ad alanları kullanılarak ayrılır ve birincil depolarını barındıran ana bilgisayar hakkında bilgi içerir.
Ad alanı, esas olarak, güncellemeleri yayınlama hakkına sahip olan paket sahibinin veya bakımcı grubunun adıdır. Genel olarak paket adresi şuna benzer:[e-posta korumalı]/pkg-adı".
Meta veriler ve bağımlılık bilgileri şu biçimde tanımlanır: TOML.

Bir paket yerel bir depoya yerleştirilmişse ve diğer depolardan bağımlılıkları varsa, bu paketler yerel depoya yansıtılır. Bu, yerel depoyu bağımsız hale getirir ve gerekli tüm bağımlılıkların kopyalarını içerir. Klasik NPM deposuyla etkileşime geçmek için salt okunur bir arşiv olarak kabul edilen bir katman vardır. Yerel olarak dağıtılan Entropic ortamlarını kullanarak paketleri NPM'den de yükleyebilirsiniz.

Yönetim için, depoların yerel ağınızda dağıtımını kolaylaştıran komut satırı araçları sağlanır. Entropic tamamen yeni teklifler sunuyor dosya odaklı API ve ağ üzerinden indirilen veri miktarını en aza indiren bir depolama sistemi. Entropic, herhangi bir programlama dilindeki paketler için depolar oluşturmak için kullanılabilecek evrensel bir sistem olarak lanse edilir, ancak Entropic yine de JavaScript göz önünde bulundurularak geliştirilmiştir ve bu dildeki projeler için en uygunudur.

Kaynak: opennet.ru

Yorum ekle