인간의 의사는 그 사람의 가치나 목적에 의해 결정되어진다. 사람들의 삶의 가치기준이나 목표는 다르기 마련이다. 명예, 돈, 사랑, 생존, 즐거움, 자유등이 선량한 사람들이 취할수 있는 목표들이다. 그 목표가 남을 나처럼 돕는 이상적이라 하겠다. Free software 대한 나의 일은 이상주의적인 목표-자유와 협력을 널리 퍼뜨리는 것-에 의 해 동기부여되었다. 협력을 허용하지않는 상용 소프트웨어 보다 프리 소프트웨어가 널리 퍼 지기를 바란다.
이것이 GNU Genaral Public Licence가 왜 무료 공개 소프트웨어로 만들어 졌는가 하는 근본 이유이다. GPL로 된 프로그램에 덧붙여진 모든 코드는 자유 소프트웨어이여야 한다. 이것이 분리된 파일에 넣어지더라도. 나는 자유 소프트웨어를 만드는 사람들에게 도움이 되게 하기위해 나의 코드를 역시 자유 소프트웨어로 만든다. 상용 프로그램 개발자들이 그들의 프로그램을 무료로 사용하고 공유하지 못하도록 저작권을 사용하듯이 우리 자유 소프트웨어 개발자들도 마찬가지로 저작권을 사용해서 프로그램을 공유하거나 서로 이용할 수 있다.
GNU GPL를 이용하는 모든 이들이 이러한 목적을 가지고 있는 것은 아니다. 오래전에 나의 친구는 공개되어 있지 않은 프래그램을 공개하도록 요청을 받은적이 있다. 친구는 아마 다음과 같이 말을 했었던 것 같다.
" 때때로 나는 자유 소프트웨어를 만들때도 있고 상용 프로그램도 만들지만 상용 프로그램을 만 들때는 그만한 대가를 기대하고 만든다. "
그는 소프트웨어를 공유하는 사람들과 그의 일을 함께 나누고자 했다. 그러나 우리가 접할 수 없는 상용 프로그램에 그의 프로그램이 사용되는 것을 이해하지 못했다. 그의 생각은 나와 달랐지만 그 역시 GNU GPL이 그의 생각과 부합된다고 생각했다.
만약 당신이 이 세상에 무언가 이룰려고 한다면 이상만으로는 부족하다. 이상과 목적을 이룰 만한 수단과 방법을 강구해야 한다. 요컨대, 실용적이 되어야 한다. GNU / GPL 이 실용적인가? 결과를 한번 생각해 보자.
GNU c++를 한번 보자. 왜 우린 자유롭게 사용할 수 있는 C++ 를 가지고 있는가? 단지 GNU GPL 이 무료이어야 한다고 했기 때문인가? GNU C 컴파일러에서 출발한 GNU C++ 컴파일러는 MCC에 의해 개발되었다. MCC는 이를 상업용으로 만들었으나 C++를 전처리(front-end) 소프트웨어로 만들었다. GNU GPL 그들이 그것을 발표할 수 있는 유일한 방법이라고 했기 때문에. C++ front-end는 새로운 많은 파일을 포함하고 있었지만, GCC에 연결되기를 원했기 때 문에 GPL이 지원을 했다. 그 이익은 상당한 것이다.
GNU Objective C. NeXT사가 처음엔 이것을 상업용을 만들려고 했었다. 그들은 .o 파일의 형식으로 발표하고자 제의했고 사용자들을 GCC의 나머지 부분에 연결하도록 하려 했다. 이것이 GPL의 요구에 맞는 방향이라고 생각했기 때문에. 하지만 우리 변호사는 그 요구는 피할 수 없고 허용되지 않는다고 했다. 그래서 그들은 Objective C 를 자유 소프트웨어로 만들었다.
이와같은 예는 몇 년전에 일어났지만 GNU GPL은 우리에게 더 많은 자유 소프트웨어를 계속 가져다 주고 있다.
많은 GNU 라이브러리들은 GNU Library General Public License에 포함되지만 전부는 아니다. GNU GPL에 포함되는 GNU Library의 하나는 명령행을 편집할 수 있게 하는 Readline이다. 한달 전, 나는 Readline를 사용할 수 있게 설계된 상용 소프트웨어웨에 대해 알게 되어서 그 프로그래머에게 그것은 허용된것이 아니라고 하였다. 결국 그는 그 프로그램에서 명령행 편집 기능(command-line editing)을 제거했을 것이라고 생각될 것이다. 그러나 사실 그가 한 것은 GPL 하에서 재발표를 한것이었다. 지금은 자유 소프트웨어이다.
GCC(또는 Emacs, Bash, Linux, GPL 프로그램들)을 개선하고자 하는 프로그래머는 종종 기업이나 대학에 고용된다. 프로그래머가 그가 개선한 프로그램을 사회에 되돌리려 하면 사장은 "잠깐 기다려, 그것은 우리에게 속한 것이야. 우리는 그것을 나누어 쓰기를 원하지 않아. 그것을 상업적으로 사용하기로 결정했네" 라고 말한다.
GNU GPL 이 도움이 될 수 있다. 프로그래머는 사장에게 이것은 저작권 침해라고 알려주고 사장은 두 가지 선택밖에 없다. 자유 소프트웨어로 발표하거나 않거나. 하지만 거의 대부분 프로그래머가 원하는 대로 한다. 그리고 코드는 다음 버전이 발표된다.
GNU GPL가 천사표는 아니다. 사람들이 이따금 하고자 하는 일에 'no'라고 말한다. GPL 이 자유 소프트웨어 개발에 필요한 상용 프로그램 개발자를 제외시키는 것은 유감스런 일이라고 말하는 사용자도 있다.
하지만 우린 그들은 제외시킨적이 없다. 그들이 들어오려 하지 않을 뿐이다. 그들이 상업용 코드를 만드는 것은 그들이 우리 사회에 들어 오지 않겠다는 의사 표현이다. 우리 사회의 일원이라 함은 우리와 함께 작업함을 의미한다. 그들이 원하지 않는다면 우리는 도리가 없는 것이다.
우리가 할 수있는 것은 그들에게 권유하는 것 뿐이다. GNU GPL은 지금있는 자유 소프트웨어로 충분히 자유 소프트웨어를 만드는 동기를 부여할 수 있다. "당신의 프로그램을 자유 소프트웨어로 만든다면 당신은 이 코드를 사용할 수 있습니다." 물론, 늘 그럴 수는 없지만 상당 기간 할 수있다.
상용 프로그램 개발자는 우리 사회에 도움은 되지 않고 우리에게서 바라기만 한다. 자유 소프트웨어 사용자는 개발자에게 그 노력에 대한 감사의 말을 전할 수 있다. 그러나 비즈니스맨이 이런 말을 할땐 상당히 유혹적일 수 있다. "당신의 프로그램을 상업용으로 만듭시다. 그러면 당신의 프로그램은 수많은 사람들이 사용할 것입니다." 이것은 강력한 유혹이 아닐 수 없다. 그러나 결국에는 거절하는 것이 바람직하다.
상업용 소프트웨어에 부합하는 정책을 수용하는 자유 소프트웨어 단체를 통하여 간접적으로 이런 접근하는 이런 유혹이나 압력은 알아차리기 매우 어렵다. X 컨소시움(현재의 Open Group) - 상용 프로그램을 만드는 회사에 의해 설립된- 이 이러한 예다. 그 들은 십여년간 프로그래머에게 이런 무료 공개 프로그램을 사용하지 못하도록 하는데 노력 하여 왔다. Open Group이 X11R6.4 (카피 레프티드 소스트웨어)를 만들었지만 이 압력을 이겨낸 우 린 우리의 행동에 대해 만족해 한다.
실질적으로 장기적인 안목이 여러분이 이런 압력을 이겨내는데 결정적인 역할을 할 것이다. 당신이 이런 확고한 신념으로 이룩할 수 있는 자유와 사회에 초점을 맞춘다면 그것을 이겨낼 힘을 얻을 수 있을 것이다.
"이겨내십시오"
그리고 냉소주의자가 자유와 우리의 사회에 대해 비웃거든 ..... 현실주의자들이("hard nosed realists") '이득이란 것이 유일한 이상이다'라고 할 때..... 무시하십시오. 그리고 계속 늘 카피레프트를 이용하십시오.
저작권과 사용 허가에 대한 본 사항이 명시되는 한, 어떠한 정보 매체에 의한 본문의 전재나 발췌도 허용되며 상업적 이용을 포함할 수 있는 지속적인 배포에 따른 사용상의 모든 권리는 문서의 취득자에게 조건없이 양도된다. 단, 원문에 대한 수정과 첨삭은 허용되지 않는다.
Copyright (C) 1996, 1997 Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA