SK하이닉스 뉴스룸 기사

[반도체 인명사전] 자유 소프트웨어 운동을 이끈 리처드 스톨만

Written by SK하이닉스 | 2015. 9. 23 오전 5:00:00

 

여러분도 모두 아시다시피 프로그램은 다양한 소스코드들로 이루어져 있습니다. 개발자는 특정 프로그램을 만들기 위해 여러 프로그래밍 언어를 사용하여 소스코드를 만들죠. 우리 역시 컴퓨터 상에서 프로그램을 통해 명령을 내리고 그 결과를 사용하고 있습니다. 따라서 소프트웨어 기업이나 개발자에게 있어 이러한 고유의 소스코드는 중요한 자산과도 같은데요. 우리 역시 이러한 소프트웨어의 저작권을 법적으로 보호∙인정하고 있죠. 그런데 이러한 소프트웨어 저작권에 반기를 드는 사람들이 있는데요. 이들은 바로 ‘자유 소프트웨어 재단’입니다. 이들은 저작권(Copyright)에 대한 반대의 개념인 ‘카피레프트(Copyleft)’를 내세우며 다수에게 유용한 정보를 독점하는 것이 아닌, 모두에게 공개해야 한다고 외치는데요. 이 재단의 중심에는 미국의 프로그래머 ‘리차드 스톨만’이 있습니다. 자유 소프트웨어 운동을 이끌고 있는 리차드 스톨만. 과연 그는 누구이며, 자유 소프트웨어 운동이란 무엇인지 함께 알아보도록 해요~!

 

스톨만은 1953년 3월 16일, 엘리스 립맨과 대니얼 스톨만의 아들로 맨해튼에서 태어났습니다. 그가 개인용 컴퓨터를 처음 접한 것은 1960년대 그의 고등학교 저학년 시절이었는데요. 어렸을 때부터 컴퓨터에 재능을 보였던 스톨만은 IBM 뉴욕 과학센터에서 일하면서, 고등학교 졸업 후의 여름을 보냈고 거기에서 그의 첫 번째 프로그램인 IBM 7064를 위한 전처리기(pre-processor)를 PL/I 프로그래밍 언어로 작성했습니다. 이에 대해 그는 다음과 같이 회상하고 있습니다. "나는 첫 프로그램을 PL/I로 작성했다. 그 뒤, 그 프로그램이 그 컴퓨터에 맞지 않을 만큼 커졌을 때 어셈블리어로 다시 고쳤다"


▲ MIT 인공지능 연구소 / 출처 : computerhistory.org

이후, 1971년에 하버드 대학의 신입생으로 들어온 스톨만은 MIT 인공지능 실험실의 해커가 되었습니다. 통상적으로 현대사회에서 해커라고 하면 컴퓨터 지식을 이용해 불법을 저지르는 사람을 떠올리기 마련인데요. 하지만 본래 해커라는 낱말 자체는 선악의 개념을 담지 않은 중립적 의미가 강합니다. 이 해커라는 단어는 60년대 미국 MIT 대학생들을 시작으로 전파되기 시작했고, 그들은 밤낮으로 컴퓨터에 매달려 새로운 프로그램을 만들고 토론하며 그것들을 사람들에게 나눠주는 창조와 재미 그리고 정의를 부르짖는 사람들이었죠. (애플의 공동 창업자인 스티브 워즈니악이 처음에 애플컴퓨터 I을 만들었던 이유는 판매하기 위해서가 아니라 다른 사람들에게 무료로 나눠 주고 싶어서였습니다.)


▲ DEC PDP-10 / 출처 : 콜롬비아 대학교

그는 인공지능 연구소에서 그의 동료와 함께 ITS라 불리는 운영체제를 DEC사의 PDP-10이라는 메인프레임(다양한 데이터를 처리할 수 있는 대형 컴퓨터)에 탑재하기 위해 업그레이드하는 작업을 맡았습니다. 그들은 ITS를 자유 소프트웨어라고 부르지 않았는데요. 리차드 스톨만에 따르면 당시에는 그런 용어 자체가 존재하지 않았으며, 오늘날 자유 소프트웨어라 불리는 개념(프로그램 소스코드를 다른 사람이 사용할 수 있도록 공개하는 일)이 너무나도 당연한 시대였습니다.

