Computer >> 컴퓨터 >  >> 시스템 >> Linux

리눅스 배포판은 왜 이렇게 많을까? 리눅스 배포판 완벽 정리

윈도우나 macOS와 달리 리눅스는 설치부터가 쉽지 않습니다. 인터넷에서 '리눅스'를 검색하면 이름만 다른 온갖 운영체제가 쏟아져 나오는데, 정작 '리눅스'라는 이름을 그대로 쓰는 제품은 하나도 없죠. 대체 왜 그럴까요?

리눅스는 이제 베테랑 개발자부터 일반 사용자까지 폭넓게 선택받는 운영체제로 자리 잡고 있습니다. 그런데 왜 '리눅스'라고 불리는 운영체제, 즉 '배포판(distribution)'이 수천 개에 달하는 걸까요? 그리고 개발자들은 왜 계속해서 비슷한 운영체제를 새로 만들어내는 걸까요? 지금부터 하나씩 살펴보겠습니다.

리눅스 배포판이란 무엇일까?

먼저 리눅스가 실제로 무엇인지 짚고 넘어가야 합니다. 사실 리눅스는 운영체제가 아니라 커널(kernel)입니다. 커널은 컴퓨터 하드웨어와 운영체제를 연결해 주는 접착제 같은 역할을 합니다. 아이콘을 클릭해 앱을 실행할 때, 커널이 운영체제와 소통해 앱을 실행하고 모니터 같은 하드웨어를 통해 화면에 결과를 출력하는 것이죠.

운영체제는 기반이 되는 커널, 애플리케이션, 그리고 대개 그래픽 사용자 인터페이스(GUI)로 구성됩니다. 리눅스는 바로 이 커널에 해당하며, 이 커널을 사용하는 모든 운영체제를 '리눅스 배포판'이라고 부릅니다. '배포판'이라는 용어는 리눅스 기반 운영체제를 다른 사용자들에게 나눠주는 과정, 즉 '배포(distribute)'에서 유래했습니다. 커널과 운영체제가 대부분 무료로 제공되기 때문입니다.

수많은 리눅스 배포판은 어떻게 탄생했을까?

리눅스 커널은 GNU 일반 공중 라이선스(GPL)로 배포됩니다. 이 라이선스는 누구나 커널 기반 프로그램을 열람하고, 수정하고, 배포할 수 있도록 허용합니다. 하지만 처음부터 그랬던 것은 아닙니다.

그 이전에는 유닉스(Unix)가 인기 있는 운영체제였지만, 소스 코드는 AT&T가 소유하고 있었습니다. 이후 캘리포니아 대학교 버클리 캠퍼스에서 유닉스를 크게 기반으로 한 BSD(Berkeley Software Distribution)가 등장합니다. 당시에는 유닉스 기반의 다른 운영체제들도 여럿 존재했는데, 서로 간의 차이가 매우 컸습니다.

유닉스 기반 운영체제를 만들기 위한 표준이 없었고, 운영체제 간 갈등이 극심했던 이 시기는 이른바 '유닉스 전쟁(Unix wars)'이라 불리는 시대를 낳았습니다. 자체 버전의 유닉스를 배포하던 벤더들은 AT&T와 BSD를 포함해 저마다 고유한 표준을 세우기 시작했습니다.

1983년, 리처드 스톨먼(Richard Stallman)은 자유·오픈소스 소프트웨어의 개발과 배포에 집중하는 GNU 프로젝트를 시작합니다. GNU 프로젝트의 목표는 누구나 자유롭게 복제하고 배포할 수 있는 무료 버전의 유닉스를 만드는 것이었습니다.

당시 GNU의 일반 공중 라이선스 하에 TAR과 Emacs를 비롯한 많은 애플리케이션이 개발되었습니다. 하지만 이 프로젝트에는 오픈소스 커널, 즉 운영체제와 앱이 하드웨어와 상호작용하도록 돕는 핵심 부품이 없었습니다.

GNU 프로젝트가 시작된 지 8년 후인 1991년, 리누스 토르발스(Linus Torvalds)가 리눅스 개발을 시작했습니다. 그리고 1년 뒤 리눅스는 일반 공중 라이선스로 재배포되며 오늘날 우리가 아는 GNU/Linux가 되었습니다. 리눅스 커널이 GPL로 라이선싱되면서 누구나 이 커널 위에 운영체제를 만들고 자유롭게 배포할 수 있게 된 것이죠.

무료로 자신만의 운영체제를 만들 수 있다는 가능성은 수많은 개발자들이 자신만의 배포판을 만들도록 이끌었습니다. 데비안(Debian), 레드햇(Red Hat), 슬랙웨어(Slackware)를 비롯한 수많은 배포판이 이 시기에 출시되며 리눅스 혁명의 서막이 열렸습니다.

새로운 리눅스 배포판은 왜 계속 만들어질까?

개발자들이 리눅스 기반 운영체제를 계속 만들고 배포하는 가장 큰 이유는 단순히 '만들 수 있기 때문'입니다. 리눅스 커널은 무료이고, 앱도 무료이며, 커널 위에 운영체제 전체를 구축할 수 있는 자원 역시 무료입니다.

