Протягом багатьох років екосистема open source у .NET стикається з проблемою сталого розвитку. На відміну від таких спільнот, як Node.js, багато розробників .NET використовують пакети NuGet, але не мають простого способу підтримати їхніх авторів. Проте Microsoft має всі ресурси, щоб змінити це та зробити екосистему по-справжньому життєздатною.
Досвід npm — і як зробити краще
Нещодавно NuGet представив функцію, подібну до npm fund, яка дозволяє користувачам підтримувати авторів пакетів. npm запровадив її ще у 2019 році, і NuGet знадобилося шість років, щоб наздогнати. Але замість того, щоб сприймати це як запізніле повторення, Microsoft може піти далі та створити щось дійсно унікальне.
NuGet працює в іншому середовищі. Його користувачі — це не лише ентузіасти, а й корпоративні розробники, які працюють із передплатами Visual Studio. Компанії вже сплачують чималі кошти — від $50 на місяць за Professional до сотень доларів за Enterprise.
Це означає, що інфраструктура для моделі фінансування та розподілу прибутку вже існує. Microsoft знає, які організації та користувачі використовують які пакети, завдяки телеметрії та інтеграції з Entra ID (раніше Azure AD).
Ідея №1: Розподіл доходів для авторів пакетів NuGet
Microsoft могла б виділяти, наприклад, 10% від прибутку з передплат Visual Studio і розподіляти їх між перевіреними авторами пакетів NuGet. Розподіл можна було б здійснювати пропорційно до популярності пакетів — подібно до того, як Spotify платить музикантам або YouTube Premium ділиться прибутком з авторами.
Система могла б працювати повністю автоматично. Розробникам не довелося б керувати донатами вручну — вони просто отримували б свою частку за внесок у спільноту.
Уявіть, що при встановленні пакета у Visual Studio з’являється повідомлення:
«Частина вашої передплати Visual Studio спрямовується на підтримку цього автора.»
Це створило б довіру та зробило розробку open source у .NET дійсно сталою.
Ідея №2: Вбудована покупка ліцензій у NuGet
Ще одна проблема для корпоративних користувачів — ліцензування. Багато пакетів NuGet надаються безкоштовно для невеликих команд, але вимагають оплату для великих організацій. Процес купівлі ліцензій зараз складний — потрібно залучати юристів, відділ закупівель і підписувати контракти.
Рішення — інтеграція NuGet з Azure Marketplace. Microsoft уже має розвинену систему оплати. Зв’язавши NuGet із Azure Marketplace, компанії зможуть купувати ліцензії прямо з Visual Studio або через свою підписку Azure.
Наприклад:
Пакет безкоштовний до 5 розробників.
Коли шостий користувач із тієї ж організації Entra завантажує пакет, система повідомляє менеджера і пропонує оформити ліцензію.
Менеджер додає оплату безпосередньо до рахунку Azure.
Це просто, зручно і створює прозору модель доходів для авторів.
М’який “paywall” і захист ліцензій
Microsoft уже має потужну систему аудиту ліцензій. Якщо пов’язати використання NuGet із обліковими записами Visual Studio та Entra, компанії зможуть автоматично захищати себе від випадкових порушень ліцензій.
Така модель стане своєрідним м’яким платним бар’єром: невеликі команди зможуть працювати безкоштовно, а великі організації — фінансово підтримувати екосистему. Це також допоможе уникнути порушень умов Community Edition, яка забороняє використання при певному рівні доходів.
Результат: стала екосистема .NET
Якщо Microsoft реалізує подібні ідеї, екосистема .NET стане по-справжньому сталою. Розробники зможуть отримувати справедливу винагороду за свої проєкти, а нові фахівці охочіше приєднуватимуться, розуміючи, що open source у .NET може приносити реальний дохід.
Це призведе до:
Активнішої спільноти
Вищої якості та стабільності пакетів
Зростання довіри до платформи .NET і Microsoft
Open source потребує не лише ентузіазму, але й структури, визнання та підтримки. Із правильною моделлю фінансування та ліцензування .NET зможе нарешті стати здоровою, живою екосистемою.