Новое правило Red Hat: предательство открытого исходного кода?
Конкуренты Red Hat и многие разработчики ПО с открытым исходным кодом чертовски злятся на новую политику компании в отношении исходного кода. Дойдёт ли этот спор до суда?
Проблема, с которой сейчас сталкиваются распространители клонов RHEL, заключается в том, что они больше не могут легко создавать RHEL-совместимые операционные системы.
Все началось со скромного поста в блоге «Содействие развитию CentOS Stream», написанного Майком МакГратом, вице-президентом Red Hat по основным платформам. Для тех, кто не является шляпником, Core Platforms — это подразделение, отвечающее за Red Hat Enterprise Linux (RHEL). В своем сообщении МакГрат написал: «CentOS Stream теперь будет единственным хранилищем общедоступных выпусков исходного кода, связанных с RHEL. Для клиентов и партнеров Red Hat исходный код останется доступным через клиентский портал Red Hat».
Затем в кругах дистрибутивов-клонов RHEL, а также среди разработчиков Linux и разработчиков открытого исходного кода разразился настоящий ад.
Проблема, с которой сейчас сталкиваются распространители клонов RHEL, такие как AlmaLinux, Rocky Linux и Oracle Unbreakable Linux, заключается в том, что они больше не могут легко создавать RHEL-совместимые операционные системы.
Это связано с тем, что CentOS Stream, как исходный дистрибутив RHEL, несовместим с поставляемым RHEL. Скорее, CentOS Stream — это предстоящая версия RHEL. Таким образом, эта бета-версия RHEL не является ни полностью совместимой с поставляемой версией RHEL, ни такой стабильной.
Когда-то операционная система Community Enterprise (CentOS), основанная Грегори Курцером, была самым успешным из последующих клонов RHEL. CentOS также был более популярен, чем RHEL, на таких важных рынках, как веб-серверы.
Красная Шляпа была недовольна. В 2011 году Red Hat начала включать свои патчи непосредственно в дерево ядра. Весь код все еще был там, но, как сказал тогда один человек: «Это все равно, что попросить кого-то рецепт семейного печенья с шоколадной крошкой и вместо этого получить тесто для печенья».
Тем не менее, разработчикам распространителя клонов RHEL удалось. В 2014 году Red Hat включила CentOS. CentOS по-прежнему оставалась бесплатной для использования, в то время как Red Hat надеялась, что сможет убедить пользователей CentOS стать клиентами RHEL. Это не сработало. Большинство пользователей семейства RHEL продолжали использовать бесплатную CentOS.
Поскольку это не сработало, в конце 2020 года Red Hat заменила CentOS со стабильного клона RHEL на постоянно обновляемый дистрибутив Linux — CentOS Stream. Кроме того, планировалось, что, хотя Red Hat продолжит поддерживать старую версию CentOS 7 как минимум до 30 июня 2024 года, поддержка новой версии CentOS 8 вместо того, чтобы поддерживаться до 2029 года, закончится в конце 2021 года. .
Это пролетело как воздушный шарик среди сотен тысяч пользователей CentOS.
Как заметил один пользователь: «Сценарий использования CentOS полностью отличается от CentOS Stream. Многие, многие люди используют CentOS для рабочих нагрузок предприятия, а не для разработки. CentOS Stream может подойти для разработки/тестирования, но маловероятно, что люди будут таковыми». собираюсь использовать CentOS Stream для производства».
Это действительно так и оказалось. Основатель и генеральный директор CloudLinux Игорь Селецкий вместе с основателем CentOS и генеральным директором CIQ Грегори Курцером в ответ создали новые клоны RHEL — AlmaLinux и Rocky Linux соответственно. Короче говоря, они оба решили, что старую модель CentOS нужно вернуть.
Оба дистрибутива оказались успешными, поэтому Red Hat пошла на этот шаг. В последующем сообщении МакГрат разъяснил это: «Я чувствую, что большая часть гнева из-за нашего недавнего решения в отношении последующих источников исходит либо от тех, кто не хочет платить за время, усилия и ресурсы, входящие в RHEL, либо от тех, кто хотят переупаковать его ради собственной выгоды. Такое требование кода RHEL неискренне».
Излишне говорить, что AlmaLinux и Rocky Linux тоже недовольны.
Бенни Васкес, председатель правления AlmaLinux Foundation, опасается, что AlmaLniux должна следовать лицензиям и соглашениям Red Hat в дополнение к соблюдению лицензий на исходный код программного обеспечения. Это также будет означать, как понимает AlmaLinux, что «соглашения о пользовательском интерфейсе Red Hat указывают, что повторная публикация источников, полученных через клиентский портал, будет нарушением этих соглашений». Это, в свою очередь, приведет к нарушению GPLv2.
Это беспроигрышная ситуация. Таким образом, AlmaLinux «будет работать с другими членами экосистемы RHEL, чтобы гарантировать, что мы продолжим предоставлять обновления безопасности со скоростью и стабильностью, которыми мы стали известны. И в долгосрочной перспективе мы будем работать с этими с теми же партнерами и нашим сообществом, чтобы определить лучший путь развития AlmaLinux как части корпоративной экосистемы Linux».
Rocky Enterprise Software Foundation придерживается более агрессивной тактики. В сообщении от 29 июня компания заявила:
Условия обслуживания Red Hat (TOS) и Лицензионные соглашения с конечными пользователями (EULA) налагают условия, которые пытаются помешать законным клиентам осуществлять свои права, гарантированные GPL. Пока сообщество спорит, нарушает ли это GPL, мы твердо убеждены, что такие соглашения нарушают дух и цель открытого исходного кода. В результате мы отказываемся с ними соглашаться, а это означает, что мы должны получать SRPM [исходные файлы RPM] по каналам, которые придерживаются наших принципов и защищают наши права.
Рокки считает, что «исходники RHEL в основном состоят из исходных пакетов проектов с открытым исходным кодом, которые не принадлежат Red Hat».
Я верю, что они правы.
Таким образом, поскольку Rocky не может получить код с клиентского портала Red Hat, а код CentOS Stream недостаточно хорош, Rocky будет использовать два разных подхода для получения чистого кода RHEL.
Один из вариантов - образы контейнеров RHEL Universal Base Image (UBI), которые доступны из нескольких онлайн-источников, таких как Docker Hub. «Используя образ UBI, можно легко и надежно получить исходные коды Red Hat. Мы проверили это с помощью контейнеров OCI (Open Container Initiative), и это работает».
Кроме того, Rocky Linux будет использовать экземпляры публичного облака RHEL с оплатой по факту использования. Их сообщение продолжается:
Благодаря этому любой может разместить образы RHEL в облаке и, таким образом, получить исходный код всех пакетов и исправлений. Для нас это проще всего масштабировать, поскольку мы можем делать все это через конвейеры CI, запуская облачные образы для получения исходных кодов через DNF и автоматически публикуя их в наших репозиториях Git.
Эти методы возможны благодаря силе GPL. Никто не может предотвратить распространение программного обеспечения под лицензией GPL. Еще раз подчеркнем, что оба этих метода позволяют нам законно получать двоичные файлы RHEL и SRPM, не ставя под угрозу нашу приверженность программному обеспечению с открытым исходным кодом или соглашаясь с ограничениями TOS или EULA, которые ущемляют наши права. Наши юридические консультанты заверили нас, что мы имеем право получать исходные коды любых получаемых нами двоичных файлов.
Я могу гарантировать, что Red Hat не согласится. Этот спор может быть решен в судебном порядке.
Не весь гнев исходит от тех, кого МакГрат, судя по всему, называет нахлебниками. Брэдли М. Кун, научный сотрудник Software Freedom Conservancy (SFC), объяснил свою позицию:
В течение примерно двадцати лет Red Hat (ныне полностью принадлежащая IBM дочерняя компания) экспериментировала с созданием бизнес-модели развертывания и распространения операционных систем, которая выглядит, ощущается и действует как проприетарная, но, тем не менее, соответствует GPL и другим стандартам. условия авторского лева. Активисты за права программного обеспечения, в том числе SFC, десятилетиями беседовали с Red Hat и ее адвокатами о том, как бизнес-модель Red Hat Enterprise Linux (RHEL) приводит к катастрофе и активно недружелюбно относится к ориентированному на сообщество бесплатному и открытому программному обеспечению (FOSS). Насколько мы можем судить, эти просьбы, дискуссии и поощрения были услышаны и серьезно выслушаны ключевыми сотрудниками юридического отдела и отдела OSPO Red Hat, и даже ключевыми руководителями высшего звена, но в конечном итоге они были отвергнуты и проигнорированы. — иногда даже «штрафуют, а потом подают в суд за нарушение GPL».
До приобретения Red Hat Кун утверждал: «CentOS обеспечила отличный противовес проблемам бизнес-модели RHEL». Однако теперь, в погоне за прибылью, которая привела к первым увольнениям в Red Hat, Red Hat максимально увеличила «уровень сложности для тех членов сообщества, которые хотят «доверять, но проверять», что RHEL соответствует соглашениям GPL».
Нарушает ли Red Hat основную лицензию Linux на интеллектуальную собственность (IP) — Стандартную общественную лицензию Gnu версии 2 (GPLv2)? Кун не пойдет так далеко. Но он обеспокоен тем, что Red Hat «перешла от публичного распространения [исходного кода] к предоставлению его только тем клиентам, которые уже получили двоичные файлы». Короче говоря, «мутная бизнес-модель Red Hat выходит за рамки соответствия GPL».
Он не одинок. Многие другие считают, что Red Hat нарушает GPLv2. Программисты также недовольны Red Hat. Грэм Леггетт, известный разработчик ПО с открытым исходным кодом, написал в Твиттере: «Привет, Red Hat. Вы принимаете мою работу уже около 25 лет и с радостью используете ее в дальнейшем. Вы никогда мне не платили, но я поощрял ее». мои клиенты будут платить вам. Возможно, пришло время обсудить, как вы будете компенсировать нам нашу работу».
Другой известный программист, Джефф Гирлинг, заметил: «Что я больше всего ненавижу в ответе Red Hat, так это то, что они называют любого, кто хочет CentOS, нахлебником, когда: 1. Нет ничего морально неправильного в том, чтобы быть пользователем OSS без участия. 2. Почти все RH сотрудники, участники и (бывшие, теперь) защитники, которых я знаю, полагались на CentOS».
Однако Альберто Руис, технический менеджер Red Hat, хотел бы напомнить всем, что «Все исправления попадают в CentOS Stream даже до того, как двоичные файлы RHEL действительно существуют. Мы публикуем модификации для всеобщего обозрения [в CentOS Stream], а не только двоичные файлы. получатели».
С другой стороны, некоторые «красные шляпники» считают этот шаг последней из серии ошибок. Бывший старший инженер Red Hat Джефф Лоу заметил: «То, что Red Hat сделала в последнее время, удручает, но не является для меня большим сюрпризом. Red Hat неоднократно боролась с тем, как бороться с «клонами». Основная идея, к которой я всегда возвращался в этих дискуссиях, заключалась в том, что ценность не в битах, а в стабильности, услугах и экосистеме, которую Red Hat обеспечивает вокруг битов».
Но в какой-то момент для Red Hat открытый исходный код стал средством достижения цели. Это открыло Red Hat возможность отойти от идеала открытого исходного кода. Лоу заключил: «То, что сделала Red Hat, может быть технически законным и, возможно, полезным для ее бизнеса. Однако, на мой взгляд, это бессовестно с этической точки зрения».
Даже несмотря на то, что гнев растет со всех сторон, важно помнить, что это не проблемы «плохих парней» и «хороших парней».
Есть и другие проблемы с лицензированием. GPLv2 лежит в основе Linux, но программное обеспечение системы Linux содержит программы, использующие множество различных лицензий. Это беспорядок, в который ни Red Hat, ни ее заклятые враги не должны ввязываться.
Мы далеки от того момента, когда Боб Янг, соучредитель Red Hat, сказал мне: «Я бы стал сотрудничать с конкурентами. Это постоянная возможность. Ваш конкурент — не ваш враг. Если вы можете решить проблему клиента, работая с ваш конкурент, то это то, что вам следует сделать».
Мой вариант? Я следил за Red Hat с тех пор, как компания была основана в швейном уголке жены Янга. Я следил за Linux с тех пор, как Линус Торвальдс был аспирантом и были написаны первые IP-лицензии на открытое и свободное программное обеспечение. На мой взгляд, Red Hat не нарушает букву GPLv2, но нарушает ее дух.