This translation may not reflect the changes made since 2001-06-13 in the English original.

Please see the Translations README for information on maintaining translations of this article.

왜 자유 소프트웨어가 오픈 소스보다 좋은가?

이 글의 업데이트된 문서가 있습니다. 새로운 글을 함께 읽어 주세요.

몇몇 자유 소프트웨어 개발자들은 “자유 소프트웨어”라는 용어 대신 “오픈 소스 소프트웨어”라는 용어를 사용하기 시작했습니다. 자유 소프트웨어가 다른 이름으로 지칭된다고 해도 여러분에게 똑같은 자유를 주겠지만, 사용하는 이름에 따라서 의미상의 큰 차이를 만들게 됩니다. 왜냐하면 다른 단어의 사용은 다른 의미를 전달하기 때문입니다.

이 글은 왜 “오픈 소스”라는 용어의 사용이 어떠한 문제들도 해결하지 못하며 오히려 문제를 발생시킬 수 있는지에 대해서 설명합니다. 또한, “자유 소프트웨어”라는 용어의 사용을 고수하는 것이 더욱 바람직한 이유들을 설명합니다.

자유 소프트웨어 운동과 오픈 소스 운동과의 관계

자유 소프트웨어 운동과 오픈 소스 운동은 공동체에 있어서 두 개의 정당과도 같습니다.

급진 세력은 흔히 파벌 주의로 여겨집니다. 전략상의 차이로 인해서 조직이 갈라지고, 서로를 미워하게 됩니다. 그들은 기본 원칙에는 동의하지만 현실적인 방안에 대해서는 의견을 달리하기 때문에 서로를 적으로 생각하고 심하게 싸웁니다.

그러나 자유 소프트웨어 운동과 오픈 소스 운동은 정반대의 양상을 갖고 있다고 할 수 있습니다. 우리는 기본 원칙에 대해서 의견을 달리하지만, 모든 현실적인 방안에 대해서는 같은 생각을 갖고 있습니다. 우리는 많은 세부적인 프로젝트에서 같이 협력하고 있습니다. 자유 소프트웨어 운동에 있어서 우리는 오픈 소스 운동을 적이라고 생각하지 않습니다. 우리의 적은 독점 소프트웨어입니다. 그렇지만 우리는 공동체의 일원들이 자유 소프트웨어와 오픈 소스 소프트웨어가 동일한 것이 아니라는 사실을 명확히 인식하기를 진심으로 바랍니다!

따라서 여러분이 GNU/Linux 운영체제와 같이 우리가 개발한 소프트웨어나 우리가 추진해 왔던 일들에 대해서 얘기할 때는 그것이 자유 소프트웨어 운동에 대한 것이라는 사실을 잊지말고 언급해 주기를 바랍니다.

의미의 모호성

“자유 소프트웨어”라는 용어는 모호성의 문제를 가지고 있습니다. 본래 의도했던 “사용자에게 어떤 자유(自由, freedom)를 선사하는 소프트웨어”라는 의미 뿐만 아니라, 의도했던 바가 아닌 “무료(無料, zero price)로 얻을 수 있는 소프트웨어”라는 의미도 갖고 있습니다. 우리는 이 문제를 자유 소프트웨어란 무엇인가라는 글에 설명해 놓았지만, 이것이 완벽한 해결책은 아닙니다. 즉, 이 문제는 결코 완벽하게 해결될 수 없습니다. 모호성을 최대한 없앤 용어를 사용하는 것이 최선의 방법입니다.

그러나 아직 그 누구도 영어에서의 “자유 소프트웨어(free software)”라는 말을 대체할 수 있는, 명확한 의미의 용어를 찾지 못했습니다 (프랑스어, 스페인어 또는 한국어, 일본어 등 몇몇 언어들은 명확한 의미를 표현할 수 있는 방법이 존재합니다.) “자유 소프트웨어”라는 말을 대체할 수 있다고 제안된 모든 용어들 역시의미상의 문제를 갖고 있거나 오히려 더욱 큰 문제를 갖고 있습니다. 바로 여기에 “오픈 소스 소프트웨어”가 포함됩니다. “자유 소프트웨어”는 여러가지 의미를 가질 수 있지만, 그 중에서 의도하지 않은 것은 “무료”라는 단지 한가지 의미 뿐입니다. 그러나 “오픈 소스 소프트웨어”는 용어 자체에 하나의 의미만이 내포되어 있으며 그것은 우리가 의도하지 않는 것입니다.

