자유 소프트웨어, GPL 주는 것일까? 받는 것일까?

마잇의 이미지

리눅스를 시작으로 GNU, 자유소프트웨어, GPL, 오픈소스 등에 관해서 얘기하다 보면 이것을 '베푼다', '도움을 주다', '기부한다'의 개념으로 생각하시는 분들이 정말 많은 것 같습니다.

맨날 쓰기만 하고... 기여좀 해야 하는데 시간은 없고... 이런 얘기, 오픈소스 관련 커뮤니티들의 글타래에서 어렵지 않게 볼수 있는 내용들입니다. 물론 그런 감정이 잘못되었다는 얘기는 아닙니다. 다만 저런 글을 쓰게 만드는 그 심리적인 배경에는 '도움을 받았으니 나도 뭔가 해야 되지 않겠는가'라는 부담감이 느껴진다는 것입니다.

리눅스 커널과 GNU의 핵심 프로그램들, GPL과 많은 오픈소스 라이센스로 제공되는 프로그램들이 한데 뭉뜽그려져 집약돼있는 배포본들을 사용해보면 독점적인 방식으로 개발되면서 유료로 제공되는 다른 운영체제와 비교해서 그다지 뒤쳐지는 품질이 아닙니다. 주류가 아니고 기존 기업들에게 생소한 개념 때문인지 적극적인 후원을 받지 못해서 상대적으로 아직 뒤쳐지고 불편한점이 있는 것은 사실입니다. 하지만 그런 것을 잊고 생각하더라도 단순히 매니아들의 장난감 수준을 넘어선지는 오래되었습니다. 국내에는 아직이겠지만 북미나 유럽시장에서는 주류 하드웨어 제조사, 판매사들이 리눅스를 심어서 팔기 시작했습니다.

그럼 이렇게 쓸만하고 훌륭한 물건들을 공짜로 쓸 수 있기 때문에 이 모든 개발자들을 자원 봉사자로 보아야 할까요? 독점 소프트웨어 개발로 갑부가 된 배부른 프로그래머들이 불쌍한 대중들을 위해 뿌리는 공짜 배급품일까요? 아름다운 세상을 위해 헌신하는 숭고한 프로그래머들?

이런 잘못된 믿음을 좀 다시 생각해봐야 할 필요가 있다고 봅니다. 이러한 미신적인 믿음이 기존 독점 소프트웨어의 방식으로 자라난 세력들이 선뜻 자유 소프트웨어 세상에 발을 담그지 못하게 만드는 큰 원인으로 작용하고 있다고 저는 생각합니다. 이쪽으로 돈이 흘러드는 것을 방해하고 있지요. 그래서 저의 이 멋진 15인치 와이드 델 노트북이 리눅스에서 제 힘을 다 못쓰는 안타까운 사태가 벌어지기도 합니다. 뭐 이게 이 글을 쓰게 만든 동기는 절대 아닙니다만... :-)

자유 소프트웨어가 점점 널리 퍼지고 있는 원인은 숭고한 마음을 가진, 헌신적인, 돈은 쓸만큼 있고 그래서 시간은 좀 남아도는 프로그래머들이 점점 많아지고 있기 때문이 절대로 아닙니다. 소프트웨어를 만들어보고 사용해 본 사람이라면 누구나가 인정할 수 밖에 없는 가치들을 자유 소프트웨어 세상의 규칙안에서 보다 더 자연스럽고 효율적으로 만들어 낼 수 있기 때문입니다.

독점이든 자유든 '좋은 소프트웨어가 사랑 받는다'는 것은 누구에게나 통용되는 진실이 될 수 있습니다. 독점이기 때문에 혹은 자유이기 때문에라는 이유만으로 사용되지는 않습니다.

우리는 대부분 옆사람이 쓰는 소프트웨어를 사용합니다. 그 옆사람은 또 누군가가 쓰는 소프트웨어를 사용했겠지요. 이 트리 구조를 따라 뿌리를 찾아보면 최초에 능동적으로 이것저것 사용해보고 그중 가장 좋은 소프트웨어를 선택하고 사용한 사람이 있습니다. 그러므로 우리 모두는 좋은 소프트웨어를 사용하려고 하는 경향이 있다는 결론에 다다릅니다 : )

