Назад
2025/04/21
9. Рассмотрение решения Red Hat о сокрытии исходного кода
В своем сообщении в блоге от 21 июня 2023 года, “
Продвижение эволюции CentOS Stream“, Red Hat объявила, что ограничит выпуск исходного кода Red Hat Enterprise Linux (RHEL) только для клиентов и партнеров.
С тех пор эта тема освещалась многими новостными сайтами, а поставщики и сообщества, разрабатывающие клоны RHEL, такие как Oracle, AlmaLinux и Rocky Linux, резко отреагировали на это.
Что означает заявление Red Hat? Почему оно вызвало такую сильную негативную реакцию? Чтобы понять это, необходимо знать историю Linux, процесс разработки дистрибутивов и какие лицензии используются.
Здесь мы простыми словами рассмотрим этот недавний шум, включая значение заявления Red Hat, реакции других компаний и прогнозы на будущие тенденции.
Понимание заявления Red Hat
Чтобы понять это заявление, нужно разобраться в CentOS Stream. Давайте рассмотрим это заявление, представляя CentOS Stream.
Объявления Red Hat/IBM, связанные с CentOS
Чтобы увидеть общую картину, давайте回顾一下 ситуацию с CentOS.
- 2004: Первый выпуск CentOS
- 2014: Red Hat приобретает CentOS
- 2019: IBM приобретает Red Hat
- 2020: Проект CentOS будет прекращен
- 2021: В ответ на прекращение разработки CentOS сообщество запускает AlmaLinux и Rocky Linux
- 2023: Исходный код RHEL будет доступен только клиентам и партнерам
CentOS имеет удивительно долгую историю, начиная с версии 2.0 в 2004 году. В то время существовало несколько дистрибутивов, совместимых с RHEL, и он не был так популярен, как сегодня. В частности, Scientific Linux использовался многие годы и существовал до 2020 года. Oracle Linux был выпущен в 2006 году.
В 2014 году Red Hat приобрела CentOS, который до того момента был независимым проектом. Были как плюсы, так и минусы, но я помню, что было много голосов, приветствующих это, особенно потому, что выпуск CentOS на тот момент немного задерживался.
В 2019 году IBM приобрела Red Hat. Как всем известно, с этого момента CentOS претерпел значительные изменения.
Конец CentOS и переход к CentOS Stream
Началом больших изменений стало объявление о завершении проекта CentOS в 2020 году. Как упоминалось ранее в “Часть 8: Переход с CentOS на Oracle Linux“, проект CentOS был завершен и заменен на CentOS Stream (поддержка CentOS 7 закончится 30 июня 2024 года, а CentOS 8 уже завершена).
Причина такого ажиотажа заключалась в том, что CentOS Stream был позиционирован как восходящий поток (upstream) для RHEL.
До сих пор CentOS был популярен как бесплатный дистрибутив, совместимый с RHEL. Однако с появлением CentOS Stream его больше нельзя назвать дистрибутивом, совместимым с RHEL. Кроме того, CentOS Stream использует метод непрерывного выпуска (rolling release). Поэтому он всегда должен быть актуальным, что затрудняет его использование в производственных средах.
Это то, что известно как “шок CentOS”.
Заявление Red Hat
Red Hat опубликовала следующие два сообщения в блоге относительно раскрытия исходного кода:
- 2023/06/21 Продвижение эволюции CentOS Stream
- 2023/06/26 Приверженность Red Hat открытому исходному коду: Ответ на изменения в git.centos.org
Сначала мы представим важные части “Продвижение эволюции CentOS Stream“. Поскольку различные новостные статьи подробно объясняют это, мы сократили текст здесь, отдавая приоритет ясности перед точностью перевода.
По мере роста сообщества CentOS Stream и изменения динамики в мире корпоративного программного обеспечения мы хотим усилить наше внимание к CentOS Stream как основе инноваций в корпоративном Linux. Мы продолжаем инвестировать и усиливаем нашу приверженность CentOS Stream.
По мере роста сообщества CentOS Stream и принятия корпоративным программным обеспечением новых динамик мы будем продолжать инвестировать и усиливать наши усилия в CentOS Stream.
Red Hat указала на свою приверженность CentOS Stream, и в предыдущем абзаце говорится, что некоторые люди приветствуют быстрый выпуск восходящих релизов.
CentOS Stream стал динамичным и прогрессивным вариантом. Некоторые люди могут приветствовать это. Однако важно помнить, что существует также спрос на нисходящий поток, полностью совместимый с RHEL. Особенно для корпоративного использования стабильность часто важнее изменений и прогрессивности.
CentOS Stream теперь будет единственным репозиторием для публичных релизов исходного кода, связанного с RHEL. Для клиентов и партнеров Red Hat исходный код останется доступным через Портал клиентов Red Hat.
CentOS Stream станет единственным репозиторием для публичных релизов исходного кода, связанного с RHEL, в будущем, а клиенты и партнеры Red Hat продолжат иметь доступ к исходному коду через Портал клиентов Red Hat.
В оригинальном тексте это также выделено жирным шрифтом. Это окольный способ выражения, но, проще говоря, это означает, что “исходный код CentOS Stream будет публичным, но исходный код RHEL не будет публичным”.
Далее идет “Приверженность Red Hat открытому исходному коду: Ответ на изменения в git.centos.org“.
Это краткое содержание первой половины статьи. Оригинальный текст длинный, поэтому он был опущен.
Red Hat использует модель разработки с открытым исходным кодом, и разработка новых функций, исправление ошибок, обратный перенос патчей и различные тесты требуют значительных затрат. Кроме того, это трудоемкая задача — постоянно управлять 3–4 основными релизами и переносить патчи на код, которому от 5 до 10 лет. Более того, необходимо учитывать восходящие проекты, такие как Fedora и проект ядра Linux.
Я считаю, что большая часть гнева из-за нашего недавнего решения относительно нисходящих источников исходит либо от тех, кто не хочет платить за время, усилия и ресурсы, вложенные в RHEL, либо от тех, кто хочет переупаковать его для собственной прибыли. Этот спрос на код RHEL неискренен.
Я возмущен нечестностью дистрибутивов, совместимых с RHEL, которые просто перестраивают исходный код RHEL и не вносят в него никакого вклада.
Здесь присутствует осуждение бесплатного использования.
Программное обеспечение с открытым исходным кодом развивалось по разным причинам. Самая большая причина его развития, вероятно, заключается в преимуществах для пользователей, таких как возможность бесплатного или недорогого использования и отсутствие привязки к поставщику, поскольку исходный код общедоступен. Однако есть и преимущества для разработчиков. Качество улучшается по мере того, как больше пользователей сообщают об ошибках, разработка продвигается с увеличением числа участников разработки, а количество пользователей растет по мере появления документации и технической информации на нескольких языках.
В последние годы проблема бесплатного использования стала актуальной на мега-облаках, таких как Amazon Web Services. Redis, Elasticsearch, MongoDB и другие сервисы изменили свои лицензии в знак протеста против бесплатного использования на мега-облаках.
Мы также предоставляем бесплатные подписки Red Hat Developer и Red Hat Enterprise Linux (RHEL) для инфраструктуры с открытым исходным кодом. Подписка для разработчиков предоставляет RHEL бесплатно разработчикам и позволяет использовать до 16 систем, опять же, бесплатно. Это может использоваться отдельными лицами для их собственной работы и клиентами RHEL для работы их сотрудников.
Мы предлагаем подписки Red Hat Developer и Red Hat Enterprise Linux для инфраструктуры с открытым исходным кодом (услуги для сообщества разработки с открытым исходным кодом) бесплатно.
Хотя условия использования довольно ограничены, RHEL предлагает бесплатную программу для некоторых пользователей.
Почему это вызвало такую сильную негативную реакцию?
Причина этого ажиотажа в том, что “CentOS, который можно использовать бесплатно как совместимый с RHEL, больше не будет существовать” и “исходный код, связанный с RHEL, кроме CentOS Stream, не будет публичным”. Давайте разберем это немного глубже. Мы объясним, как создать дистрибутив, совместимый с RHEL, и GPL.
Как создать дистрибутив, совместимый с RHEL
Диаграмма ниже показывает, как создать дистрибутив, совместимый с RHEL. Дистрибутивы, совместимые с RHEL, разрабатывались на основе исходного кода (SRPM) RHEL или CentOS. Многие дистрибутивы основывались на CentOS, который не имеет ограничений по авторским правам и легко модифицируется.
Проблема в том, как создавать его в будущем. Исходный код RHEL ограничен для определенных пользователей, таких как клиенты и партнеры. Только CentOS Stream стал репозиторием исходного кода, доступным для всех. Однако CentOS Stream является восходящим потоком RHEL. Перестройка исходного кода CentOS Stream не сделает его совместимым с RHEL.
GPL и соглашение Red Hat Enterprise
Ядро Linux — это программа, лицензированная под GPL v2. Некоторые могут считать странным не публиковать исходный код, поскольку Linux — это GPL. Вот краткое объяснение GPL и соглашения Red Hat Enterprise, которые важны для понимания лицензии RHEL.
GPL — это очень мощная лицензия со следующими характеристиками: Пункты GPL были переведены на японский волонтерами, но некоторые части трудно понять и подлежат различным интерпретациям, поэтому думайте об этом примерно так.
- Разрешено коммерческое использование
- Автор не несет никакой ответственности
- Включать уведомления об авторских правах и отсутствие гарантий.
- Исходный код должен быть опубликован при распространении
- Если вы создаете программное обеспечение, использующее полностью или частично программу, лицензированную под GPL, вы также должны распространять его под GPL.
Важная часть, на которую следует обратить внимание, — это часть, которая гласит: “Существует обязательство публиковать исходный код во время распространения”. Общая интерпретация этого такова: “любой, у кого есть объектный код (бинарный код), имеет право получить исходный код”. Однако также можно сказать, что “у тех, у кого нет объектного кода, нет права получать исходный код”.
Для примера предположим, что компания разрабатывает программу, использующую модифицированное ПО под GPL только внутри компании. Хотя это ПО является GPL, оно не публикуется, поэтому нет необходимости публиковать исходный код, включая модифицированные части, для общественности.
Хотя GPL имеет строгие характеристики в отношении раскрытия исходного кода, она обладает вышеуказанными особенностями. Поэтому Red Hat накладывает определенные ограничения на своих клиентов, заключая с ними соглашение Red Hat Enterprise. Хотя мы не будем вдаваться в содержание соглашения Red Hat Enterprise, оно содержит множество ограничительных пунктов.
Реакции поставщиков и проектов
В ответ на заявление Red Hat поставщики и проекты, разрабатывающие дистрибутивы, совместимые с RHEL, опубликовали различные заявления. Вот некоторые из них.
AlmaLinux
AlmaLinux — это проект, запущенный CloudLinux, компанией с опытом создания Linux ОС для хостинга. Это был первый релиз после проекта CentOS. Быстро были опубликованы три сообщения в блоге.
Краткое содержание следующее:
- Исходные RPM, совместимые с RHEL, труднее получить, но обновления безопасности доступны быстрее.
- Сохранять позицию нисходящего потока RHEL, но отказаться от совместимости 1:1 с RHEL и стремиться к бинарной совместимости
- Вносить вклад в экосистему Enterprise Linux, включая сообщество с открытым исходным кодом и восходящие платформы, такие как Fedora и CentOS Stream.
Второй блог объясняет, как следить за обновлениями безопасности, используя OpenSSL в качестве примера. Cybertrust (MIRACLE LINUX), которая разрабатывает дистрибутивы, совместимые с RHEL в Японии, объявила о партнерстве с CloudLinux, основным спонсором AlmaLinux.
Rocky Linux
Rocky Linux — это проект, основанный Грегори Куртцером, основателем проекта CentOS. Поддержка предоставляется CiQ, компанией, основанной Грегори Куртцером. Этот проект также публикует три блога.
- Rocky Linux выражает уверенность несмотря на заявление Red Hat
- Сохранение открытого исходного кода открытым
- Заявление относительно OpenELA
Краткое содержание следующее:
- 100% совместимость с RHEL вплоть до уровня ошибок
- Выполнение нашей миссии по предоставлению стабильного, долгосрочного дистрибутива, совместимого с RHEL
- Вносить вклад в экосистему Enterprise Linux, включая сообщество с открытым исходным кодом и восходящие платформы, такие как Fedora и CentOS Stream.
- Хотя Условия обслуживания Red Hat и Лицензионные соглашения для конечных пользователей ограничивают права, предоставленные GPL, сайт предоставляет законные способы получения исходного кода (использование контейнерного образа Red Hat Universal Base Image и использование инстансов с оплатой по мере использования в публичных облаках).
- Запущен OpenELA, проект для продвижения Enterprise Linux, совместно с Oracle и SUSE.
Oracle
Oracle, разработчик Oracle Linux, опубликовала следующие новости:
Некоторые части содержания немного саркастичны по сравнению с AlmaLinux и Rocky Linux, но суть следующая:
- Участвовал в сообществе Linux 25 лет с целью сделать его лучшей бесплатной серверной ОС для всех.
- Oracle выпустила Oracle Linux в 2006 году, выбрав совместимость с RHEL, чтобы избежать раскола сообщества Linux.
- Мы придерживались GPL и сделали наши бинарные файлы и исходный код открытыми. В отличие от IBM (Red Hat), мы не вмешиваемся в права пользователей через контракты на подписку.
- Является ли намерение не раскрывать исходный код на этот раз направленным на устранение конкурентов?
- Продолжать поддерживать совместимость с RHEL, где это возможно
- Oracle продолжит вносить вклад в сообщество Linux и публиковать бинарные файлы и исходный код. Нисходящие дистрибутивы приветствуются.
SUSE
Наконец, есть SUSE. Хотя это был дистрибутив на основе RPM, он не был совместим с RHEL, но было объявлено, что он войдет на рынок дистрибутивов, совместимых с RHEL.
Заключение
Red Hat, безусловно, была лидером на рынке корпоративного Linux. Кроме того, вклад компании в сообщество с открытым исходным кодом, не только в Linux, неоценим. Поэтому это заявление стало неожиданностью.
Хотя с момента объявления Red Hat прошло всего три месяца, другие компании быстро отреагировали. Все основные поставщики дистрибутивов, совместимых с RHEL, объявили о своих мерах противодействия, и даже SUSE, которая имеет высокую долю рынка в Европе, объявила о своем участии. Поэтому маловероятно, что дистрибутивы, совместимые с RHEL, исчезнут или что патчи безопасности будут значительно задерживаться.
Этот случай напоминает мне о “судебном деле SCO против Linux”, которое длилось с 2003 по 2010 год. Начав с того, что SCO, владелец авторских прав на Linux, подала в суд на IBM, дело продолжилось с исками против Novell и Red Hat, и даже намекало на иски против обычных пользователей Linux. Помимо сильной критики по всему миру, SCO не выиграла ни одного дела и в итоге заплатила огромные судебные издержки.
На этот раз нет злостной патентной тролльской тактики, как у SCO. Однако маловероятно, что что-то, что вызовет много противников в мире открытого исходного кода, будет успешным. Тем не менее, есть также потребность в CentOS Stream как восходящем потоке, поэтому может быть предпринята попытка сосуществования с лагерем нисходящих дистрибутивов, совместимых с RHEL.