38 слайдів · ← → · зібрано зі звіту
existing-system audit
Добре спроєктований опенсорсний комерційний фреймворк, який тихо втратив свого доглядача вдруге за десять років, — і конкурент, що повернувся з мертвих із бізнес-моделлю за плечима.
Solidus — не хостований магазин: це набір бібліотек для Rails, які ви встановлюєте у власний застосунок — ви запускаєте сервери, ви володієте базою даних, ви тримаєте в себе кожну кастомізацію.
знайдено
Solidus технічно здоровий і стратегічно дрейфує. Обидва твердження правдиві, і розрив між ними — уся ця історія.
знайдено
PL1 · direction · proposed
Проєкт добре проєктує міграції і ніколи не планує їх у часі — RC1 (Міграції спроєктовано, але ніколи не заплановано) є механізмом за найбільшою повторюваною витратою в журналі, D1 (Три незавершені переписування — найбільша повторювана витрата проєкту).
PL2 · allocation · proposed
Кожен рік серйозних витрат фінансував одну-єдину співпрацю, і провалилася саме та, що купила активність замість результату — $45,760 за шість «Agile Design Sprints» 2023 року (F1 (Визначення «готово» існувало, і гроші до нього не підключили)).
PL3 · guidance · proposed
Core Team тримає явні технічні повноваження, спільнота збирається щотижня — і жодне рішення не досягає публічного артефакту: дошка роадмапу — чейнджлог, що носить ім'я роадмапу, а найясніша заява стратегії проєкту живе в маркетинговому блозі консалтингової фірми (S1 (Свідомо відкинути напрям JavaScript-фреймворків)).
PL4 · approval · proposed
Адмінку три роки ані відвантажили, ані скасували — всередині структури врядування, яка прямо дозволяє і те, і те: повноваження є, місця для них нема (S5 (Право мерджу належить Core Team, що сама себе призначає), D2 (Врядування описує проєкт, якого більше не існує)).
PL5 · guidance · proposed
Коли 2025 року зупинився оплачуваний розробник, сім адмінських pull request-ів застигли там, де стояли, і єдиним порятунком досі був один контриб'ютор, що зголосився вручну через рік (F3 (Роботу останнього розробника покинули на півдорозі)).
виведено
Шар політик одним рядком: плануй те, що заміняєш, купуй результати, а не час, публікуй рішення, давай ініціативам квартальний вердикт, підхоплюй або закривай роботу тих, хто пішов. П'ять правил — і жодне не просить волонтера працювати.
знайдено
Уся дуга одним рядком: форк Spree 2015 року, творець зник до 2018-го, інженерія доглядача — до 2024-го, а машина досі їде на дисципліні, яку збудували ті, хто пішов.
знайдено
| Рік | Виплачено | Витрат | Куди пішло |
|---|---|---|---|
| 2019 | $11,768 | 10 | Витрати на конференцію — Sean Denny 43%, Cindy Backman 42% |
| 2020 | $35,736 | 24 | Peter Berkenbosch 80% — щомісячні «Development & Maintenance» |
| 2021 | $0 | 0 | геть нічого |
| 2022 | $500 | 1 | Один інвойс за монтаж відео з конференції |
| 2023 | $45,760 | 7 | Адмінка — через Nebulab 79%, Andrea Iurisci 21%. 100% року. |
| 2024 | $32,506 | 16 | Logicielle B.V. 100% — 16 інвойсів за розробку, серпень–грудень |
| 2025 | $16,888 | 6 | «e.c441» 100% — 6 інвойсів за розробку, лютий–липень |
| 2026 | $0 | 0 | геть нічого |
знайдено
Гроші одним рядком: фінансована розробка зупинилася в липні 2025 року, відтоді надійшло тринадцять місяців доходу, і $133,750 лежать невитраченими.
знайдено
знайдено
Продукт одним рядком: три паралельні переписування читаються як системна нездатність доводити до кінця, але промоакції — керована міграція, сторфронт — успіх; застрягла лише адмінка.
знайдено
| Людина (організація) | 2022 | 2023 | 2024 | 2025 | 2026 |
|---|---|---|---|---|---|
| Елія Скіто (Nebulab) | 133 | 696 | 46 | 4 | 0 |
| Альберто Вена (Nebulab) | 70 | 232 | 52 | 12 | 3 |
| Райнер Дема (Nebulab) | — | 168 | 2 | 0 | 0 |
| Super Good Software (усі) | 34 | 3 | 140 | 62 | 136 |
знайдено
Люди одним рядком: Nebulab дали приблизно 60% усіх комітів 2023 року і 0.8% за останні дванадцять місяців — і жодного оголошення так і не було.
знайдено
Машина одним рядком: кожна зміна тестується проти чотирьох комбінацій Ruby–Rails, де найновішу з кожного підхоплюють за лічені тижні після релізу, депрекації валять збірку, фікси бекпортуються автоматично — машинерія доставлення з верхнього дециля для проєкту такого розміру.
знайдено
Найдорожча ініціатива в історії проєкту зупинилась без жодного звуку: три роки і $45,760 по тому нова адмінка — на версії 0.4, а архітектура влаштована так, що покинутість не дає жодного симптому.
знайдено
| Метрика | Solidus | Spree |
|---|---|---|
| Коміти за останні 52 тижні (власний ряд GitHub — git log у §06 нараховує 493 за те саме вікно; співвідношення 5.5× береться одним інструментом з обох боків) | 400 | 2,190 — 5.5× |
| Зірки GitHub | 5,317 | 15,572 |
| Форки | 1,400 | 5,287 |
| Останній реліз | v4.7.0 · 15 квіт. 2026 | v5.6.1 · 28 лип. 2026 |
| Платформні релізи в липні 2026 | 0 | 6 |
| Сукупні завантаження пакетів | 3.22M | 2.85M |
знайдено
Опенсорс Spree — маркетингова витрата на плечах справжнього бізнесу; опенсорс Solidus тримається на банці пожертв у $25k на рік.
знайдено
Конкурент одним рядком: Spree відвантажує у п'ять з половиною разів більше комітів, ніж Solidus, шість платформних релізів лише за липень 2026-го, а його безкоштовна редакція — воронка продажів платного enterprise-продукту.
знайдено
| Rule | Written where? | Health | |
|---|---|---|---|
| S1 | Свідомо відкинути напрям JavaScript-фреймворків. Простота, один стек, жодних оплат, розподілене врядування. | у блозі компанії провідного мейнтейнера | Фактична стратегія проєкту — сформульована, просто не тут |
| S2 | Ніколи не ламати наявний магазин. Депрекація перед видаленням; бекпорт виправлень у старі версії. | ратифіковано | Тримається — ціною, яку ніхто не порахував |
| S3 | Постачати заміни поруч зі старою версією як opt-in, з написаним гайдом міграції; стара лишається, доки магазини не переїхали. | у гемах, не у врядуванні | Працює — див. гайд міграції промоакцій |
| S4 | Ядро лишається худим; можливості живуть в окремих розширеннях. | ніде | Слабшає — чотири офіційні розширення заморожені |
знайдено
| Rule | Written where? | Health | |
|---|---|---|---|
| S5 | Право мерджити належить Core Team, яка сама себе призначає. Гроші купують голоси щодо витрат, ніколи — щодо коду. | ратифіковано | Так — розділення навмисне і здорове |
| S6 | Якість забезпечують машини; про стиль не сперечаються. | лише в конфігурації CI | Правило, що працює в проєкті найкраще |
| S7 | Усю доставку роблять люди. | мовчазно, через відсутність | Неперевірено — агентського харнеса не існує |
виведено
Втрата доглядача — це не шок, який цей проєкт пережив один раз; це його нормальний стан, і за десять років врядування так і не виростило механізму давати цьому раду.
знайдено
Дві причини складаються в один стан: непрофінансована ініціатива поруч із невитраченим бюджетом.
виведено
| Risk | Flag | Likelihood | Would you notice? | |
|---|---|---|---|---|
| R1 | Рутинний дрейф залежностей між безпековими релізами | понижено | Низька для розкритих вразливостей — цей шлях покрито. Середня для дрейфу | Для розкритої CVE — так. Для поступового дрейфу — ні |
| R2 | Дві фірми — це 78% грошей і більшість коду | важко помітити | Середня — це вже ставалося двічі | Місяцями — ні. Відхід виглядає точнісінько як тихий квартал |
| R3 | Напівзбудована адмінка стає постійним третім станом | важко помітити | Знижена на 24-й редакції — за версією Core Team темп свідомий; підтверджувальне спостережуване ще не спрацювало | Ні. Кожен сигнал, на який дивиться мейнтейнер, зелений |
| R4 | Spree забирає ринок нових проєктів | видно здалеку | ||
| R5 | Новий сторфронт ламає наявні розширення за задумом |
виведено
виведено
| Debt | Kind | |
|---|---|---|
| D1 | Три незавершені переписування | strategic |
| D2 | Врядування описує проєкт, якого більше не існує | organizational |
| D3 | Архітектурні рішення ніколи не фіксуються | knowledge |
| D4 | Агентський харнес і дві дрібні прогалини в автоматизації | technical |
знайдено
| Credit | Status | |
|---|---|---|
| C1 | Тестова матриця, актуальна до найновіших Rails і Ruby | confirmed |
| C2 | Гейт збірки на депрекаціях | confirmed |
| C3 | Автоматизовані бекпорти | confirmed |
| C4 | Автоматизований стиль коду | confirmed |
| C5 | Автоматизація релізів і чейнджлогів | confirmed |
| C6 | Відтворюване середовище розробки | confirmed |
| C7 | Сторфронт | confirmed |
| C8 | solidus_promotions | overdue |
| C9 | solidus_admin | past the point of write-off |
виведено
Висновок, який підтримують ці свідчення, — роль, а не камбек: комерційний фреймворк, яким ви ще володітимете через десять років і який служить мерчантам, що його вже вибрали.
виведено
| Роль | Хід | Заковика |
|---|---|---|
| A — доглядати встановлену базу | Жодних нових ініціатив; гарантувати оновлення й безпеку; завершити промоакції; скасувати адмінку й сторфронт | Явне прийняття керованого занепаду — частина контриб'юторів піде |
| B — боротися за агентський канал | Відвантажити відсутній агентський харнес; продавати «один рантайм, одна команда тестів» будівникам, що працюють через агентів | Spree відвантажив свій першим — модифікатор до Role A, а не альтернатива |
| C — зійтися зі Spree | Влитися назад у проєкт, від якого Solidus відгалузився | Ніхто всередині цього не запропонує — саме тому це мусить бути записано |
виведено
| Bet | Verdict | Addresses | Cost | |
|---|---|---|---|---|
| B2 | Перезапустити фінансовану розробку — купуючи результат, а не спринти | Do | R3, D1 | один пункт порядку денного наради |
| B5 | Назвати реліз, що прибирає легасі-промоакції — заява про політику, а не праця; перше застосування PL1 | Do | D1, RC1 | безплатно |
| B6 | Вирішити долю адмінки — виготовивши свідчення, а не розмірковуючи без них | Decide | R3, D1 | один складний екран |
| B7 | Наздогнати React-сторфронт Spree | Kill | R4 | — |
| B8 | GraphQL / headless-поверхня | Wait | R4 | — |
виведено
| Bet | Verdict | Addresses | Cost | |
|---|---|---|---|---|
| B9 | Подвійна підтримка асет-пайплайнів, з міграцією, яку виконує агент | Do | R1, D3, D4 | див. шаблон |
| B10 | Публікувати технічні рішення — перезапустити статусні пости, заводити перспективні пункти роадмапу; одноразовий акт, що стоїть за PL3 | Do | D2, D3, S1, R4 | година на місяць |
виведено
виведено
Ходи одним рядком: жоден із перших кроків не дорогий — публікуйте рішення, які ухвалюєте, назвіть реліз, що прибирає легасі-промоакції, і фінансуйте результати, а не спринти.
Ніщо тут не просить, щоб йому вірили: кожне фактичне твердження в цьому звіті несе позначку, як до нього дійшли, а позначки рахує збірка — їх ніколи не пишуть руками.
Перед висновками
Скільки з почутого справді знайдено в джерелах.