자유 소프트웨어 즉, GPL은 바로 그러한 좋은 소프트웨어를 만들기 위한 가장 일반적인 규칙을 모아 놓은 것입니다. 뭔가 베풀고 싶은데 상업적인 착취는 막기 위해서 만들어 놓은 그런 규칙은 절대 아닙니다. 상업적이냐 아니냐를 떠나서 우리 인류에게 새로운 자산과 가치로 떠오른 '소프트웨어'라는 이 무형의 물건을 어떻게 만들어가는 것이 가장 자연스럽고 효율적이냐를 규정한 것이 바로 GPL 입니다.

왜 아무나 자유롭게 사용할 수 있게 하고 다른 사람들하고 돌려 쓰는 것도 허락하고 만드는 방법이 고스란히 담긴 소스까지 공개하는 것이 더 좋은 소프트웨어를 만드는 방법이 될 수 있을까요.

반대로 한 번 질문해 봅시다.

아무나 쓸 수 없고 정해진 계약을 한 사람만 쓸 수 있고 만드는 방법도 알 수 없어서 고쳐 쓸 수도 없게 하는 것이 더 좋은 소프트웨어를 만드는 방법이라고 할 수 있을까요.

누군가 돈을 벌어야 한다는 생각을 잠시 잊어버리고 좋은 소프트웨어를 만들어야 한다는 생각만 해보겠습니다. 저는 널리 사용될 수 있다는 가능성 한가지 만으로도 자유 소프트웨어의 규칙이 단연 우월함을 가진다고 생각합니다. 널리 사용된다는 것, 이것은 당장의 기술적 우월성을 떠나 발전 가능성 면에서 대단한 가치를 가지게 됩니다. 사용할 수 없는 기술이 어떤 가치를 가질 수 있을까요. 저는 과학을 이야기 하는 것이 아닙니다. 기술입니다. 흔하게 언급되는 VHS와 베타맥스의 예를 생각해 보십시오. 블루레이와 HD-DVD 중에서 누가 승리할까요? 더 널리 사용될 수 있는 가능성을 가지고 있는 것이 승리할 것입니다. 그런 관점에서 둘 다 망할수도 있겠지요.

이런 우월함때문에 소프트웨어를 만드는 기술자들은 자연스럽게 자유 소프트웨어의 규칙에 끌려들 수 밖에 없습니다. 더 많은 사용자를 확보할 수 있다는 이 마력을 무시할수는 없겠지요. 그럼 도대체 돈은 어떻게 버느냐? 이것은 솔직히 저의 관심 밖입니다. 저는 소프트웨어 만드는 기술자가 아니거든요. (이런 무책임한...)

자고로 어떤 사회 계층에서든지 돈을 많이 버는 부류는 기술자가 아닙니다. 돈을 잘 버는 사람은 기업가나 정치가죠.

어쨌든 한가지 말씀드릴 수 있는건 자유 소프트웨어 세상이 점점 커짐에 따라서 '새로운 형식의 이력서'를 작성할 수 있게 되었다는 점입니다. 기술자로서 자신의 증명 - 보유한 기술, 협업 능력, 대화의 기술, 사용자와의 의사 소통 능력 등을 보다 직접적으로 표현할 수 있는 이력서를 작성할 수 있게 되었다는 것이죠.

좋은 소프트웨어를 만들수 있고 만들어 본 사람이 더 좋은 일자리를 얻을수 있다는 것은 꽤 타당한 결론이라고 생각되는데 뭐 아무래도 현실은 좀 차이가 있겠지요.

혹시나 해서 말씀드리지만, 자유 소프트웨어가 주류가 되면 소프트웨어로 먹고 사는 기업 즉, 취직할 직장이 없어진다는 허황된 생각하시는 분들은 없으시겠죠. 독점 소프트웨어가 주류일때보다 더 널리, 더 많이 소프트웨어가 사용될 것은 뻔한데 그런 일은 물론 없을 것이라고 저 장담할 수 있습니다.

