قام CTO السابق في NPM بتطوير مستودع الحزم الموزع Entropic

CJ Silverio، التي تركت منصبها كرئيسة قسم التكنولوجيا في شركة NPM Inc في نهاية العام الماضي، مقدم مستودع الحزمة الجديد انتروبيا، والذي يتم تطويره كبديل موزع لـ NPM، ولا تسيطر عليه شركة معينة. كود Entropic مكتوب بلغة JavaScript و وزعت من خلال مرخص تحت أباتشي 2.0. كان المشروع قيد التطوير لمدة شهر واحد فقط وهو في مرحلة النموذج الأولي، ولكنه يدعم بالفعل العمليات الأساسية مثل ربط الحزم ونشرها وتثبيتها.

السبب وراء إنشاء Entropic هو الاعتماد الكامل لنظام JavaScript/Node.js البيئي على شركة NPM Inc، التي تتحكم في تطوير مدير الحزم وصيانة مستودع NPM. هذا هو المكان الذي تتمتع فيه شركة تسعى إلى الربح بالسيطرة الوحيدة على النظام الذي يعتمد عليه الملايين من مطوري وتطبيقات JavaScript، والذي يعالج مليارات تنزيلات الحزم أسبوعيًا.

أدت السلسلة الأخيرة من عمليات تسريح الموظفين والتغييرات الإدارية ومغازلة NPM Inc مع المستثمرين إلى خلق شعور بعدم اليقين بشأن مستقبل NPM وانعدام الثقة في أن الشركة ستدافع عن مصالح المجتمع بدلاً من المستثمرين. وفقًا لسيلفيريو، لا يمكن الوثوق بأعمال شركة NPM Inc لأن المجتمع ليس لديه القدرة على تحميلها المسؤولية عن أفعالها. علاوة على ذلك، فإن التركيز على تحقيق الربح يمنع تنفيذ الفرص التي تعتبر أساسية من وجهة نظر المجتمع، ولكنها لا تجلب المال وتتطلب موارد إضافية، مثل دعم التحقق من التوقيع الرقمي.

يشك Silverio أيضًا في أن شركة NPM Inc مهتمة بتحسين التفاعلات مع الواجهة الخلفية الخاصة بها، حيث سيؤدي ذلك إلى انخفاض في تدفقات البيانات التي قد تكون مثيرة للاهتمام من وجهة نظر تحقيق الدخل. في كل مرة تقوم فيها بتشغيل الأمر "تدقيق npm» يتم إرسال محتويات الملف خارجيا قفل الحزمة، والذي يتضمن الكثير من المعلومات المثيرة للاهتمام حول ما يفعله المطور. ردًا على ذلك، بدأ العديد من الأعضاء البارزين في مجتمع JavaScript/Node.js في تطوير بديل لا يخضع لسيطرة الشركات الفردية.

يستخدم نظام Entropic مبدأ الشبكة الموحدة، حيث يمكن للمطور، باستخدام موارده الخاصة، نشر خادم بمستودع من الحزم التي يستخدمها وتوصيله بشبكة موزعة مشتركة توحد المستودعات الخاصة المتباينة في كل واحد. يتضمن الإنتروبيا التعايش بين العديد من المستودعات، والتفاعل معها كجزء من سير العمل العادي.

يتم فصل جميع الحزم باستخدام مساحات الأسماء وتتضمن معلومات حول المضيف الذي يستضيف مستودعها الأساسي.
مساحة الاسم هي في الأساس اسم مالك الحزمة أو مجموعة المشرفين الذين لديهم الحق في إصدار التحديثات. بشكل عام، يبدو عنوان الحزمة كما يلي "[البريد الإلكتروني محمي]/pkg-اسم".
يتم تعريف بيانات التعريف ومعلومات التبعية في التنسيق تومل.

إذا تم وضع حزمة في مستودع محلي مرتبط بتبعيات من مستودعات أخرى، فسيتم عكس هذه الحزم في المستودع المحلي. وهذا يجعل المستودع المحلي مستقلاً بذاته ويتضمن نسخًا من جميع التبعيات الضرورية. هناك طبقة للتفاعل مع مستودع NPM الكلاسيكي، والذي يتم التعامل معه كأرشيف للقراءة فقط. يمكنك أيضًا تثبيت الحزم من NPM باستخدام بيئات Entropic المنتشرة محليًا.

بالنسبة للإدارة، يتم توفير أدوات سطر الأوامر التي تعمل على تبسيط نشر المستودعات على شبكتك المحلية. عروض الانتروبيك جديدة تماما API الموجهة للملفات ونظام تخزين يقلل من كمية البيانات التي يتم تنزيلها عبر الشبكة. يوصف Entropic بأنه نظام عالمي يمكن استخدامه لإنشاء مستودعات للحزم في أي لغة برمجة، ولكن مع ذلك تم تطوير Entropic مع وضع JavaScript في الاعتبار وهو الأنسب للمشاريع بتلك اللغة.

المصدر: opennet.ru

إضافة تعليق