우분투의 철학과 역사
그동안 PC용 리눅스(Linux) 운영체제로만 알려져 왔던 우분투(ubuntu). 그런데 2013 CES에서 캐노니컬(Canonical)이 우분투 운영체제가 탑재된 스마트폰과 태블릿 PC를 소개하면서, 이에 대한 관심이 높아지고 있습니다. 우분투는 무엇이고 리눅스 운영체제는 또 무엇일까요? 총 세 편으로 구성된 이번 시리즈의 첫 번째 글은 우분투의 기반인 리눅스에 대해 간단히 정리하고, 우분투의 배경과 특징에 대해 알아보는 장입니다.
리눅스에 대한 배경 지식을 알아 두면 우분투를 더욱 이해하기 쉬워집니다. 그 이유는 우분투의 뿌리가 리눅스이기 때문입니다. 사실 리눅스는 많은 사람들이 이미 접하고 있습니다. 스마트폰의 안드로이드 운영체제도 제일 밑단에서는 리눅스 커널을 기반으로 하기 때문입니다.
리눅스는 유닉스(Unix)를 기반으로 개발된 오퍼레이팅 시스템입니다.
리눅스의 역사는 리처드 스톨만(Richard Stallman)의 GNU 프로젝트와 함께 시작합니다.
GNU = Gnu is Not Unix
GNU 프로젝트는 IBM과 미국전신전화 등 컴퓨터 기업들이 유닉스를 상용화해서 사용료를 요구하는 것에 반발해 시작되었습니다. GNU 프로젝트를 주도한 리처드 스톨만은 소프트웨어 상업화와 독점 체제에 반대하고 초기 컴퓨터 개발 공동체의 상호협력적인 문화로 돌아갈 것을 주장하면서 1985년 3월에 GNU 선언문을 발표합니다. 그리고 GNU 프로젝트를 지원하기 위해 자유 소프트웨어 재단(FSF) 설립과 GNU 공개 라이선스(GPL)라는 규약을 만들어서 누구나 공개된 소스를 수정하고 배포할 수 있게 합니다. 이러한 자유 소프트웨어 운동은 프로그래머들의 입장과 맞물리면서 이후 오픈 소스 운동을 만들어 내었습니다.(GNU 홈페이지에서 보다 자세한 내용을 확인할 수 있습니다. http://www.gnu.org)
1990년대 초 GNU 프로젝트는 운영체제에 필요한 많은 프로그램(라이브러리, 컴파일러, 텍스트 편집기, 유닉스 쉘 등)을 만들어냈습니다. 그러나 장치 드라이버, 커널 등이 완성되지 않았었는데요, 1991년에 핀란드의 프로그래머인 리누스 토발즈(Linus Torvalds)가 사용자와의 인터페이스를 담당하는 리눅스 커널을 발표합니다. 이를 통해 GNU 시스템과 통합되면서 GNU/Linux라는 완전한 운영체제가 탄생하게 되었습니다.
1. 유닉스 기반
리눅스 커널 자체가 유닉스의 미닉스(Minix)를 참고하여 개발되었습니다. 기존의 유닉스는 높은 하드웨어 스펙을 기반으로 복잡하고 큰 네트워크 시스템을 위해서 만들어진 운영체제였습니다. 하지만 리눅스는 여기에서 커널과 명령어 체계를 바꾸어서 일반인들이 보다 사용하기 쉽게 하였습니다. 그리고 유닉스를 기반으로 하기 때문에 개발자들에게도 익숙한 환경이었고 결국 많은 사람들에게 빠르게 확산될 수 있었습니다
2. 다중 사용자와 멀티 태스킹을 지원
리눅스는 다중 사용자와 멀티 태스킹을 지원합니다. 때문에 보안성이 높은 파일을 관리하기 용이하여 서버에서 많이 쓰이고 있습니다.
3. 자유 소프트웨어
리눅스는 자유 소프트웨어 라이선스를 갖습니다. 이 말은 누구나 소스 코드를 이용하고 수정해서 재배포할 수 있다는 것이며, 이것이 곧 다른 운영체제와 가장 큰 차이점입니다. 그리고 이러한 리눅스 커널과 소프트웨어 등을 모아서 패키지 관리 프로그램으로 구성한 것을 리눅스 배포판이라고 합니다. 수많은 리눅스 배포판들은 서로 다른 목적과 환경에서 저마다 다른 옷을 걸쳤지만, 리눅스 커널이라는 하나의 심장을 공유하고 있습니다.
다음 타임라인에서 GNU/리눅스의 배포판 족보를 확인할 수 있습니다.
더욱 자세한 내용은 다음 링크에서 확인할 수 있습니다. 그러면 이제부터 우분투에 대해서 알아보겠습니다.
우분투는 데비안(Debian) GNU/리눅스를 기반으로 만들어졌으며 고유한 데스크톱 환경을 사용하는 리눅스 배포판입니다. 즉, 앞서 말씀드린 리눅스의 배포판과 같이, 우분투는 리눅스의 여러 배포판 중에 하나인 데비안에서 또 한 번 파생된 배포판입니다.
우분투의 개발은 남아프리카 공화국의 사업가이자 캐노니컬의 CEO인 마크 셔틀워스(Mark Shuttleworth)에 의해서 시작되었습니다. 현재 개발 커뮤니티에 속한 다수의 팀들이 우분투의 구성 요소들을 만들고 있으며, 우분투 재단이 이를 관리하고 캐노니컬의 지원을 받고 있습니다.
1. 개인용, 데스크톱 환경에 최적화
대부분의 리눅스 배포판들이 서버용으로 사용되고 있는 것에 반하여, 우분투는 개인 사용자와 데스크톱 환경에 최적화되도록 사용자 편의를 중점으로 개발되고 있습니다.
2. 자유 소프트웨어에 기반
앞서 소개한 리눅스의 특징을 그대로 물려받으며 자유 소프트웨어에 기반하기 때문에 누구나 무료로 다운로드하여서(정식 지원 배포본) 사용할 수 있습니다.
우분투는 남아프리카의 반투어인 '우분투'라는 말에서 따왔는데 이것은 사람들 간의 관계와 헌신에 중점을 둔 윤리 사상, 혹은 인본주의 사상으로서 아프리카의 전통적 사상이며, 평화운동의 사상적 뿌리라고 합니다. 우분투 역시 단순히 이름만을 차용한 것이 아니라, '우분투'의 정신을 개발 철학으로 삼고 있습니다. 그래서 우분투는 소프트웨어 사용이 공짜이어야 하고, 소프트웨어 도구는 모든 사람들의 모국어로 사용되어야 하며 어떠한 장애를 가진 사람도 이용할 수 있어야 한다고 정의합니다. 또한 사람들이 자유롭게 소프트웨어를 수정하고 변경할 수 있으며 이를 위해 우분투는 항상 무료로 제공할 것이라고 합니다.
평화 운동가이자 남아프리카의 평등 선거 첫 대통령인 넬슨 만델라(Nelson Mandela)는 우분투에 대하여 다음과 같이 설명합니다.
앞서 설명드린 우분투의 철학은 그들의 로고에도 고스란히 담겨 있습니다. 우분투 로고는 워드마크와 심볼로 구성되어 있는데 주황색 원으로 감싸진 이 심볼의 이름은 'Circle of Friends(친구의 원)'이라고 합니다. 세 사람이 서로 손을 잡고 원을 그리는 듯한 이 심볼은 자유와 협업 정밀도와 신뢰를 뜻한다고 합니다.
우분투 시스템은 화면과 로그인을 관리하는 Display Manager, 윈도우 창들을 관리하는 Window Manger, GUI와 관련된 Desktop Environment로 이루어져 있습니다. 재미있는 것은 어떠한 데스크톱 환경을 선택하느냐에 따라서 우분투 내에서도 다시 한번 갈래가 나뉜다는 점입니다. 이러한 우분투에서 파생된 또 다른 배포판들은 데스크톱 환경이나 프로그램 구성에서 큰 차이점을 보이고 있습니다.
우분투의 첫 번째 버전은 GNOME이라는 데스크톱 환경을 기반으로 하였었습니다. 그 후 GNOME 대신에 KDE를 GUI로 사용하는 쿠분투(Kubuntu), Xfce를 GUI로 사용하는 주분투(Xubuntu) 등이 개발되었습니다.
다음 사진을 보시면 어떤 차이가 있는지 확인할 수 있습니다.
우분투는 일 년에 두 차례 새로운 버전을 릴리즈 하는데 나온 연도와 달로 번호를 매깁니다. 예를 들면 7.10은 2007년 10월, 8.04는 2008년 4월에 나온 버전입니다. 배포 이전에는 개발 코드 명으로 동물 이름을 붙이는데 처음 세 개의 버전을 제외한 나머지 버전부터는 알파벳 순서로 명명되어서 사용자들이 버전 순서를 파악하는데 용이하게 합니다.
버전 번호 뒤에 LTS는 Long Term Support의 약어로서 장기적으로 지원하는 버전임을 뜻하며 가장 안정적인 버전이라고 생각할 수 있습니다. 이러한 LTS 버전은 2년에 한 번씩 배포되고 있습니다.
다음 편에서는 우분투에게 완전히 새로운 경험을 제공한 Unity 인터페이스에 대해 알아보도록 하겠습니다.
*이 글은 2013년 6월, 피엑스디 블로그에 게재되었습니다.