요즘은 처음부터 배포판을 새로 만드는 경우가 드뭅니다. 대신 다른 인기 배포판을 가져와 그것을 기반으로 새 운영체제를 만들거나, 새로운 GUI와 애플리케이션을 얹어 리디자인하는 방식을 택합니다.

우분투(Ubuntu)에도 여러 리디자인 버전이 있습니다. 바로 Xubuntu, Kubuntu, Lubuntu입니다. 이 세 가지 변형의 차이는 오직 데스크톱 환경뿐입니다. 우분투에 기본 탑재된 커스터마이징된 GNOME 데스크톱 대신, Xubuntu, Kubuntu, Lubuntu는 각각 XFCE, KDE Plasma, LXDE를 탑재하고 출시됩니다.

운영체제의 본질적인 목표는 사용자의 데스크톱 환경을 더 편리하게 만드는 것입니다. 운영체제에 새로운 기능을 원한다면 전통적으로는 해당 운영체제를 개발하는 회사에 피드백을 보내야 했습니다. 하지만 GNU 프로젝트는 이 흐름을 완전히 바꿔 놓았습니다.

오픈소스 배포판에서는 사용자가 직접 사용하고, 개발하고, 피드백을 제공하고, 반영하고, 마침내 배포까지 맡습니다. 원하는 기능을 갖춘 꿈의 운영체제를 위해 자신만의 배포판을 만들어도 전혀 문제없습니다.

비슷한 철학과 의견을 가진 사람이라면 누구나 프로젝트에 기여하며 개발을 도울 수 있습니다. 기능 하나를 추가하기 위해 회사에 연락하거나 피드백 양식을 작성할 필요가 없는 것이죠.

사용자뿐 아니라 대기업들도 사내 용도로 자체 배포판을 만듭니다. 마이크로소프트의 CBL-Mariner가 대표적인 예입니다. 이는 대기업들이 타인이 만든 배포판을 쓰기보다는, 처음부터 직접 만들거나 주류 배포판을 기반으로 자체 운영체제를 개발하는 편을 선호하기 때문입니다.

리눅스 프로젝트는 구글 같은 테크 거인들이 일부 프로젝트에 리눅스 커널을 활용하기 시작할 만큼 성장했습니다. 안드로이드와 크롬OS가 좋은 예입니다. 안드로이드는 내부적으로 리눅스 커널을 사용하고, 크롬OS는 2000년에 출시된 젠투 리눅스(Gentoo Linux) 배포판을 기반으로 만들어졌습니다.

데스크톱 리눅스가 파편화된 또 다른 이유는 기기 종류의 다양성입니다. 데스크톱 PC 외에도 ARM 프로세서 기반 기기 등 다양한 장치에도 운영체제가 필요합니다. 리눅스는 개발자에게 기반을 제공함으로써 원하는 어떤 프로세서 계열을 위한 운영체제든 만들 수 있게 해줍니다.

라즈비안(Raspbian) OS는 라즈베리파이(Raspberry Pi) 기기를 위해 특별히 만들어진 배포판입니다. 또한 독점 운영체제 벤더들의 지원이 끊긴 구형 프로세서에서 구동되도록 개발된 무수한 배포판도 찾아볼 수 있습니다.

정말 이렇게 많은 배포판이 필요할까?

컴퓨터와 운영체제 하나면 일을 처리하는 데 충분한 사람이라면 물론 필요 없습니다. 자신에게 맞는 운영체제라면 어느 것이든 사용해도 무방하죠. 하지만 자신의 기기와 디지털 라이프에 대한 선택권을 최대한 넓히고 싶다면 리눅스가 답입니다.

몇 가지 리눅스 운영체제를 직접 사용해 보고 가장 마음에 드는 것으로 정착해도 되고, 계속해서 새로운 배포판으로 갈아타며 테스트하는 '디스트로 호핑(distro-hopping)'을 즐겨도 됩니다. 리눅스는 그 선택권을 여러분에게 줍니다. 사람들이 오픈소스 생태계를 지원하고 기여하는 한, 앞으로도 새로운 배포판이 무료로 개발되어 인터넷에 공개될 것입니다.

오픈소스는 바로 이렇게 작동합니다!

안드로이드, macOS처럼 클로즈드 소스 코드베이스를 가진 많은 독점 운영체제조차 리눅스를 프로젝트의 기반으로 활용했습니다. 리눅스 커널이 배포되는 라이선스는 누구나 코드를 수정하고 배포할 수 있도록 제약 없이 허용하기 때문에 전혀 문제가 되지 않습니다.

리눅스 기반 운영체제를 지탱하는 거대한 커뮤니티 덕분에 새로운 독특한 기능들이 배포판에 끊임없이 추가되고 있습니다. 윈도우나 macOS 같은 다른 독점 운영체제에서도 비슷한 기능을 찾을 수 있지만, 일부 기능은 소수의 리눅스 배포판에서만 만나볼 수 있습니다.