TideliftПрежде чем переходить к рассказу о нововведениях на GitHub Satellite, стоит напомнить о Tidelift. Tidelift — известная в коммерческом open source компания, основанная open source-знаменитостями из Red Hat. Tidelift упрощает для компаний управление open source зависимостями, поддержку, уведомления о проблемах с безопасностью и контроль лицензий.
Кажется, что проблема надуманна, и никаких сложностей быть не должно, верно? Расскажу, почему это не так. Попробуйте открыть популярное Electron-приложение, например, Slack или Discord. Зайдите в About, найдите что-то вроде Credits, и найдите страницу, на которой перечислены все open source проекты, которые используются в продукте; там будут сотни npm-пакетов. И это только десктопное приложение — можно представить, что творится в backend-части. Впрочем, думаю, в любом развитом приложении у читателей найдутся сотни зависимостей — или тысячи, если оно на JavaScript.
Что может пойти не так?
— Как узнать, что разработчики случайно не добавили пакет с известными проблемами в патентном смысле (Facebook) или с неудобной для продукта лицензией? Если за этим не следить, в коммерческом продукте разработчик может случайно нанести ущерб компании, включив в состав библиотеку с чрезчур агрессивной лицензией.
— Как узнать, не изменилась ли лицензия одной из библиотек с очередной версией?
— Как следить за проблемами с безопасностью? Не все уязвимости в библиотеках дублируются в CVE, не у всех языков и фреймворков есть качественные рассылки по безопасности, да и, вообще говоря, далеко не все мейнтейнеры вообще думают о том, чтобы сообщать о найденных уязвимостях.
— Как можно связаться с разработчиком той или иной библиотеки, если изменить ее под свои нужды не получается никак, а человек не отвечает на email или вообще скрывается?
Tidelift хорошо решает эти проблемы для компаний, а у авторов появляется возможность зарабатывать на своем open source профессиональным сопровождением и развитием своего продукта.
Мы в Злых марсианах не просто добавляем самые популярные наши open source проекты в Tidelift, но и уже некоторое время поддерживаем партнерские отношения. Конечно, тема заслуживает отдельного поста. Но мы отвлеклись.
GitHub SponsorsУже долгое время open source мейнтейнеры пытаются немного заработать на своем нужном и неоплачиваемом труде, собирая деньги на поддержку. Как правило, для этого используются сервисы вроде Patreon, где через ежемесячный платеж можно оказать поддержку разработчику или даже получить какие-то бонусы. Почему это никак не является способом «монетизации open source», и ничем не отличается от поддержки стримеров или блогеров — тема отдельного большого поста.
К сожалению, у Patreon-подхода есть существенные минусы. Сейчас мейнтейнеры постоянно сталкиваются с хамством и потребительским отношением, как правило не получая взамен ничего — это главная причина выгорания разработчиков в open source и полного отказа от поддержки открытых проектов. Что меняется с добавлением Patreon? Теперь любой человек, который платит мейнтейнеру 5 долларов в месяц, может посчитать, что тот на него работает. А значит, приоритетная поддержка, бесплатные консультации, «когда будет сделано». Почему бы и нет, он ведь теперь «платит за разработку»?
Тем не менее, GitHub анонсировал программу Sponsors:
http://amp.gs/dGXkhttps://github.com/sponsorsТеперь любой мейнтейнер может разместить у себя в репозитории кнопку, через которую он сможет принимать, по сути, «донаты». Приятно, что разработчик получит полную сумму.
Поддерживающие проект пользователи будут явно выделены во всей переписке — например, в обсуждении багов. Наверное, чтобы можно было оказывать приоритетную поддержку — ведь все «оплачено»? Правда, многие разработчики не видят в этом проблемы, и первые разработчики-«клиенты» этой фичи говорят о приоритетной поддержке как главном преимуществе для поддержавших.