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

리눅스 배포판이 자체 데스크톱 환경을 직접 만드는 5가지 이유

대부분의 사람들은 데스크톱을 운영체제와 별개의 것으로 생각하지 않습니다. 화면에 보이는 것이 곧 Windows이거나 macOS라고 여기죠. 하지만 리눅스에는 하나의 데스크톱만 존재하지 않습니다. 수많은 데스크톱 환경이 공존합니다.

많은 사용자가 기본으로 제공되는 환경을 그대로 사용하지만, 일부 리눅스 배포판은 처음부터 자체 데스크톱을 만들기로 선택했습니다. elementary OS는 Pantheon을, Solus는 Budgie를, System76은 COSMIC을, Nitrux Linux는 Maui Shell을 개발했으며, 과거에는 Ubuntu도 Unity를 만든 바 있습니다.

데스크톱 환경을 만드는 것은 말처럼 쉽지 않습니다. 그렇다면 왜 이렇게 많은 배포판이 애써 자체 데스크톱을 개발하는 걸까요?

1. 소프트웨어 경험을 직접 통제하기 위해

독점 소프트웨어 세계에서는 운영체제를 제공하는 회사가 데스크톱 경험의 대부분을 통제합니다. 코드를 직접 개발하거나 외부에 위임하며, 개발팀이 만들어낼 수 있는 거의 모든 변경 사항을 적용할 권한도 갖고 있죠.

반면 자유 소프트웨어 세계에서는 모든 구성 요소가 서로 다른 주체에서 나옵니다. 디스플레이 서버를 개발하는 사람과 부팅 화면을 만드는 사람, 패키지 형식을 설계하는 사람이 모두 다릅니다. 배포판 팀은 이러한 구성 요소의 버그를 수정할 지식이 없거나, 원하는 변경을 가할 권한이 없을 수 있습니다.

System76 같은 회사가 자체 데스크톱 환경을 만드는 이유 중 하나는, 최소한 고객에게 보여지는 인터페이스라도 직접 통제하기 위함입니다.

이렇게 하면 GNOME(System76이 COSMIC을 개발하기 전 기본 탑재했던 데스크톱 환경)의 새 버전이 나올 때마다 확장 기능이나 패치가 깨질까 조마조마해할 필요가 없습니다. 또한 GNOME 측이 자신들이 원하는 변경 사항을 반영해주기를 손꼽아 기다릴 필요도 없어집니다.

2. 자신만의 비전을 실현할 수 있기 때문

리눅스 배포판이 자체 데스크톱 환경을 직접 만드는 5가지 이유

코드를 통제하는 것은 한 가지 측면일 뿐입니다. 코드가 나아갈 방향을 통제하는 것 역시 중요합니다.

GNOME이 도크(dock)를 Activities Overview 안에서만 표시하겠다고 강하게 고집하는 사례를 생각해보세요. Ubuntu나 Pop!_OS처럼 도크를 항상 화면에 두고 싶은 배포판은 이를 구현하기 위해 확장 프로그램을 따로 작성합니다. 하지만 GNOME은 확장을 허용하면서도, 확장이 버전이 바뀌어도 계속 작동하도록 유지하는 것을 우선순위에 두지 않습니다.

결국 Canonical과 System76은 원하는 기능을 제공하지 않는 데스크톱에 의존하게 되고, 그 기능을 패치로 얹을 안정적인 기반조차 보장받지 못합니다.

자체 데스크톱 환경을 만들면 System76은 고객에게 전달하고 싶은 경험에 더 충실한 데스크톱을 만들 수 있습니다. 다른 누군가의 비전을 자기 것에 맞게 뜯어고치는 대신 말이죠.

도크는 일급 시민(first-class citizen)이 될 수 있습니다. 타일링 창 관리자도 마찬가지고요. 일부 GNOME 개발자가 크게 선호하지 않는 커스텀 테마도 그냥 기본값이 되면 됩니다. 업데이트가 이러한 경험을 망가뜨리더라도, 그건 스스로 그렇게 만든 경우뿐입니다.

3. 사용자 피드백에 대응해야 하기 때문

리눅스 배포판이 자체 데스크톱 환경을 직접 만드는 5가지 이유

프로젝트를 사람들이 사용하기 시작하면, 결국 무엇을 좋아하고 싫어하는지에 대한 피드백이 쏟아집니다. 어떤 사람은 GNOME에 바탕화면 아이콘이 없는 점을 좋아하고, 어떤 사람은 용납할 수 없다고 여깁니다. 후자의 목소리가 Canonical이 Unity에서 이 기능을 유지하고, GNOME으로 넘어간 뒤에도 확장 프로그램을 통해 다시 추가하게 만든 동기였습니다.

또 다른 예로, KDE Plasma는 옵션이 너무 많아 부담스럽다는 평가를 받곤 합니다. 그럼에도 언젠가 누군가 기능을 요청하면 새로운 옵션이 하나씩 생겨나곤 하죠.

