메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

컬럼/인터뷰

자유와 혁신, 그리고 편리성: RMS 인터뷰

한빛미디어

|

2005-01-05

|

by HANBIT

19,001

작성: 페데리코 비안구찌(Federico Biancuzzi) / 2004.12.22
번역: johnsonj / 2004.12.27
원문: http://www.linuxdevcenter.com/pub/a/linux/2004/12/22/rms_interview.html

20여 년전 MIT의 한 프로그래머가 일을 그만 두고 완전하게 자유로운 유닉스-스타일의 운영 체제를 개발하기 시작하였다 -- GNU 시스템이 바로 그것이다. 그 프로그래머는 리차드 스톨만(Richard Stallman)이었는데, RMS라고도 알려져 있었으며, 자유 소프트웨어 재단(Free Software Foundation)의 창시자이다.

1984년 이래로 그는 소프트웨어 자유를 위하여 투쟁하였고 자유 소프트웨어라는 개념을 만들어냈다. 소프트웨어가 자유롭다고 간주되려면 사용자는 다음의 네가지 자유를 가져야 한다:
  • 어떤 목적으로든 프로그램을 실행할 자유 (freedom 0).
  • 어떻게 작동하는지 프로그램을 연구할 자유 그리고 그것을 필요에 맞게 적용할 자유 (freedom 1). 소스 코드에 대한 접근이 전제조건이다.
  • 이웃을 도울 수 있도록 사본을 배포할 자유 (freedom 2).
  • 프로그램을 개선하고 개선된 프로그램을 공개할 자유. 그래서 전 공동체가 혜택을 받도록 할 자유 (freedom 3). 소스 코드에 대한 접근이 전제조건이다.
카피레프트(Copyleft) 라이센스는 이 네가지 자유를 보호한다. 가장 유명한 라이센스는 GNU 일반 공개 라이센스(GNU General Public License)이다. 모든 버전이 카피레프트 라이센스 아래에 유지되도록 디자인되어 있다. 이 라이센스 하에서 저자들은 복사권을 보유하면서도 재배포와 수정을 허가할 수 있다.

자유에 대한 위협이 증가하고 있는 오늘날, 페데리코 비안구찌(Federico Biancuzzi)는 이 자유의 기사(paladin)를 인터뷰하였다.

FB: GNU/Linux (완벽한 OS임!)는 아마도 가장 널리 알려진 자유 소프트웨어 프로젝트일 것입니다. 리눅스 (커널!)독점 프로그램을 사용하여 그의 소스 코드를 관리한다는 사실을 어떻게 생각하십니까? 1)

RMS: 누구든지 독점 소프트웨어를 사용하면 불행한 것입니다. 저명한 자유 소프트웨어 꾸러미의 개발에 독점 소프트웨어를 공개적으로 사용하는 일은 특히 불행합니다. 왜냐하면 공동체에 나쁜 선례를 남기기 때문입니다.

FB: 자유의 대체물로 개발 중인 것이 있습니까?

RMS: 이미 똑 같이 기본적인 일을 처리하는 자유 프로그램들이 있습니다. 리누스 토발즈(Linus Torvalds)는 그런 자유 프로그램들이 만족할 만큼 편리하다고 느끼지 못합니다. 그는 자유를 위한 입지를 지키는 것 보다는 편리함에 더 가치를 둡니다. 그것은 공동체를 잘못된 방향으로 인도하는 것이라고 생각합니다.

GNU 프로젝트의 일부로서, 톰 로드(Tom Lord)는 자유의 소스 제어 시스템을 새로 개발하고 있습니다. 이를 Arch라고 부르는데, 모쪼록 독점적 소스 제어 시스템들을 능가하기를 바랍니다.

그러나 기술적 장점의 문제로 독점 소프트웨어와 경쟁하고 있기 때문에 그것이 곧 오직 기술적 품질에만 기반하여 소스 제어용 프로그램을 골라야 한다고 생각한다는 뜻은 아닙니다. 그것은 자유 자체에 가치를 두지 않는다는 뜻이 되어 버릴 것입니다. 자유를 소중히 여긴다면, 어떤 기술적 장점을 가지고 있다고 할지라도 자유를 앗아가는 프로그램을 사용하고 싶은 유혹을 뿌리쳐야 합니다.

FB: 독점 소프트웨어에 대하여 어떻게 생각하십니까? 품질이 낮습니까? 안전하지 못합니까? 자유를 너무 많이 속박합니까? 윤리적이지 못합니까?

RMS: 독점 소프트웨어는 비윤리적입니다. 왜냐하면 사용자가 자신의 컴퓨터를 통제하고 서로 협력할 기본적인 자유를 누리는 것을 거부하기 때문입니다. 품질이 낮거나 불안전할 수도 있지만, 그것은 부차적인 문제입니다. 세상에서 제일 품질이 좋더라도 저는 거부하겠습니다. 저는 자유를 더 소중하게 여깁니다. 그 소프트웨어를 얻기위해 자유를 포기할 수 없기 때문입니다.

FB: 어떤 종류의 소프트웨어도 소스 코드를 함께 배포하도록 강제하는 미국의 연방법을 수락하시겠습니까?

RMS: 현재로서는 그런 법률을 요청하지 않고 있지만, 귀중한 소비자 보호 방책이 될 것이라고 생각합니다--식제품에 성분 리스트를 공개하라고 요구하는 것과 같이 말입니다.

물론, 어떤 소프트웨어 회사들은 이 법률에 반대할 것입니다. 식품 회사들이 성분과 영양소 정보를 공개하라는 요구를 거부하듯이 말입니다. 그 문제는 그들에게 위임되어서는 안됩니다.

FB: 어느 라이센스를 골라야 한다고 생각하십니까?

