Historia RHEL, CentOS, Rocky Linux i AlmaLinux
Wyjaśnienie ewolucji Red Hat Enterprise Linux od wersji 9 do CentOS Stream. Poznaj przyczyny zakończenia wsparcia dla CentOS 8 oraz różnice między Rocky Linux a AlmaLinux.
Dlaczego istnieją dwie darmowe wersje Red Hat Enterprise Linux
Projekty Rocky Linux oraz AlmaLinux powstały, ponieważ firma Red Hat zakończyła wsparcie dla CentOS Linux na lata przed terminem, na który liczyli użytkownicy. CentOS był darmową, pozbawioną brandingu wersją Red Hat Enterprise Linux (RHEL) i oferował ten sam długi okres wsparcia. Dnia 8 grudnia 2020 r. projekt CentOS ogłosił, że wsparcie dla CentOS Linux 8 zostanie zakończone z końcem 2021 r., zamiast w 2029 r. W ciągu tygodnia od tego ogłoszenia zapowiedziano dwa projekty zastępcze, które są rozwijane do dziś.
To ogłoszenie staje się zrozumiałe dopiero po wyjaśnieniu, czym był CentOS i dlaczego darmowa kopia komercyjnego produktu w ogóle mogła istnieć. Historia ta rozpoczyna się w 2003 r.
Dokąd zmierzał Red Hat Linux w 2003 roku: Fedora i RHEL
Pierwotnym produktem firmy Red Hat była dystrybucja pudełkowa o nazwie Red Hat Linux. Pierwsze wydanie niebędące wersją beta ukazało się w maju 1995 roku. Ostatnie, Red Hat Linux 9, zostało wydane 31 marca 2003 roku, a wsparcie dla niego zakończyło się 30 kwietnia 2004 roku.
W tamtym czasie Red Hat prowadził sprzedaż dla przedsiębiorstw, które oczekiwały cech niemożliwych do uzyskania w produkcie pudełkowym: wersji stabilnej przez lata, z poprawkami bezpieczeństwa i bez niespodziewanych aktualizacji. Red Hat stworzył ją jako Red Hat Linux Advanced Server, co w marcu 2002 roku przekształciło się w Red Hat Enterprise Linux 2.1. RHEL jest sprzedawany w modelu subskrypcyjnym, płatnym za system rocznie. Subskrypcja obejmuje aktualizacje oraz wsparcie techniczne. Zapewnia również certyfikację: dostawcy sprzętu i oprogramowania komercyjnego testują swoje rozwiązania konkretnie pod kątem RHEL i wymieniają go w swoich warunkach wsparcia.
Darmowa linia produktów nie miała wówczas jasno określonego celu, więc Red Hat połączył ją z zewnętrznym projektem społecznościowym. Fedora Project i Red Hat Project połączyły się formalnie 22 września 2003 roku. Fedora stała się szybką, darmową dystrybucją, w której trafiają najnowsze rozwiązania. RHEL stał się wolniejszym, płatnym produktem budowanym na jej bazie. Od tego czasu prace przebiegają w tym kierunku: Fedora wyznacza kierunek, a RHEL podąża za nią.
Podział ten pozostawił lukę. Wiele osób oczekiwało dziesięcioletniego cyklu życia RHEL bez konieczności opłacania subskrypcji za każdy serwer, a Fedora nie mogła tego zapewnić, ponieważ wydanie Fedory jest wspierane przez około trzynaście miesięcy.
Dlaczego darmowa rekompilacja RHEL była możliwa?
RHEL jest zbudowany niemal w całości z oprogramowania na wolnych licencjach, przy czym kluczowe znaczenie ma tutaj GNU General Public License (GPL). Wymaga ona, aby każdy, kto otrzymuje pliki binarne, mógł również uzyskać odpowiadający im kod źródłowy. Red Hat wywiązywał się z tego obowiązku publicznie, publikując źródłowe pakiety RPM (SRPM, czyli spakowany kod źródłowy dla każdego komponentu) na publicznym serwerze, a później w repozytoriach git.centos.org.
Kod źródłowy nie stanowi całego produktu. Dwie części RHEL nigdy nie były darmowe do kopiowania. Znaki towarowe Red Hat należą do firmy Red Hat, dlatego twórca rekompilacji musi usunąć każde logo i każdą wzmiankę o tej nazwie. Płatne usługi również pozostają za paywallem: serwery aktualizacji, umowa wsparcia technicznego, proces certyfikacji oraz erraty opisujące każdą poprawkę.
Przepis był łatwy do opisania. Należy pobrać opublikowane źródła, usunąć branding, skompilować je ponownie i opublikować wynik. Celem była kompatybilność "błąd w błąd", co oznacza, że rekompilacja zawiera te same poprawki i wykazuje to samo zachowanie co RHEL, włącznie z błędami. Ta precyzja była istotą rzeczy, ponieważ oprogramowanie komercyjne jest certyfikowane pod kątem RHEL. Jeśli rekompilacja zachowuje się identycznie, oprogramowanie to na niej działa, choć producent nie zapewni dla niej wsparcia technicznego.
Do czego służył CentOS?
CentOS to skrót od Community ENTerprise Operating System. Projekt wywodzi się z inicjatywy cAos Linux, zapoczątkowanej przez Gregory'ego Kurtzera w 2002 roku. Pierwsze wydanie CentOS pojawiło się 14 maja 2004 roku i otrzymało numer 2, ponieważ bazowało na RHEL 2.1AS.
O jego popularności decydował cykl życia. Każde wydanie CentOS podążało za dziesięcioletnim okresem wsparcia RHEL i było darmowe. Firmy hostingowe używały go jako domyślnego obrazu systemu, uniwersytety uruchamiały go na klastrach, dostawcy urządzeń instalowali go w swoich produktach, a panele sterowania zakładały jego obecność. Jeśli w okresie między 2006 a 2020 rokiem wynajmowałeś wirtualny serwer prywatny, CentOS znajdował się w menu wyboru systemu operacyjnego i często był ustawieniem domyślnym.
CentOS Linux 7 stanowi dowód na to, że te założenia sprawdzały się w praktyce. System wydano 7 lipca 2014 roku, a wsparcie bezpieczeństwa trwało do 30 czerwca 2024 roku, czyli zaledwie kilka dni krócej niż pełne dziesięć lat. Ten wynik jest powodem, dla którego użytkownicy bez obaw budowali dziesięcioletnie plany w oparciu o kolejne wydania.
Co zmieniło się po dołączeniu CentOS do Red Hat w 2014 roku
7 stycznia 2014 roku firmy Red Hat oraz CentOS Project ogłosiły nawiązanie współpracy. W ogłoszeniu wzięli udział ówczesny dyrektor ds. technologii Red Hat, Brian Stevens, oraz główny programista CentOS, Karanbir Singh. Red Hat zapewnił wsparcie kadrowe i infrastrukturalne, kilku kluczowych programistów CentOS zostało zatrudnionych w Red Hat, a projekt zyskał formalną radę nadzorczą.
Dla użytkowników widoczne efekty były korzystne. Kompilacje pojawiały się szybciej po każdym wydaniu RHEL. Źródła przeniesiono do git.centos.org. Grupy zainteresowań (Special Interest Groups) tworzyły dodatkową zawartość ponad dystrybucję bazową, taką jak stosy wirtualizacji i pamięci masowej.
Zmiana strukturalna była mniej zauważalna, a to ona okazała się kluczowa sześć lat później. Projekt, który zajmował się przebudową RHEL, był odtąd finansowany i w dużej mierze obsługiwany przez firmę, która sprzedawała RHEL. Żaden element tego porozumienia nie zobowiązywał Red Hat do utrzymywania projektu typu rebuild.
Dlaczego wsparcie dla CentOS Linux 8 zakończyło się w 2021 roku?
System CentOS Linux 8 został wydany 24 września 2019 roku. Wsparcie dla RHEL 8 zaplanowano do 31 maja 2029 roku, dlatego zakładano, że CentOS Linux 8 również będzie wspierany do 2029 roku.
8 grudnia 2020 roku Rich Bowen opublikował na blogu CentOS wpis pod tytułem "CentOS Project shifts focus to CentOS Stream". Ogłoszono w nim, że wsparcie dla CentOS Linux 8 zakończy się 31 grudnia 2021 roku. Dla CentOS Linux 7 utrzymano pierwotną datę zakończenia wsparcia, czyli 30 czerwca 2024 roku. Jako powód podano zmianę kierunku rozwoju projektu na CentOS Stream.
The data behind this chart
[
{
"label": "Announced at release, September 2019",
"support_window": 9.7
},
{
"label": "Delivered, ended December 2021",
"support_window": 2.3
}
]System CentOS Linux 8 został wydany z przewidywanym okresem wsparcia wynoszącym około 9.7 lat. W rzeczywistości wsparcie trwało około 2.3. Żadna funkcjonalność nie została usunięta, a jakość kodu nie uległa pogorszeniu. Użytkownicy stracili jednak gwarancję daty, na której opierali swoje plany wdrożeniowe dla maszyn produkcyjnych, otrzymując zaledwie rok wypowiedzenia. Migracja systemu operacyjnego w całej infrastrukturze jest procesem planowanym, a ta zmiana wymusiła wykonanie nieplanowanych prac w narzuconym terminie.
Czym dokładnie jest CentOS Stream?
Większość opracowań nadal opisuje CentOS Stream jako projekt, który doprowadził do zakończenia wsparcia dla CentOS Linux. Choć zbieżność czasowa jest poprawna, opis ten jest błędny, ponieważ oba produkty wyznaczają odmienne kierunki rozwoju.
CentOS Linux był dystrybucją typu downstream względem RHEL. Red Hat wydawał wersję minor RHEL, a CentOS tworzył jej kompilację po fakcie. Kopia zawsze pojawiała się po oryginale.
CentOS Stream jest projektem typu upstream względem RHEL. Jest to publiczna gałąź, w której przygotowywane jest kolejne wydanie minor RHEL. Prace przepływają z Fedory do CentOS Stream, a następnie do RHEL, dlatego pakiet najpierw pojawia się w Stream, a dopiero później trafia do wydania minor RHEL. Stream jest dostarczany w sposób ciągły, więc nie pozostaje w stanie statycznym między wersjami minor, w przeciwieństwie do wydanego RHEL.
Dzięki temu Stream jest użyteczny w zadaniach, których CentOS Linux nigdy nie mógł realizować. Jeśli utrzymujesz oprogramowanie, które musi działać w kolejnym wydaniu minor RHEL, Stream pozwala sprawdzić to wydanie z kilkumiesięcznym wyprzedzeniem. Jeśli chcesz naprawić błąd w RHEL, Stream jest miejscem, do którego możesz wysłać poprawkę, czego nigdy nie oferowała kompilacja typu downstream. Argumentacja Red Hat z 2020 roku wskazywała, że zmienia to pasywną kopię w dystrybucję, na którą społeczność może realnie wpływać.
Stream nadal pozostaje słabym zamiennikiem tego, czego oczekiwali użytkownicy CentOS Linux, co potwierdza okres wsparcia. CentOS Stream 10 został wydany 12 grudnia 2024 roku z okresem wsparcia wynoszącym około pięciu lat, w porównaniu do dziesięciu lat w przypadku RHEL. Zespół zarządzający infrastrukturą w oparciu o plan dziesięcioletni nie otrzymał szybszej wersji tego planu. Otrzymał inny produkt o innym przeznaczeniu.
Pochodzenie Rocky Linux i AlmaLinux
System Rocky Linux został zapowiedziany 8 grudnia 2020 roku, tego samego dnia co komunikat dotyczący CentOS, przez Gregory'ego Kurtzera, twórcę projektu, z którego wywodzi się CentOS. Nazwa stanowi hołd dla Rocky'ego McGaugha, jednego z pierwszych współzałożycieli CentOS. Projekt jest zarządzany przez Rocky Enterprise Software Foundation (RESF), a jego głównym komercyjnym wsparciem jest CIQ, firma założona przez Kurtzera. Wersja release candidate pojawiła się pod koniec kwietnia 2021 roku, a pierwsze stabilne wydanie, Rocky Linux 8.4 "Green Obsidian", ukazało się 21 czerwca 2021 roku.
System AlmaLinux wywodzi się z CloudLinux, firmy, która już wcześniej oferowała dystrybucję bazującą na RHEL dostawcom usług hostingowych. 15 grudnia 2020 roku CloudLinux zadeklarował przeznaczanie ponad miliona dolarów rocznie na darmową kompilację RHEL, znaną wówczas pod nazwą kodową Project Lenix. Nazwę AlmaLinux ogłoszono 12 stycznia 2021 roku, wersja beta pojawiła się 1 lutego, a AlmaLinux 8.3 "Purple Manul" został wydany 30 marca 2021 roku. Tego samego dnia własność projektu została przekazana AlmaLinux OS Foundation, organizacji non-profit, która posiada znak towarowy i zarządza radą projektu.
Oba projekty rozwiązały ten sam problem przy odmiennych modelach zarządzania. Rocky wywodzi się od osoby, która zapoczątkowała CentOS, z firmą zbudowaną wokół tego przedsięwzięcia. AlmaLinux powstał w firmie, która w dniu wydania systemu przekazała znak towarowy fundacji. Przez dwa lata różnice praktyczne były niewielkie, a oba projekty dostarczyły użytkownikom to, co utracili wraz z CentOS Linux.
Zmiany wprowadzone przez Red Hat w źródłach RHEL w 2023 roku
21 czerwca 2023 roku Mike McGrath, ówczesny wiceprezes ds. platform podstawowych w Red Hat, opublikował wpis "Furthering the evolution of CentOS Stream". Kluczowe zdanie wskazywało, że CentOS Stream stanie się jedynym repozytorium dla publicznych wydań kodu źródłowego powiązanego z RHEL. Źródła RHEL, które były przesyłane do git.centos.org, przestały być tam udostępniane.
Klienci i partnerzy Red Hat zachowują dostęp do źródeł RHEL za pośrednictwem portalu klienta, co jest zgodne z licencją GPL, ponieważ obowiązek ten dotyczy osób, które otrzymały pliki binarne. Zmiana dotyczyła publicznej ścieżki dostępu. Rejestr pakietów określający dokładnie, co zostało zawarte w danym wydaniu minor RHEL, przestał być publikowany otwarcie, a CentOS Stream znajduje się przed RHEL, a nie na tym samym poziomie. W rezultacie projekt typu rebuilder, pracujący wyłącznie w oparciu o Stream, nie jest w stanie dokładnie odtworzyć wydanej wersji minor.
Stanowisko Red Hat zakładało, że Stream jest projektem typu upstream i że publiczny kod źródłowy powinien znajdować się w upstreamie. Stanowisko projektów typu rebuilder było takie, że zmiana ta usunęła materiał, na którym opierały się one od 2004 roku. Oba opisy są poprawne. Spór dotyczy celu licencji, a nie jej treści.
Jak zareagowały dystrybucje typu rebuild i czym jest OpenELA
Rocky Linux zareagował jako pierwszy. W publikacji z dnia 29 czerwca 2023 r. projekt poinformował, że będzie nadal pozyskiwać źródła RHEL kanałami, które nie wiążą się z dodatkowymi umowami: obrazami kontenerowymi Red Hat Universal Base Image (UBI) oraz płatnymi instancjami RHEL w chmurach publicznych. Każdy, kto otrzymuje te pliki binarne, posiada prawo wynikające z licencji GPL do uzyskania odpowiadającego im kodu źródłowego. Rocky utrzymał swój cel, jakim jest śledzenie wydań RHEL w stosunku jeden do jednego.
AlmaLinux zareagował inaczej. W lipcu 2023 r. zarząd, któremu przewodniczy benny Vasquez, porzucił cel bycia identycznym z RHEL i przyjął zamiast tego kompatybilność na poziomie Application Binary Interface (ABI). Kompatybilność ABI oznacza, że oprogramowanie zbudowane dla RHEL działa bez modyfikacji na AlmaLinux, mimo że systemy te nie są identycznymi kompilacjami. To rozwiązanie zapewniło niezależność. AlmaLinux może dostarczyć poprawkę przed RHEL i może nadal wspierać sprzęt, z którego wsparcia RHEL zrezygnował.
Dwaj więksi dostawcy również podjęli działania. 11 lipca 2023 r. SUSE ogłosiło, że stworzy fork publicznie dostępnego RHEL i zainwestuje ponad dziesięć milionów dolarów amerykańskich w kompatybilną dystrybucję. Oracle, który od 2006 r. dostarcza Oracle Linux jako produkt kompatybilny z RHEL, opublikował własne stanowisko w tym samym tygodniu.
10 sierpnia 2023 r. CIQ, Oracle oraz SUSE ogłosiły powstanie Open Enterprise Linux Association (OpenELA). Jest to stowarzyszenie branżowe, którego jedynym zadaniem jest publikowanie źródeł enterprise Linux, aby dystrybucje kompatybilne z RHEL mogły być nadal tworzone, przy zachowaniu swobody redystrybucji tych źródeł. W listopadzie 2023 r. stowarzyszenie ogłosiło swoje dokumenty zarządcze oraz dostępność kodu. AlmaLinux nie dołączył do inicjatywy, co wynika z decyzji o przejściu na kompatybilność ABI, ponieważ projekt nie potrzebuje już dokładnego źródła kodu.
Którą wersję wybrać obecnie na serwer?
The data behind this chart
[
{
"distro": "RHEL 10",
"support_window": 10,
"notes": "Released May 2025, supported to May 2035"
},
{
"distro": "AlmaLinux 10",
"support_window": 10,
"notes": "Released May 2025, supported to May 2035"
},
{
"distro": "Rocky Linux 10",
"support_window": 10,
"notes": "Released June 2025, supported to May 2035"
},
{
"distro": "CentOS Stream 10",
"support_window": 5,
"notes": "Released December 2024, supported to May 2030"
}
]Wydania w wersji 10 pokazują obecny stan rynku. RHEL 10 zadebiutował 20 maja 2025 r., AlmaLinux 10 „Purple Lion” 27 maja 2025 r., a Rocky Linux 10 „Red Quartz” 11 czerwca 2025 r. Każda z tych dystrybucji oferuje 10-letni okres wsparcia. CentOS Stream 10 oferuje 5 lat, co stanowi wyraźny sygnał, że jest to gałąź rozwojowa, a nie zamrożony cel produkcyjny.
Projekty zaczęły się również różnić w sposób, który może prowadzić do problemów technicznych. RHEL 10 podniósł wymagania sprzętowe do poziomu x86-64-v3, czyli architektury wymagającej nowszych instrukcji procesora, takich jak AVX2. Rocky Linux 10 przyjął ten sam standard, rezygnując z x86-64-v2. AlmaLinux 10 domyślnie korzysta z x86-64-v3, ale udostępnia oddzielną kompilację x86-64-v2 dla starszych procesorów. W przypadku taniego VPS na starszym hoście, ta jedna decyzja decyduje o tym, czy system w ogóle się zainstaluje.
Cztery praktyczne wnioski płynące z harmonogramu:
- Jeśli potrzebujesz relacji z dostawcą, wybierz RHEL. Subskrypcja jest produktem, który zapewnia certyfikację oraz wsparcie techniczne, jakiego nie oferuje żadna dystrybucja typu rebuild.
- Jeśli oczekujesz tego, co oferował CentOS Linux, zarówno AlmaLinux, jak i Rocky Linux zapewniają to za darmo, z dziesięcioletnim okresem wsparcia.
- Jeśli tworzysz oprogramowanie, które musi działać na RHEL, lub chcesz, aby Twoje poprawki do niego trafiały, CentOS Stream jest właściwym celem, a krótszy okres wsparcia jest ceną, którą trzeba za to zapłacić.
- Jeśli żadna z powyższych opcji nie ma zastosowania, świat Debiana rozwiązuje kwestię cyklu życia na swój sposób, a wybór między Ubuntu LTS a wydaniami tymczasowymi jest odpowiednikiem tej decyzji w tamtym środowisku.
Lekcja płynąca z tego harmonogramu dotyczy zarządzania, a nie samego kodu. CentOS Linux był dobrym oprogramowaniem, a mimo to zakończył żywot przedwcześnie, ponieważ był finansowany przez firmę, której produkt kopiował. Wybierając dystrybucję dla maszyny, która ma działać przez dekadę, sprawdź, kto ją finansuje i kto jest właścicielem znaku towarowego. AlmaLinux utrzymuje swój znak towarowy w fundacji. Rocky Linux przechowuje go w RESF, przy wsparciu komercyjnym firmy CIQ. Oba projekty publikują te informacje, co jest znaczącą poprawą w stosunku do tego, co użytkownik CentOS mógł zweryfikować w 2019 roku.
Kwestia ta dotyczy bezpośrednio osób wynajmujących serwery. Na niezarządzanym serwerze VPS aktualizacje przeprowadzasz samodzielnie, więc przedwczesne zakończenie wsparcia oznacza konieczność zaplanowania migracji i poświęcenia własnego czasu. Jeśli pytanie o system operacyjny pozostaje otwarte na szerszym poziomie, porównanie między Linux a Windows Server powinno poprzedzać każdą z tych decyzji.
FAQ
Czy CentOS nie żyje?
System CentOS Linux został wycofany. Wsparcie dla CentOS Linux 8 zakończyło się 31 grudnia 2021 roku, a dla CentOS Linux 7 – 30 czerwca 2024 roku, więc żaden z nich nie otrzymuje już aktualizacji bezpieczeństwa. Sam projekt CentOS nadal istnieje i tworzy CentOS Stream, który jest innym produktem: publiczną gałęzią rozwojową, z której korzysta Red Hat Enterprise Linux. Jeśli serwer nadal działa pod kontrolą CentOS Linux, nie posiada on poprawek, a typowymi celami migracji są AlmaLinux oraz Rocky Linux.
Jaka jest różnica między CentOS Stream a CentOS Linux?
Kierunek zmian. CentOS Linux był dystrybucją typu downstream: Red Hat wydawał mniejszą wersję RHEL, a CentOS następnie ją przebudowywał. CentOS Stream jest dystrybucją typu upstream: to tutaj powstaje kolejna mniejsza wersja RHEL, więc jej zawartość pojawia się przed RHEL, a nie po nim. Stream jest aktualizowany w sposób ciągły, a nie zamrożony, a CentOS Stream 10 oferuje okres wsparcia wynoszący około pięciu lat w porównaniu do dziesięciu lat w przypadku RHEL.
Czy wybrać Rocky Linux czy AlmaLinux?
Oba systemy są darmowe, oba ściśle podążają za RHEL i oba publikują dziesięcioletni cykl wsparcia, więc w większości serwerów sprawdzi się każdy z nich. Różnice praktyczne wynikają z decyzji podjętych w 2023 roku. Rocky dąży do dokładnego odwzorowania wydań RHEL, przebudowując je ze źródeł pozyskiwanych przez obrazy kontenerów UBI oraz instancje w chmurze publicznej. AlmaLinux stawia na kompatybilność ABI, co pozwala na wcześniejsze wdrażanie poprawek i zachowanie wsparcia sprzętowego, z którego RHEL zrezygnował. AlmaLinux 10 publikuje kompilację x86-64-v2 dla starszych procesorów, podczas gdy Rocky Linux 10 wymaga x86-64-v3, więc na starszym sprzęcie ten szczegół może być decydujący.
Czy Red Hat złamał licencję GPL w 2023 roku?
Żaden sąd tego nie stwierdził, a zobowiązania wynikające z GPL dotyczą osób otrzymujących pliki binarne. Red Hat nadal dostarcza swoim klientom odpowiednie kody źródłowe. Spór dotyczy tego, co dzieje się później: subskrypcja może zostać nieodnowiona, a projekty przebudowujące system odczytały to jako presję, by nie korzystać z prawa do redystrybucji, które nadaje licencja. Dlatego Rocky przeszedł na źródła, które nie wiążą się z umową subskrypcyjną, i dlatego powstało OpenELA, aby otwarcie publikować kody źródłowe.
Dlaczego Red Hat w ogóle zakończył projekt CentOS Linux?
Podanym powodem w ogłoszeniu z 8 grudnia 2020 roku było to, że przyszłością projektu jest CentOS Stream oraz że przebudowa polegająca jedynie na kopiowaniu RHEL nie dawała społeczności żadnego wpływu na rozwój systemu. Wielu użytkowników dopatrywało się w tym również motywów komercyjnych, ponieważ CentOS Linux był darmową wersją produktu sprzedawanego przez Red Hat, działającą w środowiskach produkcyjnych organizacji, które mogły pozwolić sobie na subskrypcję. Własne publikacje Red Hat odnoszą się raczej do modelu rozwoju niż do takiej interpretacji.