월간 <네트워커> - 정보화에 대한 다른 시각
22호 리눅스야놀자!
잊지 말자, 작은 것이 아름답다

소재명  
조회수: 3851 / 추천: 61
1970년대부터 서구 여러 나라에서는 60년대 성장의 시대가 잠재하고 있었던 환경, 경제 문제 등의 각종 사회문제들이 솟아오르기 시작했다. 성장의 한계와 기업의 자본 집중 문제가 일어나면서 세상이 더욱 복잡해지기 시작했다. 경제학자 E.F.슈마허(Ernst Friedrich Schumacher)는 요즘 같이 복잡한 세상에는 전혀 어울릴 것 같지 않은 ‘작은 것이 아름답다(Small is Beautiful)’라는 표어를 걸고 당시 주류 경제이론의 하나인 케인즈 경제이론을 비판하고 새로운 규모의 경제원리를 대안으로 제시했다. ‘작은 것이 아름답다’라는 표현에서 ‘작다’는 것은 물건이 작아야 한다던가 설계가 간단해야 한다는 말이 아니었다. ‘작은 것’은 일반적인 사람들과 그들의 일터로서 이들이 건전해야 행복한 사회를 이루어 질 수 있다는 것이다.

그를 기리기 위해 만들어진 E.F.슈마허 소사이어티는 한 마디로 그의 사상을 탈집중화(decentralization)라고 정의하고 있다. 자본의 집중으로 생산성이 높아질 수 있으며 그것이 좋은 일 일수도 있지만 생산성이 높아져도 회사에 종사하지 않는 사람들은 할 일이 없어지기 때문에 사람들은 생산에서 소외되며 일거리를 얻을 수가 없다는 것이다. 사람들의 실존에 노동은 매우 중요하기 때문에 건전하고 영속 가능한 사회를 만들기 위해서는 이러한 점들을 중시할 수밖에 없다는 것이다. 슈마허는 간디를 인용하여 대량생산(Mass Production)이 아니라 많은 사람들이 참여하는 생산(Production by Mass)이 더 중요한 것이라고 말했다. 많은 수의 작은 사람을 도외시하는 사회나 경제는 결코 영속적이지 않다는 것이 그의 주장이었다.

오늘날 리눅스(Linux)의 기술적, 문화적 토양은 유닉스(Unix)다. 적어도 초기의 유닉스는 ‘작은 것이 아름답다’라는 표어에 어울리는 모델을 구현하고 있었다. 유닉스의 탄생은 60대말 후반으로 거슬러 올라간다. 당시 AT&T 벨 연구소에서 진행중인 프로젝트가 있었는데, 다중사용자를 위한 거대한 운영체제인 멀틱스(MULTICS : MULTiplexed Information and Computing System) 개발 프로젝트가 그것이었다. 그러나 기술력과 자본력 등이 뒷받침되지 못하는 상황속에서 개발의 당위성이 사라지자 프로젝트가 중단되게 이른다. 유닉스의 탄생은 그와 때를 갖이 한다.

유닉스의 창시자 켄 톰슨을 비롯한 AT&T 벨 연구소 프로그래머들은 멀틱스에서 동작하는 ‘Space Travel’이라는 게임을 제작하고 즐기다가 멀틱스를 전혀 사용할 수 없게 되자 개발환경이 갖추어지지 않은 DEC(Digital Equipment Corporation)사의 미니 컴퓨터 PDP-7으로 이식하는 작업을 하게 된다. 이를 계기로 이전에 개발을 시도했던 작은 운영체제를 PDP-7에 이식하고, 간단한 파일 시스템과 유틸리티 몇 개가 이식되자 이들은 PDP-7에서 수행되는 어셈블러를 만들었다. 1970년 당시 아직은 멀티유저가 아닌 이 운영체제를 멀틱스에 빗대어 유닉스(Uniplexed Information and Computing System, UNICS)라고 불렀다. 몇 달 후 멀티유저를 구현한 이 운영체제는 유닉스(UNIX)로 바뀌고 이름이 굳혀졌고, 유닉스 개발은 계속되었다. 켄 톰슨은 B언어를 개발하고 이 언어로 어셈블러와 다른 유틸리티를 만들었다. B의 성능이 좋지 않자, 동료 연구원 데니스 리치는 B와 호환되는 C언어를 만들었다.