RMS: 질문을 잘 이해하지 못하겠네요. 누가 선택하고, 무엇 때문에 선택한다는 건가요?

FB: 제 말은 그런 법률이 통과된다면, 정부가 어느 라이센스를 소프트웨어 소스 코드에 부과해야 한다고 생각하십니까?

정부가 회사들에게 자유롭게 자사의 소스 코드에 라이센스를 작성하거나 선택하도록 허가한다면, 아마도 대부분이 아주 제한적이 될 것입니다. 마치 "보기는 하되 건드리는 못하는 것" 처럼 말입니다.

RMS: 문제는 "어떤 종류의 소프트웨어도 그의 소스 코드와 함께 배포되기를" 요구하는 잠정적 법률에 관한 것입니다; 그 법률은 소스 코드를 사용자가 가지도록 요구할 뿐입니다. 사용자가 어떻게 그 소스 코드를 사용할지는 전혀 다른 문제입니다.

그 문제를 고려해 보려면, 무엇 때문에 사용자가 소스 코드의 사용에 제한을 받는지 스스로에게 물어보는 것부터 시작해야 합니다. 그 대답은 오직 복사권 법률 그리고 복사권 계약과 같은 정부가-강제하는 제한입니다. 그래서 정부가 모든 소스 코드가 자유 소프트웨어이기를 확인하고 싶으면, 이를 성취하기 위해 간섭할 필요가 없습니다. 오직 필요한 것은 소스 코드를 억압하지 못하도록 간섭만 하면 될 뿐입니다.

FB: 자유 소프트웨어 프로젝트를 윈도우즈 같은 독점 OS에 이식하는 것이 좋은 아이디어라고 생각하십니까?

RMS: 자유 어플리케이션들을 비자유 운영 체제에 이식하는 것은 종종 유익합니다. 이렇게 하면 그런 운영 체제의 사용자들이 자유 프로그램들을 사용해 보고 사용하기에 유익한지, 자유 소프트웨어가 자신들을 물어뜯지는 않는지 알아볼 수 있습니다. 이렇게 하여 GNU/Linux 같은 자유 운영 체제를 시도해 보는데 대한 걱정을 극복하도록 사람들을 도와줄 수 있습니다. 많은 사용자들이 실제로 이런 경로를 따라 오고 있습니다.

그렇지만, 자유 어플리케이션의 목적이 독점 시스템에 그런 식으로 사용되는데 있다고 제안하지 않도록 조심할 필요가 있습니다. 자유 어플리케이션을 사용하면 한 발자국 앞으로 나간 것이지만, 그렇다고 하더라도 완전한 자유에 이르지는 못합니다. 자유라는 목적지에 도달하려면, 사용자의 자유를 부인하는 독점 소프트웨어를 회피할 필요가 있습니다.

FB: 그런 도구들을 무료로 제공하기 때문에 일반적인 사용자들이 그 플랫폼을 사용하는 것은 아닐까요?

RMS: 이 질문을 확실히 이해한 것은 아니지만, "자유(free) 소프트웨어"가 방종한(libre) 소프트웨어"를 의미하는 것은 아니라는 사실을 언급하고 싶습니다. 반드시 "공짜(free of charge)"를 의미하는 것은 아닙니다. 매달 수 천부의 자유 소프트웨어 사본을 파는 회사들이 있습니다.

FB: "공짜 맥주(free beer)"와 해방의 자유(free as in "freedom") 사이의 차이점을 잘 알고 있습니다. 이 질문은 "공짜 맥주"에 관한 것입니다. 무료로 따라오는 자유 소프트웨어가 수 없이 많습니다. 제가 강조하고 싶은 것은 독점 운영 체제용 독점 소프트웨어가 대부분 돈이 든다는 사실입니다. 소프트웨어 라이센스에 관한 것은 알지도 못하는 일반적인 컴퓨터 사용자를 상상해 봅시다. 그는 새로운 컴퓨터를 사고 윈도우즈에 $100를 지불합니다. 이제 그는 공짜로 수 많은 자유 소프트웨어를 사용할 수 있을 겁니다. 왜 그가 GNU/Linux를 시험해 보아야 할까요? 이것도 "자유(freedom)"라고 말씀하시겠습니까? 2)

RMS: 그렇습니다. 언제든지 "자유(freedom)"라고 주장할 것입니다. 돈을 절약한다는 장점이 있다는 것은 말할 필요도 없을 겁니다--그에 대하여 구지 제가 설명할 필요조차 없습니다. 그렇지만, 우리 시대는 돈을 너무 강조하는 나머지 종종 자유의 소중함을 잊곤 합니다. 그것에 관하여 꼭 되새길 필요가 있습니다.

FB: 좋습니다. 하지만 현 운영체제가 자유-소프트웨어 라이센스 아래에서 소스 코드를 제공하지 않기 때문에 그에게 OS를 바꾸라고 어떻게 설득할 수 있을까요? 사용자는 소스 코드가 무엇인지조차 모르는데 말입니다!

RMS: 자유 소프트웨어는 사용자들에 의하여 통제됩니다. 사본을 하나 얻으면, 그것을 소유합니다.

집을 하나 사면, 자유롭게 그 집을 바꿀 수 있습니다. 직접 어떻게 바꾸어할지 알지 못한다면, 목수나 배관공을 고용해서 여러분 대신 바꾸도록 할 수 있습니다. 소프트웨어도 마찬가지입니다. 어떤 사용자든 소프트웨어를 바꾸는 자유라는 장점을 누릴 수 있습니다. 그것이 자유라면, 프로그래머인 사촌을 설득해서 여러분 대신에 고치도록 하거나 누군가를 고용할 수 있습니다.

비자유 소프트웨어는 개발자들에 의하여 통제됩니다. 개발자들은 종종 악성의 특징을 구현하기도 합니다--예를 들어, 사용자를 감시하거나 사용자를 제한하는 그런 악성의 특징들 말이지요. 어떤 경우 그들은 악성 특징을 비밀로 감추기도 합니다. 그러나 그들은 그 소프트웨어에 악성 특징을 갖추고 있다고 할지라도 사람들이 필사적으로 그 소프트웨어를 얻고 싶어할 것이라고 계산하기도 합니다. 사용자들은 악성 특징들을 제거할 수 없습니다. 왜냐하면 소스 코드가 없기 때문입니다.

이런 일은 자유 소프트웨어에서는 일어날 수 없는 일입니다. 자유 소프트웨어는 사용자에 의하여 통제되기 때문입니다. 자유 프로그램에 악성 특징이 있다고 할지라도, 어떤 프로그래머든 마음대로 악성 특징을 제거한 다음 수정된 버전을 배포할 수 있습니다-- 비프로그래머들을 포함하여 모든 사용자들은 그 버전을 선택합니다. 이런 수정을 손수 직접할 필요가 없습니다. 다른 누군가 그 일을 대신 해줄 것이기 때문입니다.

자유 소프트웨어 사용자들은 어떻게 개발할지도 결정합니다. 대부분의 문제들에 관하여, 대부분의 사용자들은 같은 것을 원합니다. 조만간, 프로그램하는 법을 아는 또는 수정에 드는 비용을 가진 사용자가 여러분이 원하는 변경을 해줄 것입니다.

FB: 리눅스 (커널!)가 별 문제 없이 이진 드라이버를 지원한다는 사실에 대하여 당신의 의견은 어떻습니까? 한 가지 예를 들겠습니다: OpenBSD 프로젝트 Atheros는 무선 칩을 지원하지 않았습니다. 이진 HAL에 그들의 목표정책에 대하여 모순되는 라이센스가 제공되기를 요구하기 때문입니다. 그들은 일관되게 행동합니다. 리눅스(커널!)도 비슷하게 엄격한 접근법을 시도해야 한다고 생각하십니까?

RMS: 그렇습니다! GNU/Linux 배포본의 개발자들도 그래야 합니다. 이는 아주 중요한 일입니다.

FB: 하드웨어 제조자들이 제품에 대하여 자유 하드웨어와 같은 것처럼 모든 데이터시트, 문서, 규격, 명세를 공개해야 한다고 생각하십니까?

RMS: 하드웨어 개발자가 자신이 파는 하드웨어를 사용하는 법을 말해주려고 하지 않는다면, 사지 마세요.

나는 모든 소프트웨어에 소스 코드가 함께 따라와야 한다고 요구하는 법률을 청원하지는 않겠지만, 상업적으로 판매되는 모든 새로운 컴퓨터 하드웨어에 완벽한 명세가 함께 따라오기를 정부가 요구해야 한다고 생각합니다.

FB: 하드웨어 규격에 자유롭게 접근하고자 하는 운동 또는 청원을 밀어주고 서명하시겠습니까?

RMS: 그런 법률을 권면하는 비폭력적이고 민주적인 그런 정치 활동이라면 적극적으로 밀어주고 싶습니다.

FB: 선 마이크로시스템(Sun Microsystems)사자바 소스 코드를 배포하고 싶어하는 듯 보입니다. 자바 같은 언어가 GPL에 의하여 보호된다면 더 많이 퍼질 수 있다고 보십니까?

RMS: 그것은 지엽적인 문제라고 생각합니다. 특정한 프로그래밍 언어가 인기를 얻느냐 못 얻느냐 하는 문제는 기술적인 문제일 따름입니다. 선(Sun)사의 자바 플랫폼이 비자유라는 것은 사회적, 윤리적 문제입니다--단순히 기술적인 문제보다 더 중요합니다.

우리는 선(Sun)사가 우리의 자유 운동를 존중해 주기를 기다리고 있지 않습니다. 자바 플랫폼의 모든 부분을 자유로운 대체물로 개발하고 있습니다. 아직 모든 특징을 갖추지는 못 했지만, 자바 프로그램을 작성하고 실행할 수 있습니다.

선(Sun)사의 자바 플랫폼에서 자바 프로그램을 개발한다면, 진정으로 플랫폼 독립적이지는 않을 겁니다; 결국 특정한 종속적 플랫폼에 의존하게 되고 맙니다. 우리의 자바 플랫폼을 사용하여 자바 프로그램을 개발하면, 정말로 모든 플랫폼에서 실행될 것입니다.

FB: 누가 무슨 목적으로 그의 개발을 통제하는 것이 문제라고는 생각하지 않으십니까?

RMS: 독점 소프트웨어의 문제는 특정한 개발자가 그의 개발을 통제한다는 것입니다--사용자인 여러분은 그럴 수 없습니다. 모든 비자유 프로그램은 개발자가 주인입니다--그 프로그램을 사용하면, 개발자가 주인입니다.

주인마다 다른 목적을 가집니다; 어떤 주인들은 다른 주인들보다 더 친절합니다. 그렇지만, 한 주인을 다른 주인과 비교하는 일은 진짜 본질을 흐트리는 일입니다. 진짜 본질적인 문제는 방종입니다. 방종은 주인을 가지지 않는다는 뜻입니다. 자유 소프트웨어라면, 주인이 어떤 목적으로 그 프로그램을 개발했는지 걱정할 필요가 없습니다. 왜냐하면 스스로 자유롭게 결정할 수 있기 때문입니다.