“오픈 소스 소프트웨어”는 “자유 소프트웨어”와 흡사하지만 완전히 동일하지는 않은소프트웨어 라이센스의 한 종류입니다. “오픈 소스 소프트웨어”의 명확한 의미는 “소스 코드를 들여다 볼 수 있다”는 것입니다. 이는 “자유 소프트웨어”가 의미하는 기준에 훨씬 못 미칩니다. 즉, “오픈 소스 소프트웨어”에는 자유 소프트웨어가 포함되지만, 그 뿐만 아니라 Xv와 이전의 Qt와 같은 독점 소프트웨어와 포함됩니다.

“오픈 소스”의 정확한 의미는 그것을 옹호하는 사람들이 의도하는 바와 다릅니다. (“오픈소스”의 “공식적인” 정의는 “자유 소프트웨어”에 더 가깝습니다.) 그 결과 사람들은 종종 “오픈 소스”라는 말을 잘못 이해하게 되었습니다. 이는 물론 “오픈 소스”에 대한 정확한 정의를 담고 있는 문서를 통해 바로 잡을 수 있습니다. “오픈 소스 소프트웨어”라는 말을 사용하는 사람들은 이미 우리가 했던 것처럼 오픈 소스라는 말에 대한 정확한 정의를 기술해 두었습니다. 그러나 이러한 방법은 부분적인 효과만을 가집니다. 우리는 “자유 소프트웨어”라는 말이 무료라는 뜻보다는 더 중요한 “근본적인 자유”의 뜻을 의도하고 있다고 사람들에게 알려야 합니다. 또한 오픈 소스의 경우에는, “오픈 소스”라는 말 자체가 적합하지 않다는 사실을 알려주어야 합니다.

개인의 경우에도 용어를 잘못 이해하고 있는 경우가 빈번합니다. 니엘 스테펜슨(Neal Stephenson)은 “오픈 소스”를 다음과 같이 정의하며 글을 쓴 적이 있습니다.

리눅스는 “오픈 소스” 소프트웨어이다. 간단히 말해 누구든지 소스 코드 파일의 복제본을 얻을 수 있다는 뜻이다.

저는 그가 오픈 소스의 “공식적인” 정의에 대해서 반박하거나 논쟁하려고 신중하게 노력하지 않았다고 생각합니다. 그는 단순히 영어 단어 자체의 의미를 적용시킨 것이고, 따라서 자연스럽게 그러한 결론을 내린 것입니다.

자유의 두려움

“오픈 소스 소프트웨어”의 주된 논거는 “자유 소프트웨어”가 사람들을 불편하게 한다는 점입니다. 그 말은 사실입니다. 자유, 윤리적인 주제, 책임감 그리고 편의성에 대해서 논하는 것은, 일반적인 상황에서 무시할 수 있는 사항들에 대한 보다 깊은 생각을 요구하기 때문입니다. 이러한 점이 사람들을 불편하게 만들 수 있으며, 어떤 사람들은 그러한 주제를 고려하는 자체를 거부할 수도 있을 것입니다. 그러나 우리가 그러한 주제에 대해 논의하는 것을 멈추면 사회가 더욱 나아질거라고 여기는 것은 이치에 맞지 않습니다.

수 년전에 자유 소프트웨어 개발자들은 사람들의 이러한 불편한 반응에 주목하였으며, 그 중 몇몇은 이를 해결하기 위한 방법을 모색하기 시작했습니다. 그들은 윤리와 자유의 문제에 대해서는 언급하지 않고, 특정한 자유 소프트웨어를 사용함으로써 사용자들, 특히 사업을 하는 사람들이 실질적인 이익을 얻을 수 있다는 것에 대해서 이야기함으로써 소프트웨어를 더욱 효과적으로 “판매”할 수 있다고 판단했습니다.“오픈 소스”라는 용어는 이와 동일한 목적으로 사용되었으며, 오히려 “사업적인 측면에서 더 적합한” 방법으로 사용되었습니다.