하지만 이들 해커 공동체는 1980년대 초 DEC가 PDP-10 제품군 생산을 중단하면서 무너지기 시작했습니다. 이 컴퓨터에서 쓰이는 소프트웨어가 호환성 문제로 사용할 수 없게 됐기 때문인데요. 1981년에는 인공지능 연구소에서 근무하던 대부분의 해커가 심볼릭스(Symbolics)라는 회사를 만들고, 직장을 옮깁니다. 기존 PDP-10을 운영할 인적 자원이 부족해진 인공지능 연구소는 ITS가 아닌 새로운 운영체제를 도입하죠. 그렇지만 이 운영체제는 자유 소프트웨어가 아니었습니다. 이뿐만 아니라 당시 소개됐던 대표적인 컴퓨터의 전용 운영체제 역시 자유 소프트웨어가 아니었죠. 이러한 운영체제를 사용하려면 관련 자료(소스코드 등)를 유출하지 않겠다는 계약 조건에 동의해야만 했습니다. 리차드 스톨만은 이에 대해 "컴퓨터를 사용하는 처음 단계부터 주위 사람을 돕지 않겠다고 약속하는 것과 같은 의미"라고 언급했는데요. 스톨만은 1983년에서 1985년, 2년 동안 혼자 힘으로 동료들의 결과물들과 똑같은 기능의 프로그램을 작성하여 그들의 독점을 막는 일을 했습니다. 그렇다면 스톨만이 이토록 소프트웨어의 독점을 반대했던 이유는 무엇일까요?

 

당시 사람들의 생각에는 소프트웨어를 돈을 주고 ‘구입’해야 한다는 개념 자체가 없었습니다. 소프트웨어는 가능한 많은 사람들이 함께 공유하고 사용할 수 있다는 해커정신이 당시의 일반적인 관념이었죠. 하지만 하버드 법대생이었던 빌 게이츠의 생각은 달랐습니다. 그는 1975년 마이크로소프트를 창업하고 베이식을 개발, 0과 1로 이루어진 논리 수학의 집약체인 ‘소프트웨어’를 판매하는 것을 고안해낸 탁월할 사업가였습니다. 빌 게이츠는 자신이 만든 베이식을 무상으로 공유하고 사용하는 프로그래머들을 발견하고는 컴퓨터 사용자들에게 보내는 공개서한을 컴퓨터 잡지에 싣습니다.

 

“여러분은 대다수가 소프트웨어를 훔쳐서 사용한다는 사실을 인식해야 합니다. (중략) 이것이 공정한 일일까요? (중략) 여러분이 소프트웨어를 훔침으로써 초래되는 결과 중 하나는 훌륭한 소프트웨어가 개발되는 길이 막힌다는 겁니다. 무보수로 전문적인 일에 혼신을 기울일 사람이 어디에 있겠습니까? (중략) 지금이라도 로열티를 지불하고자 하는 분은 연락 주시길 바랍니다.”

 

당시 이 글은 그 누구에게도 영향을 주지 않았지만 1977년 애플 컴퓨터II를 시작으로 개인용 컴퓨터, 일반인을 위한 컴퓨터 세상이 열렸고 빌 게이츠의 생각대로 소프트웨어는 황금알을 낳는 거위가 되었습니다. 즉, 소프트웨어를 사고파는 일이 일반적인 개념으로 자리잡기 시작했다는 것이죠.

 


▲ 자유 소프트웨어 재단 / 출처 : 위키백과

스톨만은 이에 굴하지 않고 1985년, GNU(General Public License 일반 공중 사용 허가서)선언문을 발표하며 비영리 기관인 자유 소프트웨어 재단(Free Software Foundation, FSF)을 설립했습니다. GNU의 GPL(General Public Licence) 허가를 가진 프로그램은 아무나 널리 복사해서 사용할 수 있으며, 그 누구라도 출처만 밝히고 공익적인 것에 이용한다면 자신의 자료를 사용해도 된다고 적어놓았죠. GPL은 Copyright의 반대되는 개념인 Copyleft 사용 허가입니다. 스톨만은 인터뷰를 통해 자유 소프트웨어 운동을 결심하게 된 이유에 대해 다음과 같이 말합니다.

 