FB: 선 마이크로시스템(Sun Microsystems)사가 자사의 솔라리스 10 운영 체제를 중심으로 오픈 소스 프로젝트를 만들 것이라는 소식에 관하여 어떻게 생각하십니까?

RMS: 구체적으로 그것이 무엇을 뜻하는지는 모르겠습니다. 나는 오픈 소스를 옹호하지 않습니다. 선(Sun)사가 솔라리스를 자유 소프트웨어로 만들 작정이라면, 그것은 사용자의 자유를 존중하는 일이 될 것입니다. 그것이 해야 할 올바른 일입니다. 솔라리스를 자유로 만드는 일은 자유 소프트에어 공동체에 상당한 공헌이 되겠지만, 우리는 그럭저럭 같은 일을 하는 소프트웨어(GNU/Linux)가 이미 있기 때문에, 오픈오피스나 자바를 풀어주는 것과 같이 중대한 공헌은 아닐 것입니다.

FB: 분기 같은 것을 계획하고 계십니까 또는 허드(Hurd)를 그의 커널로 교체할 생각이십니까?

RMS: 질문을 이해하지 못하겠습니다. 무엇이 분기(Fork)한다는 것인가요? 허드(Hurd)를 누구의 커널로 교체한다는 것입니까?

FB: 제 말은 허드 커널을 솔라리스 10 커널로 교체하는 것에 관한 것입니다 (물론 자유 소프트웨어라면 말입니다).

RMS: 가능하기는 하지만, 목적이 무엇인지 모르겠습니다. 이미 GNU 시스템과 아주 잘 작동하는 자유 커널이 있습니다--즉, 리눅스가 있습니다. 왜 리눅스를 솔라리스의 커널로 교체하고 싶어할까요?

FB: GNU가 허드(Hurd)를 개발하는 것과 똑 같은 이유겠지요?

RMS: 허드(Hurd)를 개발하기 시작할 시기에는 자유 커널이 전혀 없었습니다. 개발동기는 자유 커널을 확보하는 것이었습니다.

이제 리눅스라는 작동하는 자유 커널을 갖추었기 때문에, 허드를 개발하는 일은 이제 더 이상 중요하지 않습니다. 계속 허드 개발을 지속하는 이유는 두 가지입니다:

디자인이 더 강력하여 몇가지 장점을 제공해 줄 것입니다.
GNU 프로젝트에서 탄생한 GNU 커널이 될 것입니다.
이 두 가지 장점 어느 것도 솔라리스의 사용이라는 아이디어에는 적용되지 않습니다.

FB: 허드(Hurd) 개발의 현 상태는 어떻습니까?

RMS: 실행은 되지만, 신뢰성이 떨어집니다. 개발자들은 현재 천천히 일하고 있습니다. 비록 한 사람이 시간을 들여 작업하도록 자금을 대주고 있지만 말입니다. 개발자들이 내린 결론에 의하면 마하(Mach)가 마이크로커널로서는 신뢰성이 떨어지며 대신에 허드를 L4에 이식해야 한다고 합니다. 그러나 이렇게 하려면 상당부분 뜯어 고쳐야 합니다.

FB: 완전한 GNU/Hurd 그리고 GNU/Linux 사이에 어떤 유형의 경쟁이 있을까요?

RMS: GNU/Hurd가 믿을 만하게 실행되면, GNU/Linux와 함께 자유 운영 체제가 될 것입니다 (사람들이 거기에다 비자유 꾸러미를 추가하지만 않는다면 말입니다). 그래서 둘 사이의 선택은 순수히 실용적인 관점에서 선택될 것입니다. 나는 허드가 그의 골격구조로부터 더 강력한 파워를 제공해 주기를 바랍니다.

FB: 다음은 읽기에 좀 깁니다만 ...

허드와 리눅스에서 인용해 보면:

1990년대 허드를 개발하기 시작했을 때, 우리가 마주한 문제는 "GNU 시스템을 위하여 어떻게 자유 커널을 얻을 수 있을까?""하는 문제였다. 그때 자유롭지 못한 유닉스-류의 커널이 있었고, 커널을 작성하겠다는 별다른 계획이 없다고 알고 있었다. 자유 커널을 가지려면 유일한 방법은 우리가 직접 그 커널을 작성하는 것이었다. 그래서 우리는 시작하였다.

리눅스와 GNU 프로젝트에서 인용해 보면:

GNU 말고도, 다른 프로젝트 하나가 독립적으로 자유의 유닉스-류 운영 체제를 생산하였다. 이 시스템은 BSD라 알려져 있었고, 버클리(UC Berkeley) 대학에서 개발되었다. BSD 시스템은 80년대에는 자유가 아니었지만, 90년대 초반에는 자유가 되었다.

오픈 소스: 오픈 소스 혁명의 메아리에서 인용해 보면:

BSD가 최초로 작성한 네트워킹 코드와 지원 유틸리티가 Networking Release 1로서 1989년 6월에 배포되었다. 최초로 자유롭게-재배포할 수 있는 코드가 버클리(Berkeley)로부터 나왔다.

라이센스 조항은 자유로왔다(liberal). 라이센스에 의하면 수정되거나 그대로 소스 형태나 이진 형태로 버클리에 로얄티를 제공하거나 등록할 필요없이 코드를 배포할 수 있었다. 유일한 요구조건은 복사권 고지를 소스 파일에 그대로 남겨 두어야 한다는 것이다. 그리고 그 코드를 편입시킨 제품들은 문서에 캘리포니아 대학과 그의 공헌자들로부터 온 코드를 포함하고 있다는 사실을 적시하기만 하면 됬다. 허가를 얻으려면 버클리(Berkeley)에 의하여 $1,000의 비용이 부과되었지만, 이미 그 사본을 받은 사람에게 누구든지 자유롭게 사본을 얻을 수 있었다. 실제로, 여러 거대 사이트에서 배포되자 마자 바로 익명 ftp에 그것을 올렸다. 그렇게 쉽게 얻을 수 있었지만, CSRG는 수 백개의 조직에서 사본을 구입하여 주어서 기뻤다. 그들이 낸 비용이 개발에 박차를 가하는데 도움을 주었기 때문이다.