그 이후 유닉스는 C로 만들어졌고 유닉스의 발전은 C와 함께 하게 되었다. 고급 언어인 C를 사용하여 기존 어셈블리 코드의 90%를 C로 변경한 이후 간결하고 이해하기 쉬우며 명쾌한 설계 철학을 가진 유닉스는 그 존재 자체가 참신한 것이었다. 1974년경부터 유닉스는 AT&T 벨 연구소를 벗어나 다른 연구기관이나 학교에 배포되기 시작했다. 이 당시에 AT&T는 초거대 기업으로 반독과점법에 묶여 있던 관계로 전신전화 서비스와 관계없는 사업에는 참여할 수 없었다. AT&T에서 내부적으로는 컴퓨터 관련 제품들도 팔 수가 없다는 판단을 내렸다. 대학들은 유닉스에 관심이 많았다. AT&T에서는 비용 없이 간단한 라이선스에 동의하면 유닉스를 무상으로 대학에 교육과 연구목적으로 제공했다. 1973년 말 버클리 대학에서 처음으로 라이선스를 획득한 후 많은 대학에서 급속하게 채택되었다. 1979년부터는 타기종으로 이식 가능한 버전이 발표되었고, 라이선스 계약자들은 발표 초기부터 여러 분야에서 유닉스 시스템의 성능을 높였다. AT&T는 차기 버전을 발표할 때마다 사용자들이 이루어 놓은 성능개선을 반영하였다. 대학에서 유닉스로 교육 받은 사람들은 대학을 나와서도 유닉스를 찾았고 유닉스의 생산자인 AT&T와 사용자들간의 협동은 새로운 문화를 창조했다.

우연히 시작된 유닉스는 운영체제라면 굉장히 복잡하고 거대하며 기괴한 것이라는 당시의 통념을 부수면서 탄생한 것으로 그 존재 자체가 특이한 것이었다. 유닉스는 작고 간단한 기능만을 제공했으며 초기의 응용프로그램들도 마찬가지였다. 이들의 조합으로 커다란 시스템이 잘 돌아가도록 만드는 것이 유닉스의 성공 비결이었다. 초기의 유닉스 운영체제는 작고 단순하며 기본적인 추상개념의 수도 적었다. 사람들은 상대적으로 다른 운영체제보다 단순하고 작으며 이해가 쉬운 유닉스에 빠져들었다. 유닉스의 철학은 기본적으로 프로그램과 프로그램이 데이터를 주고 받도록 할 수 있는 파이프와 같은 개념을 이용하여 유연하게 서로 결합할 수 있는 환경이나 툴을 제공하는 것이었다. 커널은 최소한의 기능을 제공하는 것으로 족했다. 작은 유틸리티는 간단한 데이터 조작을 수행하였다. 프로그래밍 가능한 셸과 파이프 메커니즘은 사용자들이 유틸리티를 조합하여 다양한 방법으로 강력한 도구를 만들 수 있게 했다. 마치 레고블럭 같이 작은 구성요소들의 조합으로 새로운 시스템을 필요할 때마다 만들 수 있는 것이다. 유닉스는 역설적으로 AT&T에서 초기의 상업화를 포기했기 때문에 발전했다. 유닉스는 라이선스를 얻은 비교적 작은 연구집단들이 공헌한 코드들이 많았으며 커뮤니티를 형성하면서 매우 산만하기는 했지만 빠르게 지속적으로 발전하였다.

하지만 이후 유닉스의 상업화와 더불어 경쟁적으로 개발이 진행되면서 유닉스는 ‘작은 것이 아름답다’는 말에 다소 어울리지 않는 모습으로 변해왔다. AT&T와 버클리 대학에 의해 초기 유닉스의 분화가 시작된 이래 이를 상용화한 회사들에 의해 비표준적인 인터페이스들을 마구 추가되었다. 그런 와중에 리눅스가 유닉스 초기의 이상을 구현하며 탄생한 것이다. 리눅스 역시 초기에는 작고 간단한 운영체제로 출발했으나 현재는 유닉스만큼 복잡해지고 있다. 실험실의 작은 운영체제에서 정보산업계의 중심으로 떠오르며 산업계 요구를 계속 수용하다 보니 덩치가 커질 수밖에 없는 딜레마에 빠진 것이다.

이러한 유닉스와 리눅스 초기의 철학과 현재의 상황을 바탕으로 논리를 비약시키면 사회의 건전성은 상대적으로 ‘작은’ 사람이나 ‘작은’ 집단들의 건전함에 크게 의존한다고 볼 수도 있다. 불필요한 탐욕을 스스로 자제하는 소요의 길을 걷는 것이 사회 참여의 작은 시작이 아닐까. 갑자기 톨스토이의 ‘바보 이반’이 떠오른다. 잊지 말자. “작은 것이 아름답다”
추천하기