이것은 KDE가 '복잡해야 한다'는 사명을 갖고 있어서가 아닙니다. 전혀 아닙니다. 단지 누군가 기능을 원했고, 본인이 직접 만들거나, 대개는 다른 누군가가 만들어준 것뿐입니다.

System76은 리눅스 세계에서 특별한 위치에 있습니다. 하드웨어를 판매하면서 동시에 자체 소프트웨어도 개발하는 리눅스 노트북 공급업체이기 때문입니다. 기대와 욕구를 회사에 직접 전달하는 유료 고객이 있는 셈이죠.

고객이 System76에 새로운 데스크톱 환경을 직접 요청하지 않을 수도 있지만, 자체 데스크톱을 만들면 고객이 실제로 원하는 것을 제공할 힘이 생깁니다.

4. 자원봉사자들이 개발의 자유를 원하기 때문

GNOME은 매우 뚜렷한 철학을 가진 데스크톱 환경입니다. 이는 비판이 아닙니다. 많은 전통적인 리눅스 데스크톱 환경과 달리, GNOME 프로젝트는 인터페이스가 어떻게 보이고, 작동하고, 통합될지에 대한 명확한 비전을 갖고 있습니다. 그 방향에서 벗어나는 기여는 받아들이지 않습니다.

예를 들어 누군가 열려 있는 각 워크스페이스의 미리보기 썸네일을 화면 하단 구석에 표시하는 기능을 만든다 해도, 그것이 GNOME에 포함될 가능성은 낮습니다. GNOME이 받아들이는 시각적 은유는 워크스페이스를 Activities Overview를 활성화할 때 확대·축소하는 대상으로 보는 것이기 때문입니다.

이런 경우 그 사람은 코드를 버리고 GNOME용 다른 것을 개발할 수도 있습니다. 하지만 직원이 아니기 때문에, 자신의 기여가 환영받는 다른 데스크톱 프로젝트로 떠날 가능성이 더 큽니다.

어떤 자원봉사자는 데스크톱 전체가 작동하는 방식에 대한 웅대한 비전을 갖고 있지만, 기존 프로젝트 어디에서도 원하는 대로 만들 자유를 얻지 못합니다. 그 결과 자신만의 프로젝트를 시작하는 것이죠.

기술적인 이유든 시각적인 이유든, 누군가 새로운 데스크톱 환경 만들기에 도전하고 싶어하는 이유는 늘 존재합니다. 이는 자유 소프트웨어 앱 전반에 해당하는 이야기이며, 더 넓은 범위의 인터페이스도 예외가 아닙니다.

5. 차별성을 원하기 때문

리눅스 배포판이 자체 데스크톱 환경을 직접 만드는 5가지 이유

Canonical의 Unity 인터페이스는 등장 당시 리눅스 세계에서 상당히 논란이 됐습니다. 이미 잘 작동하는 데스크톱 인터페이스가 있는데 왜 굳이 많은 시간을 들여 바퀴를 재발명하는지 이해하지 못하는 사람이 많았죠.

하지만 Ubuntu의 사명 중 하나는 누구나 쉽게 접근할 수 있는 운영체제가 되는 것이었고, 그 일환으로 새 컴퓨터에 사전 설치되는 것이 포함돼 있었습니다. 그런데 일부 PC 제조업체들은 GNOME 2처럼 구식으로 보이는 인터페이스를 탑재한 컴퓨터를 팔겠다는 데 큰 열정을 보이지 않았습니다.

Unity는 리눅스 배포판 사이에서뿐 아니라 Windows, macOS와 비교해도 독특한 모습이었습니다. Unity 데스크톱 사진을 보면 그것이 무엇인지 바로 알 수 있었죠. 그것은 Ubuntu였습니다. 왼쪽에 밝고 선명한 아이콘이 늘어서 있고, 타이핑만으로 앱 메뉴를 탐색할 수 있는 실용적인 키보드 기반 HUD 기능까지 갖추고 있었습니다.

자체 데스크톱 환경을 만듦으로써 Canonical은 제조업체들이 판매에 활용할 수 있는 독특한 제품을 갖게 된 것입니다.

ISO 파일을 내려받아 기존 운영체제를 교체하는 전통적인 리눅스 사용자들 사이에서도, 이 배포판을 저 배포판 대신 선택해야 하는 이유가 필요합니다. 과거에는 패키지 형식과 릴리스 주기가 핵심 차별점이었지만, 시간이 지나면서 관심은 데스크톱 환경으로 옮겨갔습니다.

그렇다면, 리눅스에 더 많은 데스크톱 환경이 필요할까?

이것은 늘 반복되는 질문입니다. 하지만 결론적으로는 중요하지 않습니다. 사람들은 '필요해서' 새로운 데스크톱을 만드는 게 아닙니다(애초에 누가 무엇을 필요로 하는지 누가 정할 수 있을까요?). 사람들은 '만들 수 있어서' 새로운 데스크톱을 만드는 것입니다.

새로운 데스크톱 환경들이 계속 만들어지고 있습니다. 그때까지 이미 존재하는 다양한 리눅스 데스크톱 환경들을 하나씩 살펴보는 건 어떨까요?