이런 글들을 읽으면서 무언가 이해할 수 없는 것을 발견했습니다: 1989년 6월에 이미 BSD를 자유 라이센스로 얻을 수 있었다면, 허드를 맨 밑바닥부터 작성하는 대신에 왜 BSD 커널로 시작하지 않으셨습니까? 똑 같은 문제가 1991년 리눅스 커널을 선택할 때에도 적용되는군요.


RMS: BSD에서 일부분만이 1989년 6월에 자유 라이센스로 가능했었습니다. 세심하게 무엇이라고 말했는지 살펴봅시다:

BSD가 최초로 작성한 네트워킹 코드와 지원 유틸리티가 1989년 6월에 Networking Release 1로 배포되었다.
"BSD가-처음 만든 네트워킹 코드"는 단지 커널의 일부일 뿐입니다.

FB: 그런 부분들에는 어떤 유형의 자유 라이센스를 사용하고 있습니까?

RMS: 원래의 BSD 라이센스였다고 생각합니다. 아마, BSD 4.4 이후의 라이센스라고 생각되지만, 확실하지는 않습니다.

FB: 그 BSD 라이센스로는 충분하지 않았습니까?

RMS: 이 라이센스는 자유 소프트웨어의 자격이 있지만, 모든 사용자의 자유를 보호해 주지는 않기 때문에 다른 자유 소프트웨어 라이센스만큼 좋지는 않습니다. BSD 라이센스는 중개상들이 소프트웨어를 독점으로 만들 수 있도록 허용하는데, 그 의미는 소프트웨어를 다른 사람들에게 나누어 주지만 자유는 주지 않을 수 있다는 뜻입니다.

FB: 왜 새로운 라이센스를 작성하기로 결정했습니까 (GPL 라이센스)?

RMS: 여기에서 오해가 있다고 생각합니다. 내가 GNU 라이센스를 개발하기로 결정한 것은 BSD 라이센스와 전혀 관계가 없습니다. BSD 라이센스는 GNU GPL 보다 늦게 사용되었습니다.

1985년이나 1986년에 나는 버클리(Berkeley CSRG) 사람들을 방문해서 그들에게 제발 그들의 작업을 AT&T Unix 코드와 분리시켜 달라고 요청했습니다. 그들에게 코드를 AT&T 라이센스만 가능하게 하지 말고 자유 소프트웨어로 배포해달라고 요청했습니다. 이렇게 한 이유는 BSD 코드를 GNU에 사용하고 싶었기 때문이었습니다.

FB: 당신은 자유 소프트웨어 운동의 창시자라고 알고 있습니다; 그렇지만, GPL이 부과하는 모든 제한점들에도 불구하고 자유를 어떻게 정의할 수 있는지 이해하지 못하겠습니다. 예를 들어 소프트웨어를 수정하면 그 소스 코드를 공개하여야 합니다. 그리고 반드시 똑 같은 GPL라이센스 하에 말이지요. 제 눈에는 BSD 라이센스가 사용자, 개발자, 그리고 사업가들에게 더 많은 자유를 주는 것으로 보입니다. 제가 틀렸습니까?

RMS: 이것은 사용자들이 네가지 자유를 확실하게 얻도록 해 주기 위한 것입니다. BSD 라이센스로는 이것을 확증할 수 없습니다. 그리하여 모든 사용자들이 이런 자유를 가지지는 못합니다.

BSD 라이센스들 (여러가지가 있음)은 더 많은 자유를 주지 못합니다. 그 라이센스를 이용할 수 있는 사람들에게 그들이 제공하는 것은 파워입니다: 다른 사람의 자유를 부인하는 파워말입니다. 그것은 좋지 못한 것입니다.

다음 페이지를 보시면 좀 더 설명이 될 겁니다.

FB: 첫 GPL 버전은 1989년 2월로 거슬러 올라갑니다. 두 번째 버전은 1991년 6월에 나왔지요. 왜 그렇습니까?

RMS: 구체적으로 무엇이 바뀌었는지 기억하지 못하지만, 두 버전을 비교해 보실 수 있습니다. 아주 구체적인 이유로 각각 수정을 가했습니다. 그것은 마치 한 프로그램의 1.2 버전을 배포하는 것과 비슷합니다: 버그를 발견하고, 그래서 고치는 거지요.

FB: 버전 3이 혹시 계획되어 있습니까?

RMS: 또다른 버전을 작업중이지만, 어떻게 해야 좋을지 모르는 곳이 여러 곳이 있습니다.

FB: 왜 GPL은 법률용어로 가득합니까?

RMS: GPL은 법률적 문서입니다. 그래서 법률용어로 작성되어 있습니다. 그렇지 않으면 효과가 없을 것입니다. 명료하고 깨끗하게 이런 조건들을 서술하도록 제가 아는 한 가장 단순한 단어들로 구성되어 있습니다.

FB: 2004년 10월 7일, 제프 머키(Jeff V. Merkey)는 다음과 같이 linux.kernel 메일링 리스트에 제안했습니다:

우리는 kernel.org에 미화 50,000 달러를 제공하고자 한다. 대신 원하는 것은 배포 번호로 구분된 각 리눅스 버전을 하나씩 스냅샷 한 각 리눅스 커널 소스에 대하여 한시적인 라이센스를 얻고자 한다. 이 제안은 **모든** 복사권 보유자들에 의하여 인정되어야 하고 그러면 뒤이어 이 스냅샷은 그 코드에 대하여 GPL 라이센스를 BSD 스타일 라이센스로 변환할 것이다. 다른 말로 하면, 우리가 요구하는 것은 kernel.org를 각 2.<짝수 번호> 배포본에 대하여 라이센스 하나당 50,000 달러에 스냅샷하고 그리고 모든 짝수 배포본을 사적으로 취할 수 있기를 바란다. 이렇게 되면 수정된 것을 돌려주지 않는 라이센스로 2.<짝수 번호>에 가해진 모든 수정사항이 특정한 배포본에 사용될 수 있다. 이 자금은 kernel.org에 지불될 것이며 모든 사람에게 승인되어야 한다.
이 제안에 관하여 어떻게 생각하십니까?


RMS: 사람들이 받아들인다면 웃음거리가 될 겁니다. 왜 그가 자유를 존중하지 않으면서 리눅스를 사용자들에게 제공하도록 그대로 두어야 합니까? 내가 리눅스에 공헌을 했다면, 단연코 그에게 안된다고 말할 것입니다. 그리고 그에게 사용자의 자유를 존중하라고 주장하겠습니다.

저는 리눅스의 어떤 부분도 작성하지 않았지만, 제가 개발해 온 프로그램에 관하여 한 일이 바로 사용자의 자유를 존중하는 것입니다.

FB: 어떤 개발자들은 즉시 그 제안을 거절했습니다. 그래서 BSD-라이센스의 리눅스 스냅샷(snapshot)을 볼 기회는 없는 듯합니다.

RMS: 잘 된겁니다!

FB: 그렇지만, 이 상황이 앞으로 바뀔지 의심스럽습니다; 어쨋거나, 리눅스는 이미 독점 소프트웨어를 사용하여 소스 코드를 관리하고 있습니다. 자유 소프트웨어 운동에 정말로 나쁜 예가 될 수 있습니다: 돈을 위해 자유를 넘겨주는 나쁜 예가 될 수 있습니다. 이런 일이 일어나지 않도록 하기 위하여 무슨 계획이 있습니까?

RMS: 미래를 알 수는 없지만, 이 번에 거부를 하는 사람은 계속해서 거부할 것이라고 짐작합니다.

리누스(Linus)는 이런식으로 비자유 소프트웨어를 사용함으로써 공동체에 대하여 널리 공개적으로 나쁜 선례를 남기고 있습니다. 저는 linux.kernel 리스트에서 그에게 비난을 퍼부었는데, 그렇게 문제를 제기하면 다른 프로젝트들이 이렇게 하지 못하도록 설득하는데 도움을 줄거라고 생각했습니다--그렇게 되면, 이런 예로 인한 해로운 효과들이 줄어들겠지요.

FSF는 리눅스에 관하여 더 이상 어떻게 할 수 없습니다. 우리는 그 특별한 프로그램의 개발에 관여하고 있지 않기 때문입니다.

FB: 오늘날 리눅스는 단순히 커널에 불과합니다. 그래서 여전히 우리는 그 OS의 다른 부분에 대해서 직접 통제합니다. 그 때문에 완벽한 OS를 위하여 그 이름을 GNU/Linux라고 합니다.

RMS: 그것은 GNU/Linux라는 이름이 뜻하는 바가 아닙니다; 그것과는 전혀 관계가 없습니다. GNU/Linux라는 이름은 시스템이 GNU로 시작했고, 리눅스가 추가되었다는 뜻입니다.

오늘날, 시스템은 수 천명의 개발자들에 의하여 개발된 수 천가지의 꾸러미가 포함됩니다. 그러나 그 바탕에는 여전히 리눅스가 추가된 GNU가 있습니다.

FB: 이렇게 설명해 주시니 감사드립니다. 이렇게 잘못된 생각을 가지고 있는 사람이 비단 저 뿐만은 아니라고 생각합니다. 데비안 프로젝트 홈페이지에 이렇게 언급되어 있기 때문입니다: "데비안은 리눅스 커널을 사용한다 (운영 시스템의 핵심). 그러나 기본 OS 도구들은 대부분 GNU 프로제트로부터 온다; 그러므로 그 이름이 GNU/Linux이다."

리눅스 토발즈(Linus Torvalds)가 한 GNU/Linux 배포본의 지도자가 되기로 결심할 수도 있다고 생각해 보신 적이 있습니까?


RMS: 아닙니다. 그는 늘 관심이 없다고 말했으니까요. 그렇게 하고 싶었다면, 물론 그럴 자격이 충분합니다. 누구든지 이렇게 할 수 있습니다.

FB: 오늘날 IT 산업에서 마법의 세계는 리눅스(Linux)입니다. 그리고 자유 소프트웨어와 오픈 소스의 사이의 의미에 그리고 리눅스와 GNU/Linux 사이의 의미에 오해가 많습니다. 그런 경우 GNU와 FSF가 인정과 영향력을 잃을 수도 있을지도 모른다고 걱정되지는 않습니까?

RMS: 두려움(fear)이란 단어가 약간 강하군요. 제가 느끼는 것은 실제 문제에 관한 염려입니다. 사람들이 과거 우리가 이룬 중요한 성과들을 다른 누군가에게 돌릴 때 GNU 프로젝트는 영향력을 잃습니다. 그리고 그렇게 되면 오늘날 우리가 하고 있는 일들의 효과가 반감됩니다.