기존의 어떤 기술이나 재화도 가지지 못했던 고유의 특성 때문에 소프트웨어는 매우 빠르고 쉽게 우리 생활 모든 곳에 사용되어지고 있습니다. 그래서 보다 널리 사용되어질 수 있고 발전 가능한 잠재력이 풍부한 쪽을 선택하는 쪽이 개인으로서나 사회 전체로서나 매우 자연스러운 행동이 됩니다.

기존의 독점 소프트웨어의 규칙으로는 이런 욕구를 충족할 수가 없었죠. 사회 전체와 마찰이 생겨날 수 밖에 없습니다. 운영체제에 웹 브라우저 끼워 판다고 천문학적인 벌금 때려 맞는 마이크로소프트의 경우는 한편의 코미디 같습니다. 웹 브라우저든 뭐든 사용자들이 일상적으로 사용하는 거 운영체제에 기본 탑재해주는 건 좋은 겁니다. 편하죠. 문제는 마이크로소프트 제품이 독점 소프트웨어라는 겁니다. 사회 전체가 이 독점 소프트웨어의 규칙이 좋지 않다는 것을 깨달았기 때문에 어떻게든 제재하고 싶어서 까는 것으로 밖에는 해석이 안됩니다. 당하는 입장에서는 참 억울한 일이겠지요. 사회 전체의 합의에 의한 이런 부당한 행동은 독점 소프트웨어의 방식이 자연스럽지 않다는 사실에 대한 간접적인 증명입니다.

자유 소프트웨어는 '베품'이 아닙니다. 자원 봉사도 아닙니다. 보다 좋은 기술을 만들어내기 위한 냉정하고 합리적인 선택입니다. 저 또한 사용자로서 거대 독점 기업에 맞서거나 단순히 남들과 다른 특별한 것을 위해서 자유 소프트웨어를 사용하는 것이 아닙니다. 보다 좋은 소프트웨어들이 여기에 있고 잠재적인 발전 가능성이 더 우월하기 때문에 당장 소수로서의 불편함을 감수하면서도 사용하는 것입니다.

저는 베품과 기여를 부정하고자 이 글을 쓴것은 아닙니다. 단지 망설이고 있는 많은 수의 개발자들이 자유 소프트웨어에 숨어 있는 잠재력을 올바르게 보고 결정할 수 있도록 도움이 되었으면 합니다. 독점 소프트웨어를 개발하면서 여가 시간에 짬짬이 참여 하는 것이 자유 소프트웨어가 아니라 더 좋은 기술, 더 많은 사용자를 원한다면 당연히 자연스레 선택할 수 밖에 없는 것이 자유 소프트웨어라고 생각하시기를 바랍니다.

어쨌든 우리는 꼭 뭔가를 베풀거나 봉사하면서 살 필요는 없습니다. 좋은 소프트웨어를 만들고 사용할 수 있다면 그뿐입니다.

댓글

권순선의 이미지

좋은 내용입니다. 제가 오픈소스에 대한 강의를 할 때 학생들에게 꼭 하는 이야기가 오픈소스가 경력관리나 취업에 도움이 될 수 있다는 것인데 아직 잘 모르는 것 같습니다. 다음번에 한번 '이기적으로 오픈소스 활동 하기'라는 제목으로 저도 글을 써 보겠습니다. +1점 날립니다~

ikshin의 이미지

좋은 글 잘 읽었습니다. 예전부터 "오픈소스"와 "현실" 사이에서 느껴왔던 왠지모를 혼돈의 이유를, 제 머릿속에서 차분히
정리할 수 있었던 유익한 내용이었던 것 같습니다. 그리고 권순선님께서 "이기적 오픈소스"를 말씀하시며 경력관리와 취업의
측면을 언급해 주신 것도 정말 마음에 와닿는 말 같네요.^^

- 평화와 정의를 수호하는 광자 우뢰매여! 우리를 도와다오!!!

- Human knowledge belongs to the world...

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.