Last Updated on 7월 10, 2023 by Jade(정현호)
안녕하세요
이번 포스팅은 2023년 6월 21일 Red Hat Blog에서 포스팅된 내용으로 아주 큰 의미의 RHEL의 소스코드 공개 정책 변경에 대한 내용에 대해서 기술해보도록 하겠습니다.
RHEL vs CentOS
본 내용에 앞에서 조금 더 이해를 돕고자 Red Hat Enterprise Linux 와 CentOS 간의 변경된 관계성에 대해서 먼저 설명하도록 하겠습니다.
CentOS 는 리눅스의 배포판 중 하나로 Community Enterprise Operating System의 약자로 RHEL의 소스를 기반으로 만들어지며 RHEL에서 최대한 추가나 제거를 자제하는 것을 원칙으로 가장 유사하게 Rebuild 한 배포판 입니다.
버전도 동일하게 배포 됩니다
다만, 상표권 분쟁이 있을 수 있기 때문에 레드햇 소유의 있는 레드햇 트레이드마크와 로고는 제거 하고 CentOS 고유의 로고를 넣어서 배포하게 됩니다.
레드햇은 2014년 1월 7일 CentOS 를 흡수하게 되었고, 그 다음 IBM은 2018년 10월 28일 레드햇을 인수하기로 발표를 하였습니다
그 후에 CentOS 지원 정책 변경/지원 종료에 관한 중대한 내용이 발표 되었으며 주요 내용으로는 다음과 같습니다.
CentOS는 내년 말 CentOS 8 을 마지막으로 RHEL Clone 개발이 종료 되고, RHEL 의 새로운 브랜치인 CentOS Stream 으로 변경
CentOS Stream 유형으로 변경된다는 것은 기존의 Fedora 와 RHEL 간의 관계와 유사하게 CentOS는 RHEL 의 UpStream 버전이 된다는 걸 의미합니다.
• 원래의 Stream 구조 : Fedora => RHEL => CentOS
• 향후 변경 : Fedora => CentOS Stream => RHEL
Fedora linux는 많은 분들이 아시는 내용과 같이 RHEL이 릴리즈 하기 전에 먼저 더 높은 버전의 커널 버전, 최신의 패키지, 새로운 기능 등을 포함하여 6개월에 한번씩 릴리즈 되는, 즉 가장 최신 버전을 포함한 배포판입니다.
이러한 Fedora Linux에서 나온 피드백 및 결함 등을 반영하여 안정화 버전 형태의 RHEL이 만들어 지게 되며, RHEL은 Fedora Linux 의 다운스트림 배포판 이라고 합니다.
반대로 Fedora Linux는 RHEL 의 업스트림 배포판이 되는 것입니다.
그리고 CentOS는 RHEL의 소스 코드를 기반으로 만들어진, 즉 RHEL의 다운스트림 배포판이었습니다.
이러한 흐름은 2020년 12월 8일에 Red Hat 에서 지원 및 정책 변경에 대한 내용을 발표에서 공개 되었습니다. 자세한 내용은 아래 포스팅에서 참조하시면 됩니다.
결론적으로는 이후에는 아래와 같은 스트림으로 변경 되었습니다.
Fedora => CentOS Stream => RHEL
Furthering the evolution of CentOS Stream
Furthering the evolution of CentOS Stream는 Red Hat 블로그에서 개재된 제목 입니다.
며칠 전 Red Hat에서는 Red Hat Enterprise Linux 소스코드에 대한 중요한 변경 내용을 발표하였습니다.
공개된 블로그에는 어느 사이트에서 표현한 것 처럼 발표된 내용을 이해하기 상당히 애매모호한 부분이 있었습니다.
왜냐하면 블로그 글이 기업 사용하는 기업용 언어로 표현되어 있었기 때문에 명확하게 "무엇이 무엇입니다" 라기보다는 돌려서 표현하고 있기 때문에 처음에는 이해하기가 어려웠습니다.
블로그의 제목 자체도 "Furthering the evolution of CentOS Stream" 로 RHEL 소스코드와 관련된 내용이라고 유추하기에도 어려운 제목으로 선정이 되어있다고 생각합니다.
블로그에 개제된 내용에서 가장 핵심적인 내용은 다음과 같습니다.
Red Hat customers and partners can access RHEL sources via the customer and partner portals, in accordance with their subscription agreement.
(Red Hat 고객 및 파트너는 서브스크립션 계약에 따라 고객 및 파트너 포털을 통해 RHEL 소스에 액세스할 수 있습니다.)
해당 내용은 블로그의 가장 마지막 라인에 있는 내용입니다.
즉, Red Hat에서는 더이상 Red Hat Enterprise Linux의 소스 코드를 Public 하게 공개/제공 하지 않을 것이라는 내용입니다.
조금 더 정확하게는 Red Hat Enterprise Linux용 소스 코드는 유료 고객(Subscription)에게만 공개/제공한다는 것 입니다.
다만 유료 고객이지만 소스 코드를 볼 수 있다는 것은 Red Hat에서 요구하는 별도의 내용에 동의 한다는 것을 의미합니다. 해당 내용은 소스 코드를 재배포 할 수 없음을 나타내고 있습니다.
즉 소스코드는 볼 수는 있지만 소스 코드를 재배포할 수 없다는 것은 본질적으로 Red Hat Enterprise Linux가 Closed Source 가 되었다는 것을 의미 한다고 할 수 있습니다.
이 부분에서 가장 우려가 되는 것은 CentOS의 정책변경(CentOS Stream 으로 변경) 발표 이후에 만들어진 여러 다운스트림 배포판에 대한 부분 입니다.
지금 RHEL의 다운스트림 배포판은 여러가지가 있으며, 알마 리눅스, 록키 리눅스, 유로 리눅스(EuroLinux), 오라클 언브레이커블 리눅스 등이 있습니다.
RHEL의 호환 가능한 배포판(다운 스트림)을 개발 하고 배포하고 있는 여러 다운스트림 프로젝트에는 매우 좋지 않은 소식이며, 향후 다운스트림 배포한에 대한 릴리즈(제작 가능성 여부) 여부도 우려가 되는 부분 입니다.
Red Hat의 발표에서 RHEL의 Closed Source 라는 부분은 맨 마지막에 기재해 두는 대신에 대부분의 내용의 핵심은 "CentOS Stream의 소스 코드만 모든 사람이 사용할 수 있음" 입니다. 또는 "앞으로는 CentOS Stream의 소스코드만 공개" 입니다.
다만 우리가 알고 있는 것 처럼 RHEL 과 CentOS Stream 은 같지 않습니다. CentOS Stream이 RHEL의 업스트림 이라는 것 입니다.
현실적인(직설적으로) 얘기를 하면, Fedora Linux도 CentOS Stream도 RHEL의 다음 버전을 위한 일종의 롤링 베타의 의미 입니다.
우리는 그것을 알고 있기 때문에 Alma, Rocky, Oracle Linux 와 같이 RHEL의 다운스트림, 즉 RHEL과 동일한 소스 코드에서 Rebuild 되어 호환성을 보장 받을 수 있는 배포판을 사용을 하는 것입니다.
[참고] AWS Amazon Linux2 는 CentOS 7과 호환을 가지는, Centos7 다운스트림 형태의 배포판이며, 최근에 새롭게 출시된 Amazon Linux 2023은 Fedora Linux를 기반 또는 CentOS Stream 9 버전을 기반으로 한 독립적인 배포판으로 출시되었습니다.
CentOS Stream은 주요 릴리즈가 있을 때 RHEL과 주기적으로 동기화가 가능하다고 하며, 따라서 RHEL 11과 같이 새로운 버전이 릴리즈가 되면 Stream에 잠시 동기화 되므로, 해당 시점에 Stream 코드를 가져와서 RHEL의 제로 릴리즈와 호환되는 다운스트림 배포판을 만들 수 있기는 합니다.
다만 문제는 그 시점 이후에 변경된 업데이트에 대해서는 소스 코드를 얻을 수 없다는 것 입니다.
일부 평론가나 의견으로는 무료 형태의 Red Hat Developer 계정에 가입하고 합법적으로 소스 코드를 얻을 수 있다고 말하고 있습니다. 이 내용은 사실이지만 문제는 소스 코드를 얻기 위해 서명해야 하는 사용권 계약에서는 소스 코드 재배포를 할 수 없다는 내용이 있다는 점 입니다.
따라서 소스코드는 여러 방법을 통해서 확보 할 수는 있지만 다운스트림 배포한 제작을 위해서 실제로 사용할 수는 없음을 의미 합니다.
상세하게 보면 상당히 많은 부분을 수정한다면 다운스트림으로 재배포 할 수 있지만, RHEL의 호환 배포판을 사용하는 전체적인 이유인 주요 내용을 변경하지 않으며, 최대한 호환성을 유지한다는 목적과 달라질수 있기 때문 입니다.
또한 Red Hat에서는 계속 생성되는 무료 Red Hat Developer 계정에 대해서 계정 Close 하고, 다운 스트림 배포자는 계속해서 새로운 무료 Red Hat Developer 계정을 개설하고 하는 형태가 될 수도 있습니다. 다만 이것은 현실적으로 지속 가능한 모델은 아닐 것 입니다.
현재로는 Alma Linux나 Rocky Linux의 공식 입장에서는 매우 낙관적이고 아무런 문제가 없이 계속 다운 스트림 배포판을 릴리즈 할 것이라고 합니다.
다만, 공식 발표와 별도로 사용자 커뮤니티 포럼에서는 우려와 여러가지 의견들이 계속해서 토론되고 있습니다.
+ 추가 업데이트
Rocky Linux 에서 "Keeping Open Source Open" 라는 새로운 글을 게시하였습니다.
해당 글의 내용은 Rocky Linux 프로젝트에서 법적인 문제를 회피하고 RHEL 소스코드를 획득할 수 있는 고민하고 있는 방법 두가지에서 대해서 설명하고 있습니다. 아래는 새롭게 게시된 블로그글에 대한 요약 내용입니다.
Red Hat의 서비스 약관(TOS) 및 최종 사용자 라이선스 계약(EULA)은 합법적인 고객이 GPL에 의해 보장된 권리를 행사하는 것을 방해하는 조건을 부과합니다.
<..중략..>
결과적으로 우리는 이에 동의하지 않으며, 이는 우리의 원칙을 준수하고 우리의 권리를 지지하는 채널을 통해 SRPM을 얻어야 함을 의미합니다.
다행히 소스 코드를 얻을 수 있는 대체 방법이 있으며 두 가지 예를 강조하고 싶습니다.
한 가지 옵션은 RHEL을 기반으로 하고 여러 온라인 소스(Docker Hub 포함)에서 사용할 수 있는 UBI 컨테이너 이미지를 사용하는 것입니다.
UBI 이미지를 사용하면 Red Hat 소스를 안정적이고 방해받지 않고 쉽게 얻을 수 있습니다.
OCI(Open Container Initiative) 컨테이너를 통해 이를 검증 했으며 예상대로 정확하게 작동합니다.
또 다른 방법은 종량제 퍼블릭 클라우드 인스턴스입니다.
이를 통해 누구나 클라우드에서 RHEL 이미지를 스핀업하여 모든 패키지 및 정오표(errata)에 대한 소스 코드를 얻을 수 있습니다.
CI 파이프라인을 통해 이 모든 작업을 수행하고, 클라우드 이미지를 회전하여 DNF를 통해 소스를 가져오고, Git 리포지토리에 자동으로 게시할 수 있으므로 확장하기가 가장 쉽습니다.
다른 옵션을 지속적으로 탐색하는 동안 앞서 언급한 접근 방식은 변경될 수 있습니다. 그러나 오픈 소스와 엔터프라이즈 리눅스 커뮤니티에 대한 우리의 확고한 헌신과 헌신은 변함이 없습니다.
Red Hat이 커뮤니티에 부정적인 영향을 미치기 위한 노력을 강화하기로 결정한 안타깝게도 Rocky Linux는 전체 오픈소스 커뮤니티의 이익을 위해 계속 봉사할 것입니다.
최근에 CentOS 대신 RPM 계열에서는 Rocky Linux 를 사용 하는 입장에서 향후에도 계속해서 Rocky Linux가 배포 될 수 있을지에 대한 궁금증과 걱정이 되는 부분이 있으나, Rocky Linux의 공식 발표 처럼 계속된 Freedom Linux distribution이 지속될 수 있도록 희망하는 바 입니다.
연관된 포스팅
Reference URL
• Furthering the evolution of CentOS Stream
• Rocky Linux Confidence - Red Hat Announcement
• Keeping Open Source Open
• theregister.com/red_hat_centos_move
Principal DBA(MySQL, AWS Aurora, Oracle)
핀테크 서비스인 핀다에서 데이터베이스를 운영하고 있어요(at finda.co.kr)
Previous - 당근마켓, 위메프, Oracle Korea ACS / Fedora Kor UserGroup 운영중
Database 외에도 NoSQL , Linux , Python, Cloud, Http/PHP CGI 등에도 관심이 있습니다
purityboy83@gmail.com / admin@hoing.io
https://www.youtube.com/watch?v=kF5pyVUQBH8