뒤로

2025/03/13

9. 레드햇의 소스 코드 비공개 결정에 대해 생각해보기

2023년 6월 21일자 블로그 포스트 “
CentOS Stream의 진화를 더욱 촉진하기“에서 레드햇은 Red Hat Enterprise Linux(RHEL) 소스 코드를 고객과 파트너에게만 제한적으로 공개하겠다고 발표했습니다.

그 이후로 이 주제는 많은 뉴스 사이트에서 다루어졌으며, 오라클, AlmaLinux, Rocky Linux와 같은 RHEL 클론을 개발하는 벤더와 커뮤니티는 이에 강하게 반발했습니다.

레드햇의 발표는 무엇을 의미할까요? 왜 이렇게 강한 반발을 일으켰을까요? 이를 이해하려면 리눅스의 역사, 배포판이 어떻게 개발되는지, 그리고 어떤 라이선스가 관련되어 있는지를 알아야 합니다.

여기서는 레드햇의 발표 의미, 다른 회사의 반응, 그리고 미래 트렌드에 대한 예측을 포함하여 이번 소동을 간단히 살펴보겠습니다.

레드햇의 발표 이해하기

이 발표를 이해하려면 CentOS Stream을 이해해야 합니다. CentOS Stream을 소개하면서 이번 발표를 살펴보겠습니다.

CentOS와 관련된 레드햇/IBM 발표

큰 그림을 이해하기 위해 CentOS 상황을 되돌아보겠습니다.

  • 2004년: CentOS 첫 릴리스
  • 2014년: 레드햇이 CentOS를 인수
  • 2019년: IBM이 레드햇을 인수
  • 2020년: CentOS 프로젝트 종료 발표
  • 2021년: CentOS 개발 종료에 대응하여 커뮤니티가 AlmaLinux와 Rocky Linux를 출시
  • 2023년: RHEL 소스 코드를 고객과 파트너에게만 제공

CentOS는 놀랍게도 2004년 버전 2.0으로 거슬러 올라가는 긴 역사를 가지고 있습니다. 당시에는 여러 RHEL 호환 배포판이 있었고, 오늘날처럼 확고한 위치를 차지하지는 않았습니다. 특히 Scientific Linux는 오랫동안 사용되었으며 2020년까지 존재했습니다. 오라클 리눅스는 2006년에 출시되었습니다.

2014년, 레드햇은 그때까지 독립적인 프로젝트였던 CentOS를 인수했습니다. 이에 대한 찬반 의견이 있었지만, 당시 CentOS 릴리스가 다소 지연되고 있었기 때문에 특히 많은 사람들이 이를 환영했던 기억이 납니다.

2019년, IBM이 레드햇을 인수했습니다. 여러분이 아시다시피, 이때부터 CentOS는 큰 변화를 겪게 됩니다.

CentOS의 종료와 CentOS Stream으로의 전환

큰 변화의 시작은 2020년 CentOS 프로젝트 종료 발표였습니다. 이전에 “8부: CentOS에서 오라클 리눅스로 전환하기“에서 언급했듯이, CentOS 프로젝트는 종료되었고 CentOS Stream으로 대체되었습니다(CentOS 7 지원은 2024년 6월 30일에 종료되며, CentOS 8은 이미 종료됨).

이것이 큰 반향을 일으킨 이유는 CentOS Stream이 RHEL의 업스트림으로 위치づけ되었기 때문입니다.

지금까지 CentOS는 무료 RHEL 호환 배포판으로 인기가 있었습니다. 그러나 CentOS Stream의 등장으로 더 이상 RHEL 호환 배포판이라고 할 수 없게 되었습니다. 또한 CentOS Stream은 롤링 릴리스 방식을 사용합니다. 따라서 항상 최신 상태를 유지해야 하며, 이는 프로덕션 환경에서 사용하기 어렵게 만듭니다.

이것이 바로 “CentOS 쇼크”로 알려진 것입니다.

레드햇의 발표

레드햇은 소스 코드 공개와 관련하여 다음 두 개의 블로그를 게시했습니다:

먼저 “CentOS Stream의 진화를 더욱 촉진하기“의 중요한 부분을 소개하겠습니다. 다양한 뉴스 기사에서 이를 자세히 설명하므로, 여기서는 번역의 정확성보다 명확성을 우선하여 간략히 정리했습니다.

CentOS Stream 커뮤니티가 성장하고 기업 소프트웨어 세계가 새로운 역학을 다루면서, 우리는 CentOS Stream을 기업 리눅스 혁신의 중추로 삼아 초점을 더욱 날카롭게 하고자 합니다. 우리는 CentOS Stream에 대한 투자를 지속하고 약속을 강화하고 있습니다.

