อดีต NPM CTO พัฒนา Entropic ที่เก็บแพ็กเกจแบบกระจาย

CJ Silverio ซึ่งออกจากตำแหน่ง CTO ของ NPM Inc เมื่อปลายปีที่แล้ว นำเสนอ ที่เก็บแพ็คเกจใหม่ เอนโทรปิกซึ่งกำลังได้รับการพัฒนาเป็นทางเลือกแบบกระจายให้กับ NPM ซึ่งไม่ได้ควบคุมโดยบริษัทใดบริษัทหนึ่งโดยเฉพาะ รหัสของ Entropic เขียนด้วย JavaScript และ จัดจำหน่ายโดย ได้รับอนุญาตภายใต้ Apache 2.0 โปรเจ็กต์นี้ได้รับการพัฒนามาได้เพียงเดือนเดียวและอยู่ในขั้นตอนต้นแบบเบื้องต้น แต่ได้สนับสนุนการดำเนินงานขั้นพื้นฐาน เช่น การเชื่อมต่อ การเผยแพร่ และการติดตั้งแพ็คเกจแล้ว

เหตุผลในการสร้าง Entropic คือการพึ่งพาระบบนิเวศ JavaScript/Node.js บน NPM Inc โดยสมบูรณ์ ซึ่งควบคุมการพัฒนาตัวจัดการแพ็คเกจและการบำรุงรักษาพื้นที่เก็บข้อมูล NPM นี่คือจุดที่บริษัทที่ขับเคลื่อนด้วยผลกำไรสามารถควบคุมระบบที่นักพัฒนา JavaScript และแอปพลิเคชันหลายล้านคนต้องพึ่งพา และประมวลผลการดาวน์โหลดแพ็คเกจหลายพันล้านครั้งต่อสัปดาห์

การเลิกจ้างพนักงานจำนวนมากเมื่อเร็วๆ นี้ การเปลี่ยนแปลงฝ่ายบริหาร และการเกี้ยวพาราสีของ NPM Inc. กับนักลงทุน ทำให้เกิดความไม่แน่นอนเกี่ยวกับอนาคตของ NPM และการขาดความไว้วางใจว่าบริษัทจะปกป้องผลประโยชน์ของชุมชนมากกว่านักลงทุน จากข้อมูลของ Silverio ธุรกิจของ NPM Inc ไม่สามารถเชื่อถือได้ เนื่องจากชุมชนไม่มีอำนาจที่จะรับผิดชอบต่อการกระทำของตน นอกจากนี้ การมุ่งเน้นไปที่การทำกำไรยังป้องกันการดำเนินการตามโอกาสที่เป็นเบื้องต้นจากมุมมองของชุมชน แต่ไม่นำเงินมาและต้องการทรัพยากรเพิ่มเติม เช่น การสนับสนุนสำหรับการตรวจสอบลายเซ็นดิจิทัล

Silverio ยังสงสัยว่า NPM Inc สนใจที่จะเพิ่มประสิทธิภาพการโต้ตอบกับแบ็กเอนด์ เนื่องจากจะนำไปสู่การลดลงของกระแสข้อมูลที่อาจน่าสนใจจากมุมมองของการสร้างรายได้ ทุกครั้งที่คุณรันคำสั่ง "การตรวจสอบ npm» เนื้อหาของไฟล์จะถูกส่งไปภายนอก แพคเกจล็อคซึ่งมีข้อมูลที่น่าสนใจมากมายเกี่ยวกับสิ่งที่นักพัฒนาทำ เพื่อเป็นการตอบสนอง สมาชิกที่โดดเด่นหลายคนของชุมชน JavaScript/Node.js จึงเริ่มพัฒนาทางเลือกอื่นที่ไม่ได้ถูกควบคุมโดยบริษัทแต่ละแห่ง

ระบบ Entropic ใช้หลักการของเครือข่ายแบบรวมศูนย์ ซึ่งนักพัฒนาสามารถใช้ทรัพยากรของตนเองในการติดตั้งเซิร์ฟเวอร์ด้วยพื้นที่เก็บข้อมูลแพ็คเกจที่เขาใช้ และเชื่อมต่อกับเครือข่ายแบบกระจายทั่วไปที่รวมพื้นที่เก็บข้อมูลส่วนตัวที่กระจัดกระจายเป็นหนึ่งเดียว เอนโทรปิกเกี่ยวข้องกับการอยู่ร่วมกันของที่เก็บข้อมูลจำนวนมาก โดยโต้ตอบกับที่เก็บข้อมูลเหล่านั้นซึ่งเป็นส่วนหนึ่งของขั้นตอนการทำงานปกติ

แพ็คเกจทั้งหมดจะถูกแยกออกโดยใช้เนมสเปซและรวมข้อมูลเกี่ยวกับโฮสต์ที่โฮสต์พื้นที่เก็บข้อมูลหลัก
เนมสเปซนั้นเป็นชื่อของเจ้าของแพ็คเกจหรือกลุ่มผู้ดูแลที่มีสิทธิ์เผยแพร่การอัปเดต โดยทั่วไปที่อยู่แพ็กเก็ตจะมีลักษณะดังนี้ “[ป้องกันอีเมล]/pkg-ชื่อ".
ข้อมูลเมตาและข้อมูลการพึ่งพาถูกกำหนดในรูปแบบ โทมล.

หากวางแพ็กเกจไว้ในที่เก็บในเครื่องที่เชื่อมโยงโดยการขึ้นต่อกันจากที่เก็บอื่น แพ็กเกจเหล่านี้จะถูกมิเรอร์ในที่เก็บในเครื่อง ซึ่งทำให้พื้นที่เก็บข้อมูลในเครื่องมีอยู่ในตัวเอง และรวมสำเนาของการขึ้นต่อกันที่จำเป็นทั้งหมด มีเลเยอร์สำหรับการโต้ตอบกับพื้นที่เก็บข้อมูล NPM แบบคลาสสิก ซึ่งถือเป็นไฟล์เก็บถาวรแบบอ่านอย่างเดียว คุณยังสามารถติดตั้งแพ็คเกจจาก NPM โดยใช้สภาพแวดล้อม Entropic ที่ปรับใช้ในเครื่องได้

สำหรับการจัดการ มีการจัดเตรียมเครื่องมือบรรทัดคำสั่งที่ทำให้การปรับใช้ที่เก็บข้อมูลบนเครือข่ายท้องถิ่นของคุณง่ายขึ้น ข้อเสนอ Entropic ใหม่ทั้งหมด API เชิงไฟล์ และระบบจัดเก็บข้อมูลที่ช่วยลดปริมาณข้อมูลที่ดาวน์โหลดผ่านเครือข่าย Entropic ได้รับการขนานนามว่าเป็นระบบสากลที่สามารถใช้ในการสร้างพื้นที่เก็บข้อมูลสำหรับแพ็คเกจในภาษาการเขียนโปรแกรมใดก็ได้ แต่ Entropic ยังได้รับการพัฒนาโดยคำนึงถึง JavaScript และเหมาะที่สุดสำหรับโครงการในภาษานั้น

ที่มา: opennet.ru

เพิ่มความคิดเห็น