This translation may not reflect the changes made since 2021-07-21 in the English original.

You should take a look at those changes. Please see the Translations README for information on maintaining translations of this article.

카피레프트: 실용적인 이상주의

글: 리처드 스톨먼

인간의 의사는 그 사람의 가치나 목적에 의해서 결정되고 사람들의 삶의 가치 기준이나 목표는 다르기 마련입니다. 명예, 돈, 사랑, 생존, 즐거움, 자유 등은 선량한 사람들이 취할 수 있는 목표들이며 그것이 자신뿐 아니라 다른 사람에게도 도움이 되는 것이라면 이상적인 것이라고 말할 수 있을 것입니다.

자유 소프트웨어에 대한 저의 일은 자유와 협력을 널리 퍼트리기 위한 이상주의적인 목표에 의해 시작되었습니다. 저는 협력을 허용하지 않는 독점 소프트웨어보다 자유 소프트웨어가 널리 퍼져서 이 사회가 보다 좋은 곳이 되기를 희망합니다.

이것이 GPL이 카피레프트로 만들어진 근본적인 이유입니다. GPL 프로그램에 추가되는 모든 코드는, 비록 그것이 별도의 파일로 존재한다고 하더라도 자유 소프트웨어가 되어야 합니다. 저는 다른 사람들이 자유 소프트웨어를 만드는데 도움이 되게 하기 위해서 제가 만든 코드들을 자유 소프트웨어로 만들었습니다. 독점 소프트웨어 개발자들이 그들의 프로그램을 무료로 사용하거나 공유하지 못하도록 저작권을 사용하듯이, 우리 자유 소프트웨어 개발자들도 저작권을 사용해서 서로가 프로그램을 공유하거나 소스 코드를 활용하도록 할 수 있는 것입니다.

GPL을 이용하는 모든 사람이 이러한 목적을 갖고 있는 것은 아닙니다. 오래 전에 제 친구는 카피레프트 프로그램을 카피레프트가 아닌 조건으로 배포하도록 요청 받은 적이 있습니다. 그 친구는 아마 다음과 같이 요지의 말을 했던 것으로 기억됩니다.

“때때로 나는 자유 소프트웨어를 만들 때도 있고 독점 소프트웨어를 만들 때도 있지만, 독점 소프트웨어를 만들 때는 그만한 대가를 기대하고 만든다.”

그는 소프트웨어를 공유하는 공동체와는 그의 소프트웨어를 함께 나누고자 했지만, 공동체에 도움이 되지 않는 상업 제품에는 그의 소프트웨어가 이용되는 것을 원하지 않았습니다. 그의 생각은 제 생각과 달랐지만 그 역시 GNU GPL이 그의 목적을 위해서 유용하다고 생각했습니다.

만약, 여러분이 이 세상에서 무언인가를 이루려고 한다면 이상만으로는 부족하며, 이상과 목적을 이룰 수 있는 수단과 방법을 선택해야만 합니다. 요컨대, 실용적인 것이 필요하다는 것입니다. 그렇다면 GNU GPL이 과연 실용적인지 그 결과를 한번 생각해 봅시다.

GNU C++의 경우를 생각해 봅시다. 우리가 어떻게 자유롭게 사용할 수 있는 C++ 컴파일러를 가질 수 있게 되었을까요? 그것은 GNU GPL이 그것이 자유 소프트웨어가 되어야 한다고 규정하고 있기 때문입니다. GNU C 컴파일러에서부터 시작된 GNU C++ 컴파일러는 기업 컨소시움인 MCC에 의해서 개발되었습니다. MCC는 가능한 모든 부분을 독점적으로 만들려고 했지만, 결국 그들은 C++ 프론트 엔드를 자유 소프트웨어로 만들었습니다. 왜냐하면 그 방법만이 GPL하에서 그들이 C++를 배포할 수 있는 유일한 방법이었기 때문입니다. C++ 프론트 엔드에는 새로운 많은 파일들이 추가되었지만, 그것들을 GCC와 연동시키기 위해서는 GPL에 규정된 대로 C++ 프론트 엔드 또한 자유 소프트웨어가 되지 않으면 안됩니다. GPL을 통해서 공동체가 얻을 수 있는 이익이 입증된 것입니다.

GNU Objective C의 경우도 있습니다. NeXT사는 처음에 이 프론트 엔드를 상업용으로을 만들려고 했습니다. 그들은 이것을 .o 파일의 형식으로 발표하고 사용자들이 GCC와 연결하도록 제안했습니다. 그들은 이것이 GPL의 요구에 맞는 방법이라고 생각했습니다. 그러나, 우리 변호사는 GPL하에서 그것이 허용되지 않는 것이라고 했습니다. 그래서 그들은 Objective C 프론트 엔드를 자유 소프트웨어로 만들었습니다.

이와같은 예는 몇년 전의 일들이지만, GNU GPL은 우리에게 더 많은 자유 소프트웨어를 계 속해서 가져다 주고 있습니다.

전부는 아니지만, 많은 GNU 라이브러리에는 LGPL이 적용됩니다. LGPL이 아니라 GPL이 적용되는 라이브러리 중에 명령행 편집 기능을 제공하는 Readline이 있습니다. 한달쯤 전에 저는 Readline을 이용하도록 만들어진 자유 소프트웨어가 아닌 소프트웨어에 대해서 알게 되었고, 그 프로그램의 개발자에게 그것은 허용되지 않는다고 얘기한 적이 있습니다. 그 개발자는 자신의 프로그램에서 명령행 편집 기능을 제거했을 수도 있었겠지만, Readline 기능을 없애기 않기 위해서 그 프로그램을 GPL로 공개했습니다. 그 프로그램은 이제 자유 소프트웨어 입니다.

GCC나 Emacs, Bash, 리눅스와 같은 GPL 프로그램들을 개선하고자 하는 프로그래머들은 종종 기업이나 대학에 고용됩니다. 프로그래머가 자신이 개선한 프로그램을 공동체에 되돌리려 하면, 사장은 “잠깐 기다려, 그것은 우리에게 속한 것이야. 우리는 그것을 나누어 쓰기를 원하 지 않아. 그것을 독점 소프트웨어 제품에 포함시키기로 결정했네.”라고 말할 수도 있을 것입니다.

이러한 경우에도 GPL은 도움이 될 수 있습니다. 개발자는 사장에게 그것은 GPL을 위반하는 것이라고 알려줄 수 있습니다. 사장에게는 그 제품을 자유 소프트웨어로 발표하거나 아니면 포기하는 두가지 선택 밖에 할 수 없습니다. 거의 대부분 경우, 사장은 개발자가 원하는 방식을 수용하기 때문에 개발자는 자신이 원하는 대로 할 수 있으며, 새롭게 만들어진 개선 사항들은 공동체로 환원되어 다음번 배포때 포함될 수 있습니다.

그러나 GNU GPL이 천사표는 아닙니다. GPL은 이따금씩 사람들이 원하는 일에 “NO”라고 말합니다. 예를 들면, 어떤 사람은 GPL이 자유 소프트웨어 개발에 필요한 독점 프로그램 개발자들을 공동체에서 제외시키고 있다고 말하기도 합니다.

하지만 우리는 그들은 제외시킨 적이 없습니다. 그들이 공동체 안으로 들어오려고 하지 않을 뿐입니다. 그들이 독점 소프트웨어를 만드는 것은 우리 공동체 안으로 들어 오지 않겠다는 의사 표현인 것입니다. 공동체의 일원이 된다는 것은 우리와 함께 협력에 동참한다는 것을 의미합니다. 그러나 그들이 원하지 않는데도 불구하고 우리가 그들을 공동체 안으로 끌고 올 수는 없는 노릇입니다.

우리가 할 수 있는 것은 그들이 우리와 함께하기를 권유하는 것입니다. GPL은 지금 있는 자유 소프트웨어를 이용해서 충분히 자유 소프트웨어를 만드는 동기를 부여할 수 있습니다. “자유 소프트웨어를 만들 생각이라면 이 코드들을 사용할 수 있습니다.”라고 GPL은 현존하는 자유 소프트웨어들을 이용해서 공동체에 동참하도록 권유할 수 있습니다. 뮬론, 이러한 방법이 항상 유효한 것은 아니지만 때때로 성공적입니다.

독점 소프트웨어의 개발은 우리 공동체에 아무런 도움도 되지 않습니다. 그러나 독점 소프트웨어 개발자들은 종종 우리에게 도움을 요청합니다. 자유 소프트웨어 개발자가 사용자들로부터 감사와 인정을 받을 수도 있지만, “당신의 프로그램을 상업용으로 만듭시다. 그러면 그 프로그램을 수많은 사람들이 사용할 것입니다.”라는 말은 인기와 명성이라는 측면에서 볼때 상당히 유혹적일 수 있습니다. 그러나 결국에는 그러한 유혹을 거절하는 것이 모두에게 좋은 길입니다.

독점 소프트웨어에 부합하는 정책을 수용하는 자유 소프트웨어 단체를 통하여 간접적으로 나타나는 이러한 유혹이나 압력은 알아 차리기가 매우 어렵습니다. 독점 소프트웨어 기업들의 기금 출연으로 만들어진 X 컨소시움(현재의 오픈 그룹)이 바로 이러한 예가 될 수 있습니다. 이 단체는 지난 십여년간 카피레프트를 사용하지 못하도록 프로그래머들을 설득하는데 노력해 왔습니다. 오픈 그룹은 X11R6.4를 GNU가 정의하는 자유 소프트웨어로 만들지 않았기 때문에, 인기라는 압력에 저항해 왔던 사람들은 우리가 취해왔던 입장에 더욱 호의를 갖게 되었습니다.

X11R6.4가 자유 소프트웨어가 아닌 형식으로 발표된 1998년 9월 이후의 몇달 후에 오픈 그룹은 입장을 철회해서 X11R6.3 때와 같이 카프레프트가 아닌 자유 소프트웨어로 X11R6.4를 재배포하기 시작했습니다. 오픈 그룹에 감사의 뜻을 표합니다. 그러나 이러한 입장 철회가 제한을 추가하는 것이 가능하다는 오픈 그룹의 결정으로부터 우리가 내린 결론을 무효화하는 것은 아닙니다.

실용주의적인 관점에서 얘기한다면, 장기적인 안목을 갖고 생각을 하는 것이 결국 이러한 압력을 극복하는 힘을 길러줄 수 있을 것입니다. 확고한 신념으로 이룩할 수 있는 자유와 공동체에 여러분의 초점을 맞춘다면 유혹과 압력을 이겨낼 수 있는 힘을 얻을 수 있을 것입니다. 이겨내기 위해서 싸우지 않으면, 헛되이 무너질 뿐입니다.

그리고 냉소주의자들이 이익만이 유일한 이상이라며 자유와 우리 공동체에 대해서 비웃는다고 해도, 무시하고 항상 카피레프트를 사용해야 합니다.


이 글은 ‘자유 소프트웨어, 자유 사회: 리처드 M. 스톨먼 저작선집’에 포함되어 출판되었습니다.