CentOS Stream 커뮤니티가 성장하고 기업 소프트웨어가 새로운 역학을 수용함에 따라, 우리는 CentOS Stream에 대한 투자와 노력을 계속해서 강화할 것입니다.

레드햇은 CentOS Stream에 대한 약속을 표명했으며, 앞 문단에서는 일부 사람들이 업스트림 릴리스의 빠른 출시를 환영한다고 언급했습니다.

CentOS Stream은 역동적이고 미래 지향적인 옵션으로 떠올랐습니다. 일부 사람들은 이를 환영할 수 있습니다. 그러나 다운스트림 수요도 있으며, 특히 RHEL과의 완전한 호환성이 필요하다는 점을 기억하는 것이 중요합니다. 특히 기업 사용에서는 변화와 미래 지향성보다 안정성이 더 중요할 때가 많습니다.

CentOS Stream은 이제 RHEL 관련 공개 소스 코드 릴리스의 유일한 저장소가 될 것입니다. 레드햇 고객과 파트너에게는 소스 코드가 레드햇 고객 포털을 통해 계속 제공됩니다.

앞으로 CentOS Stream은 RHEL 관련 공개 소스 코드 릴리스의 유일한 저장소가 될 것이며, 레드햇 고객과 파트너는 레드햇 고객 포털을 통해 소스 코드에 계속 접근할 수 있습니다.

원문에서도 이 부분이 굵게 표시되어 있습니다. 표현이 다소 돌려 말했지만, 간단히 말하면 “CentOS Stream 소스 코드는 공개되지만 RHEL 소스 코드는 공개되지 않는다”는 뜻입니다.

다음은 “레드햇의 오픈 소스에 대한 약속: git.centos.org 변경에 대한 응답“입니다.

이는 기사의 전반부를 요약한 것입니다. 원문이 길어 생략했습니다.

레드햇은 오픈 소스 개발 모델을 채택하며, 새로운 기능 개발, 버그 수정, 패치 백포팅, 다양한 테스트에 많은 비용이 듭니다. 또한 3~4개의 주요 릴리스를 항상 관리하고 5~10년 된 코드에 패치를 백포팅하는 것은 힘든 작업입니다. 게다가 Fedora 및 리눅스 커널 프로젝트와 같은 업스트림 프로젝트를 반영해야 합니다.

최근 다운스트림 소스에 대한 결정에 대한 많은 분노는 RHEL에 들어가는 시간, 노력, 자원을 지불하고 싶지 않은 사람들 또는 이를 자신의 이익을 위해 재포장하려는 사람들로부터 비롯된다고 생각합니다. RHEL 코드에 대한 이러한 요구는 부정직합니다.

RHEL 소스 코드를 단순히 재빌드하고 이에 전혀 기여하지 않는 RHEL 호환 배포판의 부정직함에 분노를 느낍니다.

여기에는 무임승차에 대한 비난이 있습니다.

오픈 소스 소프트웨어는 다양한 이유로 발전해 왔습니다. 가장 큰 발전 이유는 아마도 사용자가 무료 또는 저렴한 비용으로 사용할 수 있고, 소스 코드가 공개되어 벤더 종속성이 없다는 점과 같은 사용자 이점일 것입니다. 그러나 개발자에게도 이점이 있습니다. 더 많은 사용자가 버그를 보고하면서 품질이 향상되고, 개발 멤버가 늘어나면서 개발이 진전되며, 문서와 기술 정보가 여러 언어로 제공되면서 사용자 수가 증가합니다.

최근 몇 년간 Amazon Web Services와 같은 메가 클라우드에서 무임승차가 문제가 되었습니다. Redis, Elasticsearch, MongoDB 등의 서비스는 메가 클라우드에서의 무임승차에 반대하며 라이선스를 변경했습니다.

우리는 또한 비용 없이 Red Hat 개발자 구독과 오픈 소스 인프라를 위한 Red Hat Enterprise Linux(RHEL)를 제공합니다. 개발자 구독은 개발자에게 비용 없이 RHEL을 제공하며 최대 16개 시스템까지 무료로 사용할 수 있습니다. 이는 개인이 자신의 작업에 사용하거나 RHEL 고객이 직원의 작업에 사용할 수 있습니다.

우리는 Red Hat 개발자 구독과 오픈 소스 인프라를 위한 Red Hat Enterprise Linux(오픈 소스 개발 커뮤니티를 위한 서비스)를 비용 없이 제공합니다.

