Справді несподіваний інцидент, який стався останніми днями, показав, наскільки вразливим може бути ланцюжок постачання ПЗ/технічного обладнання та як мало підтримки мають деякі відкриті проекти (незважаючи на їх важливість). І це Марак Сквайрс, програміст і відповідальний за підтримку проекту з відкритим кодом, на знак протесту саботував власне сховище за неоплачувану роботу та невдалі спроби монетизувати пакети NPM faker.js і color.js, які використовуються в різноманітних проектах, а вони, у свою чергу, взаємозалежні від інших екосистем або ресурсів.
Цей інцидент підкреслює проблему серйозне питання, яке залишається невирішеним для ланцюга постачання програмного забезпечення, а він полягає в тому, що код, який опиниться в комп’ютерах у всьому світі, неможливо контролювати на 100%. Але це не проблема з відкритим кодом, у проприетарному програмному забезпеченні контроль ще менше, а можливість виправити його, якщо це було зроблено навмисно розробником, нульова.
Як відомо, НПМ — це не другорядне, а про Менеджер пакетів Node.js, є найбільшим у світі реєстром програмного забезпечення, який містить сотні тисяч пакетів. Він безкоштовний у використанні, і з ним можна завантажити безліч сторонніх скриптів і бібліотек.
Для уражених пакетів, colors.js — це пакет із мільйонами завантажень, який використовується розробниками JavaScript і Node.js для отримання користувацьких кольорів і стилів у консолі. На GitHub його використовують 4.3 мільйона проектів. У цьому випадку був введений шкідливий код, який викликав нескінченний цикл.
Крім того, faker.js це ще один пакет, який використовується близько 168.000 XNUMX проектів. У ньому він помістив повідомлення: endgame (кінець гри). З іншого боку, сторінка також була видалена, хоча одним із рішень було отримати їх із archive.org.
Це що на перший погляд може здатися практичним жартом, він мав наслідки для залежних проектів. Крім того, Сквайрс не єдиний супроводжувач цього репо, але він заблокував доступ іншим супроводжувачам, щоб переконатися, що ніхто не зможе виправити його дії.
Розробник, який саботував цей відкритий код, опублікував у своєму особистому блозі, що зробив це тому, що жодна компанія не підтримувала фінансово color.js та faker.js. Плани місячної підписки, які він розпочав, не спрацювали, і він отримав лише кілька пожертвувань через спонсорство від GitHub та кількох однолітків. Складна ситуація, яка для багатьох закінчилася проблемою.
Все це викликав дебати в Twitter з недоброзичливцями та прихильниками відкритого коду. Багато хто також побоюється, що супроводжувачі відкритого коду підуть на їх приклад і зроблять те ж саме з іншими проектами, якщо приватні організації, які експлуатують код, не допоможуть фінансово.
А чому ти не відмовився від проекту?
Було б краще присвятити себе створенню та продажу власного програмного забезпечення, якби він хотів стати мільйонером.
Ого, у світі є такі егоїсти, з ментальністю «якщо ти не мій, то ти не чужий».