“자유는 요리사가 요리법을 이용할 때 즐기는 자유와 같은 것입니다. 만약 요리사들에게 지금부터 당신들이 요리법을 함께 나누거나 바꾸면 당신들은 ‘해적’이라 불리고 몇 년 동안 감옥에 갇히게 될 것이라고 했을 때 그들이 분노할 것을 상상해보십시오. 나는 80년대에 독점적인 소프트웨어 사용을 강요 받았을 때 똑같은 분노를 느꼈고, 그 분노가 1984년에 자유소프트웨어 운동을 시작하게 된 이유가 되었습니다.”

 

 

스톨만은 당시 GNU 프로젝트의 일환으로 문서 편집기인 Emacs, GNU 컴파일러 모음 컴파일러, GDB 디버거 등 많은 프로그램을 만들었는데요. GNU는 1990년대 초반까지 커널이 제외된 완성도 높은 운영체제를 만들고 있는 상태였습니다. (커널은 운영체제의 핵심 부분을 의미합니다) 바로 이때, GNU 프로젝트와 자유 소프트웨어를 널리 알린 중요한 사건이 일어납니다. 1991년 리누스 토르발즈라는 대학원생이 취미 삼아 ‘리눅스커널 Linux Kernel’을 개발한 것이죠. 이렇게 높은 완성도의 GNU 운영체제와 토르발즈가 개발한 커널은 ‘GNU/리눅스’ 조합의 완성된 운영체제로 거듭나게 됩니다.

이러한 과정 끝에 탄생한 리눅스는 자유 소프트웨어와 오픈 소스 개발의 가장 유명한 표본이 되었습니다. 리눅스 덕분에 비싼 유닉스 운영체제를 부담 없이 사용할 수 있게 되었고 200여 종류가 넘는 배포판이 개발되었기 때문이죠. 이후 리눅스는 IBM, HP와 같은 거대 IT 기업의 후원을 받으며, 서버컴퓨터 분야에서 유닉스와 마이크로소프트 윈도 운영 체제의 대안으로 자리잡았습니다.

 


▲ 리눅스 운영체제의 아버지 리누스 토발즈

 

리눅스를 개발한 리누스 토발즈는 “지켜 보는 사람만 많으면 시스템 오류는 쉽게 찾아낼 수 있다. Given enough eyeballs, all bugs are shallow”는 ‘리누스의 법칙 Linus’s Law’을 주장했는데요. 이는 쉽게 말해 개발자와 사용자간의 오픈된 커뮤니케이션을 통한 소트프웨어 개발의 효율성 증대라 할 수 있습니다. 많은 사람이 프로그램을 공유하고 사용해봄으로써 프로그램의 오류를 많이 그리고 빨리 수정할 수 있게 되는 것이죠. GNU의 자유소프트웨어 운동과 리누스의 법칙으로 대표되는 오픈소스 문화는 아이디어의 공유를 통한 소프트웨어의 다양성, 소프트웨어의 재창조, 독점 소프트웨어의 대안, 소프트웨어의 발전에 지대한 공헌을 했습니다. 일 예로 리눅스는 많은 사람들이 저가형 서버를 사용할 수 있게 도왔으며 우리가 사용하고 있는 스마트폰의 안드로이드 운영체제도 탄생시켰습니다.

 

오픈소스 웹 브라우저인 파이어폭스와 구글 크롬은 이용자들의 토론, 의견 제시를 유도하며 수많은 개발자들의 참여를 일으켰습니다. 그리고 10년이 넘는 세월 동안 점유율 1위를 지켜오던 MS의 독점 소프트웨어인 인터넷 익스플로러의 점유율을 넘어섰습니다. 스톨만이 주장하는 자유 소프트웨어 운동 역시 이와 다르지 않은데요. 단순히 개발자의 성과물을 무상으로 공유하자는 것이 아닌, 여러 사람의 의견을 수렴할 수 있는 개방적인 환경을 만들어 더 뛰어나고 가치 있는 성과물로 발전시키자는 것이죠. 현재까지도 자유 소프트웨어 운동에 대한 의견은 분분하지만, 중요한 것은 스톨만의 이러한 생각이 좀 더 나은 결과물을 위한 가능성을 제시한다는 점이 아닐까 싶습니다.