사용 조건이 상당히 제한적이지만, RHEL은 일부 사용자에게 무료 프로그램을 제공합니다.

왜 이렇게 강한 반발을 받았을까?

이 소동의 원인은 “RHEL 호환으로 무료로 사용할 수 있는 CentOS가 더 이상 존재하지 않게 된다”와 “CentOS Stream 외의 RHEL 관련 소스 코드가 공개되지 않는다”는 점입니다. 이를 조금 더 깊이 파헤쳐 보겠습니다. RHEL 호환 배포판을 만드는 방법과 GPL에 대해 설명하겠습니다.

RHEL 호환 배포판을 만드는 방법

아래 다이어그램은 RHEL 호환 배포판을 만드는 방법을 보여줍니다. RHEL 호환 배포판은 RHEL 또는 CentOS의 소스 코드(SRPM)를 기반으로 개발되었습니다. 많은 배포판이 저작권 제한이 없고 수정하기 쉬운 CentOS를 기반으로 했습니다.

문제는 앞으로 어떻게 만드는가입니다. RHEL의 소스 코드는 고객과 파트너와 같은 제한된 사용자에게만 제공됩니다. CentOS Stream만이 모두에게 접근 가능한 소스 코드 저장소가 되었습니다. 그러나 CentOS Stream은 RHEL의 업스트림입니다. CentOS Stream 소스를 재빌드해도 RHEL과 호환되지 않습니다.

GPL과 RED HAT Enterprise 계약

리눅스 커널은 GPL v2 라이선스를 받은 프로그램입니다. 리눅스가 GPL인데 소스 코드를 공개하지 않는 것이 이상하다고 생각할 수도 있습니다. 여기서는 RHEL 라이선스를 이해하는 데 중요한 GPL과 RED HAT Enterprise 계약에 대해 간략히 설명하겠습니다.

GPL은 다음과 같은 특징을 가진 매우 강력한 라이선스입니다: GPL 조항은 자원봉사자에 의해 일본어로 번역되었지만 일부는 이해하기 어렵고 해석이 달라질 수 있으므로 대략적으로 다음과 같이 생각해 주세요.

  • 상업적 사용 허용
  • 저자는 책임을 지지 않음
  • 저작권 표시와 보증 없음을 포함
  • 배포 시 소스 코드를 공개해야 함
  • GPL 라이선스를 받은 프로그램의 전체 또는 일부를 사용해 소프트웨어를 만들 경우, 이를 GPL로 배포해야 함

주목해야 할 중요한 부분은 “배포 시 소스 코드를 공개할 의무가 있다”는 부분입니다. 이에 대한 일반적인 해석은 “오브젝트 코드(바이너리 코드)를 가진 사람은 누구나 소스 코드를 얻을 권리가 있다”는 것입니다. 그러나 “오브젝트 코드를 가지지 않은 사람은 소스 코드를 얻을 권리가 없다”고도 말할 수 있습니다.

구체적인 예를 들자면, 한 회사가 수정된 GPL 소프트웨어를 회사 내에서만 사용하는 프로그램을 개발했다고 가정해 봅시다. 이 소프트웨어는 GPL이지만 공개되지 않으므로 수정된 부분을 포함한 소스 코드를 공개할 필요가 없습니다.

GPL은 소스 코드 공개에 대해 강력한 특성을 가지고 있지만 위와 같은 특성도 있습니다. 따라서 레드햇은 고객과 Red Hat Enterprise 계약을 체결함으로써 특정 제한을 부과합니다. Red Hat Enterprise 계약의 내용은 다루지 않겠지만, 많은 제한 조항이 포함되어 있습니다.

벤더와 프로젝트의 반응

레드햇의 발표에 대응하여 RHEL 호환 배포판을 개발하는 벤더와 프로젝트는 다양한 성명을 발표했습니다. 그중 일부를 소개합니다.

AlmaLinux

AlmaLinux는 호스팅용 리눅스 OS로 실적이 있는 회사인 CloudLinux가 시작한 프로젝트입니다. CentOS 프로젝트 종료 후 첫 번째 릴리스였습니다. 세 개의 블로그 포스트가 빠르게 연속으로 게시되었습니다.

개요는 다음과 같습니다:

  • RHEL 호환 소스 RPM을 얻기가 어려워졌지만, 보안 업데이트는 더 빨리 제공됩니다.
  • RHEL 다운스트림 입장을 유지하되, RHEL과의 1:1 호환성은 포기하고 바이너리 호환성을 목표로 합니다.
  • Fedora 및 CentOS Stream과 같은 업스트림 플랫폼과 오픈 소스 커뮤니티를 포함한 전체 엔터프라이즈 리눅스 생태계에 기여합니다.

두 번째 블로그는 OpenSSL을 예로 들어 보안 업데이트를 따라가는 방법을 설명합니다. 일본에서 RHEL 호환 배포판을 개발하는 Cybertrust(MIRACLE LINUX)는 AlmaLinux의 주요 후원자인 CloudLinux와 파트너십을 발표했습니다.

Rocky Linux

Rocky Linux는 CentOS 프로젝트 창립자인 Gregory Kurtzer가 설립한 프로젝트입니다. Gregory Kurtzer가 설립한 회사인 CiQ가 지원을 제공합니다. 이 프로젝트도 세 개의 블로그를 게시했습니다.

개요는 다음과 같습니다:

  • 버그 수준까지 100% RHEL 호환성
  • 안정적이고 오래 지속되는 RHEL 호환 배포판을 제공하는 우리의 사명을 이행
  • Fedora 및 CentOS Stream과 같은 업스트림 플랫폼과 오픈 소스 커뮤니티를 포함한 전체 엔터프라이즈 리눅스 생태계에 기여
  • 레드햇의 서비스 약관과 최종 사용자 라이선스 계약이 GPL에서 부여된 권리를 제한하지만, 사이트는 합법적인 방법으로 소스 코드를 얻을 수 있는 방법을 제공(Red Hat Universal Base Image 컨테이너 이미지 사용 및 퍼블릭 클라우드에서 종량제 인스턴스 사용)
  • 오라클 및 SUSE와 함께 엔터프라이즈 리눅스를 촉진하는 프로젝트 OpenELA를 출시

오라클

오라클 리눅스의 개발자인 오라클은 다음 뉴스를 발표했습니다:

AlmaLinux와 Rocky Linux에 비해 다소 비꼬는 내용이 있지만, 요지는 다음과 같습니다:

  • 25년간 리눅스 커뮤니티에 참여하며 모두에게 최고의 무료 서버 OS를 만드는 것을 목표로 함
  • 오라클은 2006년에 오라클 리눅스를 출시하며 리눅스 커뮤니티 분열을 피하기 위해 RHEL 호환성을 선택
  • GPL을 준수하며 바이너리와 소스 코드를 공개함. IBM(레드햇)과 달리 구독 계약을 통해 사용자 권리를 방해하지 않음
  • 이번 소스 코드 비공개의 의도가 경쟁자를 제거하려는 것인가?
  • 가능한 한 RHEL과의 호환성을 계속 유지
  • 오라클은 리눅스 커뮤니티에 계속 기여하며 바이너리와 소스 코드를 공개할 것임. 다운스트림 배포판을 환영

SUSE

마지막으로 SUSE가 있습니다. RPM 기반 배포판이었지만 RHEL과 호환되지 않았던 SUSE는 RHEL 호환 배포판 시장에 진입하겠다고 발표했습니다.

결론

레드햇은 의심할 여지없이 엔터프라이즈 리눅스 시장의 리더였습니다. 또한 리눅스뿐만 아니라 오픈 소스 커뮤니티에 대한 회사의 기여는 헤아릴 수 없습니다. 그래서 이번 발표가 놀라웠습니다.

레드햇의 발표 이후 단 3개월이 지났지만, 다른 회사들은 빠르게 대응하고 있습니다. 주요 RHEL 호환 배포판 벤더들이 모두 대책을 발표했을 뿐만 아니라, 유럽에서 높은 시장 점유율을 가진 SUSE도 참여를 발표했습니다. 따라서 RHEL 호환 배포판이 사라지거나 보안 패치가 크게 지연될 가능성은 낮습니다.

이 사례는 2003년부터 2010년까지 이어진 “SCO 리눅스 소송”을 떠올리게 합니다. 리눅스 저작권 소유자인 SCO가 IBM을 고소하면서 시작되어 Novell과 레드햇을 고소하고, 심지어 일반 리눅스 사용자 고소를 암시하기까지 했습니다. 전 세계적으로 강한 비판을 받았을 뿐만 아니라 SCO는 단 한 건의 소송도 이기지 못하고 막대한 법률 비용을 지불하게 되었습니다.

이번에는 SCO의 특허 트롤 같은 악의는 없습니다. 그러나 오픈 소스 세계에서 많은 반대자를 가질 무언가가 성공할 가능성은 낮습니다. 하지만 업스트림으로서 CentOS Stream의 필요성도 있으므로, RHEL 호환 다운스트림 진영과의 공존이 시도될 수 있습니다.