이러한 접근 방법은 “오픈 소스”라는 말이 가진 원래의 의도를 사람들에게 효과적으로 전달할 수 있었습니다. 오늘날 많은 사람들이 순전히 실리적인 이유로 인해서 자유 소프트웨어로 전환하고 있습니다. 이러한 일이 지속되는 한 그것은 좋은 일이긴 하지만, 그것이 우리가 원하는 전부는 아닙니다. 사용자를 자유 소프트웨어로 끌어 들이는 것은 전부가 아니라 단지 시작에 불과합니다.

머지않아 이러한 사용자들은 몇가지 실질적인 이득을 얻을 수 있다는 이유 때문에 독점 소프트웨어에 관심을 갖게 될 것입니다. 무수히 많은 회사들이 그처럼 유혹하려고 노력하는데,사용자들이 어찌 넘어가지 않을 수 있겠습니까? 우리는 다만 그들이 자유 소프트웨어가 제공하는 본연의 목적인 자유의 가치를 배웠기를 바라지만 말입니다. 이러한 사상을 전파하는 것은 우리의 몫이며, 그러기 위해서 우리는 자유에 대해 이야기 해야만 합니다. 사업상 어느 정도 “침묵”을 지키는 것이 공동체에 유용할 수 있다 하더라도, 우리는 반드시 자유에 대해서 많은 얘기를 해야만 합니다

현재 우리는 충분히 “침묵”하고 있지만, 자유에 대해서 얘기하는 것은 너무도 부족한 상황입니다. 자유 소프트웨어와 관련이 있는 대부분의 사람들이 자유에 대한 이야기를 거의 하지 않고 있습니다. 왜냐하면 그들은 “사업의 목적에 더욱 적합한” 부분만을 추구하기 때문입니다. 소프트웨어 배포자들이 특히 이런 경향을 갖고 있습니다. 몇몇 GNU/Linux 운영체제 배포판들은 자유로운 기본 시스템 위에 독점 패키지들을 추가한 뒤에, 사용자에게 이러한 시스템을 보다 편리한 것으로 생각해 달라고 얘기합니다. 그러나 이것은 보다 편리한 것이라기 보다 자유에 역행하는 것입니다.

우리는 새로운 자유 소프트웨어 사용자들을 유지하는데 실패하고 있으며, 그들이 빠른 속도로 늘어나는 만큼 자유와 우리의 공동체에 대해서 가르치는 것에도 실패하고 있습니다. 이것은 예전의 Qt와 같이 자유 소프트웨어가 아닌 소프트웨어와 부분적으로만 자유로운 운영체제 배포판들이 시장 창출을 위해서 대중성을 추구하고 있기 때문입니다.지금 “자유”라는 말의 사용을 중지하는 것은 잘못입니다. 우리는 자유에 대해서 더 많은 얘기를 해야 합니다.

“오픈 소스”라는 용어를 사용하는 사람들이 사실상 더 많은 사용자들을 우리 공동체로 끌어들이게 될 것이라고 희망해 봅시다. 그러나, 그러면 그럴수록 우리들은 사용자들이 자유의 문제에 주의를 기울일 수 있도록 더욱 많이 노력해야 할 수밖에 없습니다. 우리는 “여러분에게 자유를 제공하는 것은 다름아닌 자유 소프트웨어입니다! ”라고 그 어느때 보다 더 많이 그리고 더 크게 외쳐야만 합니다.

등록 상표는 도움이 되는가?

“오픈 소스 소프트웨어”의 옹호자들은 오픈 소스를 상표로 등록하면 잘못된 사용을 막을 수 있다고 말하며 상표 등록을 시도했었습니다. 그러나 상표 출원이 1999년에 실효됨으로써 이러한 노력은 실패하였습니다. 따라서 현시점에서 “오픈 소스”와 “자유 소프트웨어”의 법적 상태는 동일합니다. 다시말해, 그것을 사용하는데 있어서 아무런 법적 제한이 존재하지 않습니다.

그러나 상표로 등록된다고 해서 큰 차이가 있을까요? 저는 확신할 수 없습니다. 저는 많은 회사들이 자신들의 소프트웨어가 “오픈 소스”의 공식적인 정의에 부합되지 않음에도 불구하고 “오픈 소스”라고 칭한다는 조사 결과를 들었습니다. 그러한 제가 직접 확인한 몇가지 실례도 있습니다.

기업들은 자사의 프로그램이 “오픈 소스 소프트웨어”인 것같은 인상을 주도록 명시적인 형태를 피하는 설명 방법을 사용합니다. 예를 들어 “오픈 소스 소프트웨어”의 공식적인 정의에 부합하지 않는 IBM 소프트웨어의 발표 내용은 다음과 같았습니다.