수 천만의 사람들이 현재 자유를 요구하는 지속적인 운동으로 개발된 운영 체제를 사용합니다--컴퓨팅의 역사에서 독특한 것이지요--그리고 사람들은 그 사실을 알지 못합니다. 리눅스라는 이름은 자유를 목표로 만드는 일과는 전혀 연관되어 본 적이 없습니다; 자유를 목표로 한다는 아이디어는 GNU라는 이름에 연관되어 있습니다. 사람들이 그 시스템이 리눅스라고 생각할 때, 왜 그 시스템이 개발되었는지 그릇된 그림을 배우는 것입니다. 사람들은 그 시스템이 리눅스 토발즈(Linus Torvalds)에 의하여 개발되었다고 생각합니다. 그는 배우는 것을 즐기는 사람입니다.

즐김과 자유 모두 사람들에게 자유 소프트웨어를 개발하고자 하는 동기를 부여할 수 있습니다; 그 사실을 알고 있다면, 이런 동기 하나하나가 사람들을 고무시킬 수 있습니다. GNU/Linux의 사용자들이 알아 주었으면 하고 바라는 것은 이 시스템이 자유를 위하여 존재한다는 것입니다. 왜냐하면 그들 중의 누군가는 영감을 받아 우리의 자유를 수호하는 일에 참여하게 될 것이기 때문입니다. 세계에는 자유의 수호자들이 충분하지 못합니다.

FB: 말씀하셨듯이, "세계에는 자유의 수호자들이 충분하지" 못 합니다; 그렇지만, DistroWatch.com350여개가 넘는 GNU/Linux 배포본이 있습니다. 이것이 자원의 분산이라고 생각하시지는 않습니까?

RMS: 낭비가 있기는 하지만, 당신이 상상하는 것 만큼은 아닙니다. 이런 배포본들 중 많은, 아마도 대부분이 다른 배포본으로부터 파생되었을 것이고, 파생된 배포본을 유지관리하는 일은 그렇게 많은 품이 들지 않습니다.

FB: 애플(Apple)사의 다윈(Darwin)을 어떻게 평가하시겠습니까? 이는 독점 소프트웨어이면서 오픈 소스이지요?

RMS: 다윈(Darwin)은 현재로는 자유 소프트웨어입니다. 독점 소프트웨어가 아닙니다. (또한 오픈 소스이기도 합니다.)

그렇지만, 2 년전에 다윈(Darwin)에서 어떤 코드들은 다른 라이센스를 가지고 있었습니다. 오픈 소스 였지만, 자유 소프트웨어가 아니었습니다.

FB: 저는 과거 몇 년 동안의 운영 체제 시장을 살펴보고 있었습니다. 제 생각에는 Mac OS X는 배포될 때마다 그의 사용자들의 경험을 개선시켜주는 혁신이 계속 추가되는 반면에, 상업적인 (Red Hat, Mandrake, Novell/SuSE ...) GNU/Linux 배포본에는 이런 종류의 개선을 보지 못했습니다. 제가 보기에는 이런 거대 회사들이 단순히 다양한 외부 프로젝트의 결과를 함께 하나로 모아 최종 제품을 구축하는 듯 합니다. 그들은 리눅스 (커널!), GCC, 그리고 기타 GNU 유틸리티들, XFree/X.Org, KDE/Gnome, 등등을 취합니다. 사용자들은 위한 혁신은 어디에 있습니까?

RMS: 당신의 마지막 질문은 혁신은 우리가 원하는 것이고 자유는 지엽적이라는 가정을 전제로 합니다. 오히려 그 반대라고 생각합니다: 자유가 가장 중요하고, 혁신은 우리의 자유를 유지하는 한에서만 좋은 것입니다.

자유 소프트웨어가 혁신보다 더 중요한지는 스스로 물어본 적이 없습니다. 왜냐하면 제가 원하는 것은 자유이기 때문입니다. 자유 소프트웨어는 자유를 존중하는 소프트웨어입니다. 독점 소프트웨어는 사용자의 자유를 부인합니다. 독점 소프트웨어가 혁신적이라고 하더라도, 저는 그것을 사용하지 않겠습니다. 20년간 제 자신의 자유와, 여러분의 자유를 위하여 투쟁하였고, 오로지 편리함 때문에 자유를 포기하지는 않을 것입니다.

사람들의 자유를 존중한다면 혁신은 좋은 것이지만, 사람들이 자유를 포기하도록 꼬이기 위한 미끼라면 나쁜 것입니다.

FB: 이미 자유 소프트웨어를 배포하며 자유를 수호하고 있는 비즈니스 회사들에 관하여 이야기 했습니다. 그래서 자유가 이미 거기에 있습니다. 그들은 혁신을 이룰 수도 아닐 수도 있습니다. 그것은 비즈니스의 한 측면에 불과할 뿐입니다. 그들은 요란한 시장 광고돈을 쓰기를 더 선호할 수도 있습니다. 유일한 의구심은 GPL이 혁신에 방해물이 될 수도 있다는 것이었습니다.

RMS: GPL는 비자유의 수정을 금지합니다. GPL이 간섭하는 유일한 "혁신"은 비자유가 될 혁신입니다. 거기에 문제가 있습니까? 그렇지 않다고 봅니다. 프로그램이 비자유라면, 그것은 사회적 강건성에 대한 공격입니다. 그런 프로그램이 개발되는 것을 막을 수만 있다면 기쁩니다.

FB: 제가 들은 바로는 마이크로소프트사가 GPL이 사업상의 혁신을 죽인다고 주장하더군요.

RMS: GPL은 자유 소프트웨어의 자유를 보호하기 위하여 디자인되었습니다. 자유 소프트웨어를 수정한 버전도 역시 자유여야 한다고 주장합니다. 이는 마이크로소프트사가 좋아하지 않는 것입니다. 마이크로소프트사는 그들의 제품에 우리의 작업 성과를 사용하는 것이 당연하다고 생각합니다--그 제품들이 독점적이라고 할지라도 말입니다.

마이크로소프트사는 자사의 코드를 자유 프로그램에 사용하도록 허용하지 않지만, 우리의 자유 프로그램은 그들의 프로그램에 사용하도록 허용할 의무가 있다고 생각합니다. 마이크로소프트사는 "내건 내거고, 네건 내거다"라고 주장합니다.

그러나 우리가 사용자의 자유를 보호한다고 해서 어떤 혁신을 막을까요? 어쩌면 그럴 수도 있습니다. 우리의 자유를 희생하고서 혁신이 일어나야 한다면, GPL은 그것을 거부합니다. 그것이 나쁜 것입니까? 그것은 여러분이 무엇을 소중하게 여기는가에 달려 있습니다.

여러분 모두가 혁신에 가치를 둔다면, 그리고 자유에 가치를 두지 않는다면, GPL이 사용자의 자유를 굳건하게 보호하는 것이 나쁜 것이라고 생각할 수도 있습니다. 반면에 자유를 소중하게 여긴다면, 유혹적인 혁신을 미끼로 삼아 사용자들이 자유를 포기하도록 만드는 비양심적인 소프트웨어 개발자들을 GPL이 막아주는 것을 기쁘게 여길 것입니다.

저는 자유를 지키기로 결심했기 때문에, 비자유 소프트웨어를 사용하지 않습니다. 그래서 여러분의 혁신이 비자유 소프트웨어라면, 제발 그것을 작성하지 마세요. 다른 일을 하세요. 사용자의 자유를 부인하지 않는 것을 작성하세요.

FB: 마이크로소프트사의 CEO 스티브 발머(Steve Ballmer)는 "약 3년 전에, 우리는 소프트웨어 보안을 최고의 우선순위로 결정했다"라고 말했습니다. 소프트웨어 보안이 GNU의 근본적인 목표입니까?

RMS: 그렇게는 말하지 않겠지만, 안전하게 만들도록 노력하고 있습니다.

FB: 왜 아직 GCC에 메모리 보호 테크놀로지 (PDF)가 포함되지 않았습니까?

RMS: GCC 개발자들에게 이런 방법들을 한 번 살펴 보고 GCC에 이 방법들을 설치하는 것이 가능한지 나에게 보고해주도록 요청하겠습니다.

FB: 제가 당신에게 보낸 글을 읽어 본 후에, 당신과 GCC 개발자들은 무엇을 하기로 계획하셨습니까?

RMS: GCC 개발자들은 지금 ProPolice를 작성하는 사람들과 함께 작업할 준비를 하고 있습니다. 모쪼록 ProPolice를 설치하는 결과를 기대하지만, 시간이 좀 걸리겠지요.

FB: GNU 프로젝트는 표준을 인정하고 받아들입니까? 예를 들어 IEEE 표준 그리고 사실상의 표준들을 준수하십니까?

RMS: 그렇게 해서 사용자들에게 유익하면 모든 표준을 준수합니다. 그렇지만, 그것들을 절대적인 권위로 취급하지는 않습니다. 그저 제안으로 받아들일 뿐입니다. 표준에서 떨어지는 것이 사용자들에게 더 편리하다면, 그렇게 합니다.

예를 들면, C 표준은 표준의 구문 규칙에 맞지 않는 온갖 종류의 입력에 대하여 컴파일러가 진단 결과를 인쇄하기를 "요구합니다". GCC는 표준의 구문 규칙에 맞지 않는 경우에도 의미를 부여하는 다양한 C 확장이 있습니다. 그런 확장을 사용할 때 GCC는 아무런 진단결과를 인쇄하지 않습니다. 그러므로 이것은 표준과 어긋납니다.

모든 표준 C 프로그램을 제대로 컴파일하기 위하여, 나는 --ansi라고 부르는 옵션을 추가하여 구문 확장을 끌 수 있도록 했습니다. 그러나 그렇게 하더라도 표준이 요구하는 모든 경우에 맞게 에러 메시지를 인쇄하지는 않습니다. 그래서 --pedantic 옵션도 추가했습니다. 표준이 요구하는 행위를 얻으려면, --pedantic --ansi 옵션을 사용하면 됩니다.

--pedantic을 사용해야 할 이유가 전혀 없다고 봅니다; 그렇지 않으면 "이건 진정한 ANSI C 컴파일러가 아니야!"라고 주장할 현학자들을 만족시키기 위해 두었을 뿐입니다.

환경 변수 POSIXLY_CORRECT를 설정하지 않는 한, df와 du 같이 어떤 GNU 유틸리티들은 POSIX 규격을 따르지 않습니다. 보통 GNU df와 du 유틸리티는 디스크 용량을 k 단위로 인쇄합니다. POSIX는 디스크 용량을 512 바이트 단위로 인쇄하라고 주장합니다. POSIXLY_CORRECT를 설정하면, GNU df와 du는 그렇게 합니다. (원래 계획은 POSIX_ME_HARDER라고 이름지을 생각이었습니다.) POSIXLY_CORRECT라고 설정할 사용자는 거의 없으리라 짐작합니다.

사용자가 이런 (또는 다른 어떤 것도) 결정을 좋아하지 않는다면, 자유롭게 바꿀 수 있습니다.

주 1) RMS의 사용법을 존중하여, "보통 사용되는" 리눅스는 "GNU/Linux"로 표기되고 있으며 "이 글에서 사용되는" 리눅스는 "리눅스커널"이라는 의미로 쓰였다.

주 2) 개발자로부터의 (소극적인) 해방의 자유 그리고 사용자의 (적극적인) 선택의 자유로 크게 구별할 수 있다 .
TAG :
댓글 입력
자료실