Bambu Lab створює найкращі та найдоступніші 3D-принтери, але їхня репутація раптово під загрозою. Все почалося, коли Павел Ярчак отримав приватне повідомлення від компанії на Reddit з проханням видалити свій код. Тепер спільнота 3D-друку об’єдналася на підтримку Ярчака, щоб фінансувати боротьбу проти Bambu — і майбутнє 3D-принтерів може бути під загрозою.
Ярчак — розробник, який поділився способом дистанційного керування своїми принтерами Bambu без використання програмного забезпечення Bambu. Але компанія хотіла закрити свою систему, незважаючи на те, що спиралася на відкритий код. Це викликало обурення серед прихильників відкритого коду та YouTube-блогерів.
“Я готовий заплатити $10,000, щоб навчити Bambu уроку,” — заявив захисник прав споживачів Луї Россман, обіцяючи допомогти захистити Ярчака в суді.
“Я більше не куплю 3D-принтер Bambu,” — заявив творець Джефф Гірлінг, додавши, що він також готовий внести свій внесок.
“Геть, Bambu,” — написав GamersNexus, пообіцявши також внести $10,000. (Вони також зупинили раніше неанонсовані плани купити обладнання Bambu на $150,000 для проекту 3D-друку.)

Якщо цього було недостатньо, Россман, Берк та тисячі інших прихильників відкритого коду кидають виклик Bambu, щоб вона вжила юридичних заходів — вони кожен беруться за код, який Bambu намагалася придушити. Станом на понеділок, Software Freedom Conservancy також приєдналася до цього, запустивши проект для реверс-інжинірингу коду Bambu і заявивши, що стане наглядовим органом за Bambu.
“Вони погані актори, і спільнота повинна зробити все можливе,” — говорить Бредлі Кюн, батько ліцензії AGPL.
Але чому всі так злі, що принтери Bambu не працюють ідеально з сторонніми додатками? Чи дійсно дії Bambu такі жахливі, чи вона просто намагається захистити свою екосистему? Я поговорив з Bambu, Ярчаком, юристами та іншими, щоб зрозуміти. Як Bambu, так і Ярчак поділилися копіями своїх приватних комунікацій для цієї статті, кожен прагнучи прояснити, що насправді сталося.
Це історія про те, як все пішло не так, і як це може знову стати правильно.
Що насправді відбувається з Bambu та Павлом Ярчаком?
22 квітня, коли Bambu вперше зв’язалася з Ярчаком у приватному повідомленні на Reddit, її тон здавався ввічливим. Bambu запропонувала попередити Ярчака про майбутні зміни, які можуть завадити його коду працювати. Перше повідомлення закінчується: “ми люб’язно просимо вас розглянути можливість видалення поточного підходу до з’єднання, оскільки він імітує офіційне програмне забезпечення Bambu Lab.”
Ярчак відповів, що готовий видалити свій проект з GitHub і подякував компанії за те, що помітили його роботу. Але він хотів, щоб його “правильно визнали” за можливе виявлення “значного прогалини в безпеці.” Він запропонував подальшу допомогу для виправлення, запитуючи деяке обладнання — зокрема, флагманський принтер H2D.
Але Bambu не була готова винагородити або визнати його за просування способів використання несанкціонованого програмного забезпечення та обладнання, які конкурують з її власними. (Попередній проект Ярчака підтримував дешевший спосіб друку кількома кольорами, ніж купівля AMS Lite за $279 від Bambu, проект, за який він згодом запропонував, щоб Bambu також визнала його.)
Зловісно, Bambu почала говорити з Ярчаком, як мафіозі: “Ми хотіли спочатку поговорити з вами і вирішити це конструктивно. Але ми не можемо дозволити, щоб цей підхід тривав.”
Ярчак обурився. Він публічно висловив деякі підозри, що те, що він зробив, могло перейти межу. Але він також знав, що код Bambu є відкритим під ліцензією AGPL, ліцензією, настільки поблажливою, що Google відмовилася дозволити своїм інженерам використовувати її.
Розробник хотів знати: що, конкретно, він зробив неправильно, якщо код є відкритим?

Але замість пояснень Bambu посилила свою загрозу. Вона повідомила Ярчаку, що вже підготовлено лист про припинення і заборону, і “запросила” його ознайомитися з розділом 1201 Закону про цифрові тисячоліття, натякаючи, що вона може юридично покарати його за порушення цифрових замків.
Але Bambu не подала в суд. Вона не надіслала листа про припинення і заборону. Вона навіть не надіслала DMCA для видалення його файлів з GitHub. Ярчак добровільно видалив свій код. Але на місці цього коду Ярчак залишив запис, що Bambu ставилася до нього як до злочинця.
Ось тоді інтернет накинувся.
Чому спільнота відкритого коду 3D-друку так обурена?
Тому що програмне забезпечення Bambu — це не просто програмне забезпечення Bambu. “Bambu Studio базується на PrusaSlicer від Prusa Research, який походить з Slic3r від Алессандро Ранеллучі та спільноти RepRap,” Bambu вільно визнає на своїх веб-сайтах.
“Базується на” не просто означає, що Bambu взяла натхнення з цих програм. Bambu Studio схоже на PrusaSlicer, оскільки це форк PrusaSlicer. Він побудований на основі того ж коду.
Кожен сучасний 3D-принтер використовує програмне забезпечення, яке називається слайсером, яке “нарізає” 3D-об’єкти на шари, а потім перетворює ці шари на інструкції, які може виконати 3D-принтер. З часом вони стали способом дистанційного керування кожною іншою частиною 3D-принтера.
Майже кожен слайсер побудований на основі слайсерів, які з’явилися раніше, починаючи з 15 років тому, коли Алессандро Ранеллучі вперше випустив Slic3r у світ під ліцензією AGPL. Ця ліцензія гарантує, що ніхто не повинен винаходити колесо знову, якщо вони вносять свої власні покращення. Bambu отримує величезну вигоду від цієї ліцензії, але починає обмежувати користувачів, які насолоджуються тими ж перевагами.
Bambu вільно форкнув PrusaSlicer, і не заперечує, що будь-хто інший може також форкнути Bambu Studio. Але Bambu закрила можливість для форків — включаючи найпопулярніший форк, OrcaSlicer — надсилати друки, дистанційно керувати друкарською головкою, моніторити камеру принтера, змінювати кольори філаменту та багато іншого, поки або якщо їхні розробники не інтегрують новий власницький механізм аутентифікації. (Головний розробник OrcaSlicer відмовився.)
Ярчак створив свій власний форк OrcaSlicer, щоб обійти вимогу Bambu про власність, і саме цей код Bambu хотіла видалити.
У січні Bambu заявила, що її мотивом була безпека. Але багато хто підозрював і комерційний мотив: що Bambu може використовувати своє програмне забезпечення, щоб заблокувати свої принтери для свого філаменту та аксесуарів і почати стягувати плату за підписки, як це роблять сьогоднішні компанії з принтерами на чорнилі. Bambu не заперечила ці можливості, коли ми запитали, і спільнота відкритого коду готується боротися з можливим enshittification з того часу.
Все, що Ярчак спочатку намагався зробити, це запобігти тому, щоб програмне забезпечення Bambu не зламало сумісність з системою багатокольорового друку Biqu BCMU (яка підриває власний аксесуар Bambu за $279), після того, як деякі користувачі помітили, що BCMU перестав працювати після оновлення прошивки Bambu.
Але коли він створив копію OrcaSlicer, використовуючи код з Linux версії Bambu Studio замість Windows або Mac версій, хмарні сервіси Bambu більше не заважали йому дистанційно керувати своїм принтером взагалі. Він випадково знайшов спосіб підібрати замок Bambu, використовуючи власний відкритий код Bambu. Коли Bambu погрожувала йому підкоритися за скасування свого замка, він став ненавмисним мучеником за більшу справу.
“Люди намагаються зробити з мене якогось героя, але я не такий,” — говорить Ярчак.
Ось де все стає дійсно заплутаним.
Багато з цього залежатиме від того, як інтерпретують ліцензію відкритого коду, яку використовує Bambu, як публіка, так і, можливо, суди. Бредлі Кюн, який допоміг внести “A” в AGPL, каже, що це очевидно: Bambu порушила свою ліцензію AGPL.
У блог-пості для Software Freedom Conservancy він вказує на два конкретні порушення. По-перше, сам плагін для мережі Bambu.
Текст AGPL стверджує, що будь-хто, хто копіює програму, повинен ліцензувати вихідний код для всієї програми — включаючи будь-які “відповідні джерела” для інших частин, які потрібні для генерації, встановлення, запуску або модифікації роботи.
Він також має явні приклади того, що має враховуватися як відповідне джерело, включаючи “спільні бібліотеки та динамічно зв’язані підпрограми, які робота спеціально розроблена для вимагати, такі як інтимна комунікація даних або контрольний потік між цими підпрограмами та іншими частинами роботи.”
Вгадайте, з чого складається плагін для мережі Bambu? Спільні бібліотеки та динамічно зв’язані бібліотеки, які автоматично намагаються встановити відкриті частини Bambu, коли ви вперше запускаєте програму, і які, як стверджують Кюн і Ярчак, мають інтимну комунікацію з відкритим кодом Bambu.
Ярчак тепер опублікував 30-пунктовий аналіз на своїй сторінці GitHub, в якому розглядає, наскільки інтимною може бути ця комунікація:

Друге порушення, пише Кюн, полягає в тому, як Bambu нібито тиснула на Ярчака, щоб він видалив свій код з GitHub, неправдиво стверджуючи, що її умови обслуговування переважають його права за ліцензією AGPL.
Але ні Кюн, ні Ярчак не є юристами. У Bambu є юристи, і двоє юристів, які спеціалізуються на відкритих технологіях, кажуть The Verge, що AGPL важко використовувати.
Що кажуть Bambu та юристи?
Bambu відповіла на майже всі запитання, які ми надіслали протягом тижня. Керівник PR Надія Яакубі сказала нам, що компанія не стурбована “відкритим розвитком або законними форками коду.” (Bambu натякає, що форк Ярчака є незаконним.)
Компанія стверджує, що частина її коду “доставляється окремо” і тому не підпадає під ліцензію AGPLv3, де йдеться про “відповідні джерела.” Ось що вона нам сказала:
Ми не погоджуємося з тим, що плагін для мережі належним чином характеризується як частина “відповідного джерела” Bambu Studio для цілей AGPLv3, так що зобов’язання щодо доступності виходу AGPLv3 не будуть активовані. Це окремо доставлений, необов’язковий компонент мережі, який забезпечує додаткову функціональність. Той факт, що програмне забезпечення може завантажити окремий компонент під час виконання, не встановлює, що компонент є частиною покритої роботи або що це вихідний код; робота “спеціально розроблена для вимагати” відповідно до Розділу 1, який визначає обсяг “відповідного джерела.” І, як ви зазначили, AGPL також не дозволяє доступ, що порушує правила та протоколи для зв’язку через мережу.