오픈 소스 공동체에서의 일반적인 경우와 마찬가지로 사용자들은 ... 기술은 또한 IBM과 협력 가능합니다 ...

위의 문장은 해당 프로그램을 “오픈 소스“ 라고 말한 것이 아니었지만, 글을 읽는 많은 사람들은 그 사실을 구별하지 못했습니다. (저는 IBM이 진심으로 그 프로그램을 자유 소프트웨어로 만들려고 했었다는 것과 나중에 자유소프트웨어와 “오픈 소스”에 부합되는 새로운 라이센스를 적용하려 했다는 사실을 인식했어야 했습니다. 그러나 위의 발표가 있었을 당시의 그 프로그램은 분명 양쪽 어디에도 속하지 않은 상태였습니다.)

또 한가지는 자유 소프트웨어 회사를 지향하며 설립되었지만 종국적으로 독점 소프트웨어 회사로 변경된 시그너스 솔루션즈가 그들의 독점 소프트웨어를 어떻게 광고했는 지에 대한 예입니다.

시그너스 솔루션즈는 오픈 소스 업계의 [GNU/]리더로서, 리눅스 시장에 두 가지 제품을 출시하게 되었습니다.

IBM과는 달리 시그너스는 그 제품들을 자유 소프트웨어로 만들려고 한 것이 아니었으며, 그와 비슷한 정도로 근접하지도 않았습니다. 시그너스가 그들의 제품을 “오픈 소스 소프트웨어”라고 실제로 말한 것은 아니었지만, 오픈 소스라는 용어를 사용함으로써 호의적인 관심을 얻기 위해서 애매모호한 문장을 사용했던 것입니다.

이러한 경우들을 관찰해 볼 때, 상표 등록을 한다고 해서 “오픈 소스”가 갖고 있는 용어상의 문제점이 완전히 해결될 수 없음을 알 수 있습니다.

“오픈 소스”에 대한 오해

오픈 소스의 정의는 충분히 명확해서 전형적인 상용 프로그램들은 여기에 포함될 수 없습니다. 따라서 “오픈 소스 기업”이라는 말은 특정한 회사의 제품이 자유 소프트웨어인 것처럼 간주될 수 있습니다. 그렇지요? 그러나 안타깝게도 많은 회사들은 오픈 소스에 다른 의미를 부여하려고 노력하고 있습니다.

1998년 8월에 “오픈 소스 개발자의 날” 모임에 참석한 여러 상용 소프트웨어 개발자들은그들의 작업 결과물 중 일부만을 자유 소프트웨어(또는 오픈 소스)로 만들 계획이라고 말했습니다. 그들의 사업 목표는 자유 소프트웨어 사용자들에게 팔 수 있는 독점적인 부가 상품 (소프트웨어 또는 매뉴얼)을 개발하는 데 집중되어 있습니다. 그들이 벌어들인 돈의 얼마만큼은 자유 소프트웨어 개발을 위해서 기부할 것이기 때문에, 그들은 우리에게 그들의 사업을 공동체 사업의 부분으로서 정당한 것으로 간주해 달라고 요구했습니다.

실제로 그 회사들은 그들의 독점 소프트웨어 제품들을 위해서 – 그것들이 “오픈 소스 소프트웨어”가 아님에도 불구하고 – “오픈 소스”라는 유리한 보증을 얻어 내려고 하는 것입니다. 그들이 자유 소프트웨어와 약간의 관계를 유지하고 있거나 혹은 몇개의 자유 소프트웨어를 보유하고 있다는 이유로 말입니다. (한 회사의 설립자는 공동체에서 지지하는 만큼만 최소한으로 자유 소프트웨어 패키지를 유지해 나갈것이라고 아주 분명하게 말했습니다.)

지난 몇 년간 많은 회사들이 자유 소프트웨어 개발에 기여해 왔습니다. 이 중 몇몇 회사들은 상용 소프트웨어를 주로 개발해 왔으며, 자유 소프트웨어의 개발과 상용 소프트웨어의 개발은 분리되어 있었습니다. 따라서 우리는 그들의 상용 소프트웨어 개발 부분은 무시하고, 자유 소프트웨어 개발 프로젝트에 한해서 함께 공조할 수 있었습니다. 그래서 우리는 그들의 자유 소프트웨어에 대한 공헌에 대해서, 그 이외의 영역에 무관하게 진심으로 감사할 수 있었습니다.

그러나 우리는 새로 생겨나고 있는 회사들과 같은 방식으로 일할 수는 없습니다. 왜냐하면 그들은 이전의 회사들이 취했던 방식으로 일을 추진하지 않을 것이기 때문입니다. 이 회사들은 대중들이 그들의 모든 작업에 함께 참여하도록 활발히 유도하고 있습니다. 그들은 우리가 그들의 상용 소프트웨어에 자유 소프트웨어와 같은 호의를 갖게 되기를 원합니다. 그러나 그들의 상용 소프트웨어가 자유 소프트웨어의 경우와같을 수는 없습니다. 또한 그들은 자신들을 “오픈 소스 회사”라고 소개하면서, 우리가 그들에 대한 어렴풋한 호의를 가져주기를 희망합니다.

이러한 교묘한 술책이 “자유 소프트웨어”라는 이름을 사용하여 행해졌다면 그만큼 해로왔을 것입니다. 그러나 회사들은 “자유 소프트웨어”라는 단어를 그같은 방법으로 사용하지는 않는 것 같습니다. 아마도 “자유 소프트웨어”라는 단어는 이상주의와의 관련성 때문에 그들이 이용하기에적합하지 않게 보였기 때문일 것입니다. “오픈 소스”라는 용어는 그러한 사용이 가능합니다.

1998년 말, 흔히 “리눅스”라는 말로 불리우는 운영체제를 위해 열린 무역 박람회에서 특히 주목 받았던 연설자는 유명한 소프트웨어 회사의 경영자였습니다. 그는 아마도 그의 회사가 리눅스 시스템을 “지원”하겠다고 결정했기 때문에 초청되었을 것입니다. 불행하게도 그들이 의미하는 “지원”은 리눅스 기반에서 운영될 수있는 상용 소프트웨어를 배포한다는 형태였습니다. 다른 말로하면 우리 공동체를 그들의 시장으로서는 이용하지만, 공헌하지는 않겠다는 것입니다.

또한 그는 다음과 같은 언급을 했습니다. “우리의 제품을 오픈 소스로 만들 수는 없지만, 개발 과정에서 ‘내부적으로’ 오픈 소스 형태를 도입할 것입니다. 만약 우리의 고객 지원단이 소스 코드에 접근할 있다면, 그들은 고객을 위해 버그를 고칠 수 있으며 그로 인해서 우리는 더 나은 제품과 서비스를 제공할수 있을 것입니다.” (그의 말을 받아적지 않았으므로 이 인용문은 정확한 것은 아닙니다만, 요지는 맞습니다.)

그후 청중들은 나에게 “그는 핵심을 파악하지 못하고 있다.”고 말했습니다. 정말 그럴까요? 그렇다면 그는 어떤 점을 놓치고 있는 것입니까?

그는 “오픈 소스”라는 용어와 관련해서 일반적인 요점을 벗어나지 않았습니다. 자유에 관해서는 아무것도 언급하지 않았으며, 오직 보다 많은 사람들이 소스 코드를 볼 수 있게 하여 좀더 빠르고 나은 개발을 도울 수 있게 한다는 점만을 이야기하고 있습니다. 그 경영자는 이러한 점을 완벽하게 파악하고 있었습니다. 사용자들이 그러한 방법에 무슨 문제가 있는 지를 충분히 이해하지 못하도록 하면서, 오픈 소스의 형태를 부분적으로 그의 기업 안에서만 수행하려고 했던 것입니다.

그가 “오픈 소스”에 대해서 놓치고 있는 요점은 그것이 문제점을 줄이기 위해서 만들어 진 것이라는 점이 아니라 사용자들에게는 자유를 누릴 자격이 있다라는 점입니다

자유에 대한 생각을 널리 알리는 것은 중요한 일이며 여러분의 도움이 필요합니다. GNU 프로젝트는 “자유 소프트웨어”라는 용어를 고수할 것입니다. 만약 여러분이 자유와 공동체를 –단지 그것들이 가져다주는 편리함 때문이 아니라– 그 이름이 갖고 있는 의미 자체로서 중요하다고 생각한다면, 우리와 함께 “자유 소프트웨어”라는 용어를 사용해 주기를 부탁드립니다.


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