[번역] GPL v3, the Q&A: 4부 - 기타

wariua의 이미지

Luis Villa씨가 작성한 GPL v3, the Q&A: part 4- odds and ends를 제멋대로 번역해 봤습니다.


이 글은 GPL Q&A 시리즈의 마지막 잡다한 내용에 대한 거예요. 특허와 DRM 조항이 가장 많은 질문을 유발했던 것 같은데, 내일 그 내용을 좀 더 다듬을 수 있을지 잘 모르겠네요. 그러지 못할 수도 있는 것이, 난 지금 완전히 맛이 간 상태고, 내일 저녁엔 글을 쓰는 대신 야구 경기장에 갔다가 맥주를 한잔 할 예정이거든요. 일반적으로 봤을 때 한주 내내 직장에서 뭔가를 쓰고서 밤에 집으로 돌아와서는 또 다른 뭔가를, 다른 목소리로, 다른 독자를 대상으로 쓰는 건, 그리고 그러면서 양쪽 모두에서 공평함와 심리적 거리를 유지하려고 노력하는 건 별로 할 만한 게 아닌 것 같아요. 진이 빠지죠. (역자주: 저자님께서 긴 글을 쓰면서 꽤 지치셨나 봅니다...)

Q: Linux 대 FSF 진영의 '실용주의자 대 이상주의자' 구도에 대해서 어떻게 생각하는지 얘기해 줘요.

A: 아... 그런 식으로 틀을 짓는 게 틀린 건 분명 아니지만, 내 생각엔 개발자의 권리와 사용자 권리 중에서 어느 쪽에 촛점을 맞추느냐로 양쪽 진영을 구분하는 게 훨씬 유용할 거 같아요. 양쪽 진영 모두 자신의 실질적 권리가 침해됐다고 느낄 때 꽤 짜증을 내죠. 양 진영의 구성원 상당수는 필요하다고 느낄 때면 자신의 저작권을 강제하기 위해 목소리를 높였고, 양 진영 모두가 세상이 어떻게 될지 내지는 어떻게 돼야 하는지에 대한 자신들의 비전에 아주 뚜렷한 생각을 가지고 있어요. (Linus는 Richard만큼은 '돼야 한다'는 말을 하고 있지 않을 수도 있지만, the world domination talk is most definitely a driven vision of a specific world that he likes.(역자주: orz... 어찌 되었건 Linus도 그가 좋아하는 세계에 대한 의견을 표현하고 있다는 얘기)) 그리고 양쪽 모두는 그들의 목표를 달성할 수만 있다면 방법에 있어서 타협을 하려는 의지가 있어요. (정말로 RMS가 v3에 대해서 IBM과 Sun에 의견을 구한 게 그가 좋은 사람이어서라고 생각해요? 아뇨. 그러고 싶어질 때는 그도 무정한 실용주의자예요.) 그들에게 진실함이 별로 없다는 얘기를 하려는 게 아녜요. 그런 거였다면 밈(역자주: meme; 유전자처럼 전승 및 전파되는 문화 구성 요소)이 이렇게 넘쳐나게 되지 않았겠죠. 얘기하고 싶은 건, 양쪽 집단 모두는 최근의 보도와 논의가 보여주는 것보다는 훨씬 더 많은 공통점을 가지고 있다는 거예요.

실용주의자/이상주의자의 틀은 아주 정확하지는 않을 뿐더러 별로 유용하지도 않아요. 기자들에게 쉬운 이야기 거리를 만들어 주기는 하지만, 그것 말고 하는 일이라곤 양측이 상대를 미쳤다고, 혹은 비도덕적이라고 생각하도록 북돋는 것뿐이에요. 사실 그들은 공통된 기반을 잔뜩 공유하고 있는데도 말예요. (그들의 동작 방식과 목표가 겹치지 않았다면 근본적으로 사용자에 촛점을 맞춘 v2가 개발자들에게서 그렇게 터무니없이 성공하지는 못했겠죠.) FSF가 (오인하거나 비웃음을 사기 쉬운) 일반적인 권리 대신에 사용자 권리를 구체적으로 언급했다면, 그리고 개발자의 권리를 부차적인 어떤 것이 아닌 권리의 보완적인 부분으로 언급했다면, 모든 이들이 서로를 비웃지 않는 동일 언어를 사용하는 동료가 되는 데 도움이 됐을 거예요. 마찬가지로 '실용주의자' 진영에서 그들 역시도 권리들--좀 더 제한된, 같지는 않은 것이겠지만--에 관심을 가지고 있다고 인정했다면 FSF로부터 그들이 원하는 걸 (예를 들면, 더 단순한 언어) 더 많이 얻어내는 데 도움이 됐을 거예요. 물론 지금은 그렇게 되기에 늦어버렸지만, 미래에는 양쪽 모두가 그런 공통된 기반을 확장하는 데 힘을 쏟아야 한다고 생각해요. 그렇게 되기까지 우리는 뒷짐지고 앉아서 그들이 서로를 공격하는 동안 결국 Microsoft가 웃게 되는 걸 지켜볼 수밖에 없겠죠.

Q: 이왕 말하는 거 좀 더 세게 질러봐요. v3가 '정치적'이라는 주장에 대해서 어떻게 생각하죠?

A: v3를 비방하기 위해서 '정치적'이라는 말을 쓰는 건 자유 소프트웨어 특유의 역사와 권리 발전의 일반적 역사에 대한 열악한 이해를 보여주는 거예요.

맞아요, v3는 분명히 정치적이예요. v3가 논쟁의 여지가 있는 "권리"의 존재를 주장하며, 따라서 그 존재(내지는 부재)가 사법적/분석적 방법이 아닌 정치적/사회적 방법을 통해 결정돼야 한다는 점에서 말이죠. 하지만 이 모든 건 v2의 경우에도 마찬가지였어요. 지금의 우리는 개발자가 원한다면 공유할 권리를 가지며, 공동체 개발이 소프트웨어를 개발하는 유효하고 훌륭한 방식이라는 걸 Microsoft조차도 거의 인정하는 시점에 와 있어요. 그렇다 보니 1991년에는 코드의 공유와 공개라는 개념 자체가 논쟁을 불러 일으켰다는 걸, 그리고 몇 년 전만 하더라도 Microsoft가 그걸 미국적이지 못하다고 비난했다는 걸 잊기 쉬워요. 1991년에 '정치적'이라는 (혹은 더 나쁜) 이유로 v2를 거부했던 이들의 말에 귀를 기울였다면 우리는 오늘날 여기까지 오지 못했을 거예요. 따라서 (논쟁의 여지가 있다는 건 분명히 인정하는, 장점에 대한 실제 논의도 없이) '정치적'이라는 이유만으로 지금 뭔가를 거부하는 건 바보같은 짓일 거예요.

좀더 일반적으로는, v2가 '정치적'인 것에서 인정받는 권리로 바뀐 건 서양 정치사에서 꽤나 흔한 경향이예요. 권리들은 존재하지 않았다가 뜨거운 정치적 쟁점이 되고 결국 당연한 것이 되죠. 다시 말하지만 '정치적'이라고 해서 어떤 걸 거부하는 건 이런 광범위한 역사적 정치적 경향에 대한 굉장한 무지를 나타내는 거예요. 여성의 투표가 훌륭한 비교 대상이 되겠네요. 우리는 그걸 당연하게 여기고, 그걸 더이상 '정치적'이라고 생각하지 않아요. 지금 여성의 투표권은 아주 널리 인정받는 핵심 권리죠. 하지만 여성들이 그들도 투표를 할 수 있어야 한다고 처음으로 제안했을 때 그 문제는 훨씬 더 '정치적'이었어요. 반대 행진이 있었고, 옹호자들은 경멸당했죠. 제안이 인정받는 사실이 되기까지의 과정에 수십 년이 걸렸어요. 지금은 물론 여성이 우리 사회에서 이런 근본적인 역할을 거부당했던 때가 있었다는 걸 인식조차 못한 채 성장하고 성년이 될 수도 있을 거예요. v3에서 새로운 권리를 만들어 내려는 시도에서처럼, 작업장에서의 여성 권리와 소수자 우대 정책(affirmative action) 같은 새로운 논의가 투표권 운동에서 발전해 나왔어요. 역사적으로 의미 있는 질문은 '정치적'이기 때문에 이러한 논의를 제기하는 것이 잘못된 것이냐 하는 게 아니에요. 그보다는 15년 내에 우리가 DRM을 (투표권이 통과된 후에는 "정치적"이었지만 지금은 더 이상 논쟁을 불러 일으키지 않는) 여성의 일할 수 있는 권리나 ("정치적"이었고, 아직 많은 곳에서 그러한) 소수자 우대 정책 같은 것으로 여기게 될 것인가 하는 거예요. 어느 쪽이 되었든 문제를 다루는 올바른 방식은 정치적이라는 말로 비방하는 게 아니라 그 가치에 대해서 논쟁하는 거예요.

Q: 첫 번째 글로 돌아가 보죠, 정치적 얘기는 잠시 접고요. GPL v2가 GPL v3와 호환되지 않는다고 했죠? 말도 안돼는 거 아녜요?

A: Stallman이 이 글에서 그 문제를 아주 잘 설명하고 있어요.

GPLv2와 GPLv3가 호환되지 않는다고 할 때 그 의미는 GPLv2 하의 코드와 GPLv3 하의 코드를 하나의 프로그램에서 결합할 수 있는 적법한 방법이 없다는 뜻입니다. 그건 GPLv2와 GPLv3 모두가 "이 라이선스 하의 코드를 더 큰 프로그램 내에 포함시킨다면 그 프로그램 역시 이 라이선스 하에 있어야 한다"고 얘기하는 카피레프트 라이선스이기 때문입니다. 그 둘을 호환 가능하게 만들 수 있는 방법이 없습니다. GPLv3에 GPLv2 호환성 조항을 추가할 수도 있었겠지만, 그렇게 해도 해결이 되지는 않았을 겁니다. GPLv2에도 비슷한 조항이 필요할 테니까요.

이 조항 때문에 GPL에서의 "호환성"은 항상 일방 통행이에요. BSD나 APL 코드를 GPL 코드로 변환할 수는 있지만 그 반대로는 못 하죠. GPL 자체끼리도 마찬가지구요.

Q: 근데, 음, 비호환은 나쁜 거 아녜요?

A: 비호환성은 분명 어떤 코드 기반에서 다른 쪽으로 코드를 가져다 쓸 수 있는 가능성을 제약하죠. 하지만 그것 말고는 별로 문제가 되지 않을 거예요.[1] 다시 Stallman을 인용하자면:

다행히도 라이선스 비호환성은 상이한 두 프로그램의 코드를 하나의 프로그램으로 링크하거나, 병합하거나, 결합하려고 할 때에만 문제가 됩니다. 운영 체제 내에서 GPLv3인 프로그램과 GPLv2인 프로그램을 함께 돌리는 데에는 아무 문제가 없습니다. 예를 들자면, TeX 라이선스와 Apache 라이선스는 GPLv2와 호환되지 않지만, 그렇다고 해서 우리가 TeX 및 Apache를 Linux, Bash, GCC와 같은 시스템에서 돌릴 수 없는 게 아니지요. 이건 그것들이 모두 별개의 프로그램이기 때문입니다. 마찬가지로, Bash와 GCC가 GPLv3로 넘어가고 Linux가 GPLv2로 남아있는다고 해도 어떤 충돌도 생기지 않습니다.

Q: APL 호환에 대해서 좀 더 얘기해 줘요. 그럼 이제 GNU/httpd가 생기는 건가요?

A: (앞서 언급한) GPL의 일방 통행 호환성은 FSF가 호환성에 대해 얘기할 때 '감춰져 있는' 뭔가가 아니에요. 아주 의도적이고, 아주 공개적이, 아주 명시적인 거죠. 그래서 이 새로운 호환성은 Apache 프로젝트들의 일방 통행의 GNU판 가지치기(fork)가 이제 합법적이고 이론상 가능하다는 걸 의미하죠. 하지만 실용적 관점에서 봤을 때 그렇게 되지는 않을 것 같아요. Apache쪽에는 잘 조직된 공동체가 있고 그들은 어떤 새로운 가지보다도 좋은 코드를 만들 거예요. 그리고 Mozilla가 듀얼 라이선스로 갈 때 Stallman은 분명하게 그런 가지치기에 대한 반대 의견을 나타냈죠. 그가 이번이라고 다르게 행동할 것 같지는 않아요. 이 호환성의 목표는 자유 소프트웨어 공동체들이 함께 작업하는 걸 돕는 것이지, 그들을 분열시키는 게 아니에요.[2]

Q: 인터넷이랑 Software as a Service에 대한 건요?

A: 인터넷을 통해 전달되는 소프트웨어와 FSF의 관계는 애매해요. v3는 인터넷을 통해 UI가 전달되는 소프트웨어에 대한 헛점을 분명하게 유지하고 있고, 따라서 여전히 누군가[3]가 GNU 코드를 가져가서 터미널 인터페이스를 html 인터페이스로 바꾸고 그걸 http를 통해 세계에 배포하면서도, 변경한 내용을 기여하지 않을 수 있어요. 그러는 한편 FSF는 그런 헛점을 막아둔 Affero Public License를 인정하고 있어요. 당신이 그런 문제에 대해 걱정하고 있다면 당연히 GPL 대신 Affero를 사용할 수 있어요.

정확히 왜 FSF가 그 헛점을 막지 않았으며 대신 Affero를 제공하고 있는지는 분명치 않아요. 왜인지 짐작해 보라면, FSF는 Microsoft가 더 이상 위협이 되지 않게 될 때까지는 Google과 그 친구들에게 법적 압력보다 윤리적 압력을 쓰는 걸 선호하는 것 같다는 데 걸겠어요. 말하자면 '전선을 좁히는' 거죠. 여기서 Moglen이 이 문제에 대해 살짝 얘기하는 걸 볼 수 있어요. (주의할 건, 난 평상시에 Eben씨가 어려운 개념을 말로 표현하는 데 있어서 아주 뛰어나다고 생각하고 있는데, 내 생각에 이 강연은 Eben씨의 것치고 아주 명쾌한 건 아녜요. 의도적으로 많은 내용을 행간을 통해서 읽어낼 수 있도록 해서가 아닐까 싶어요.)

Q: 앞서의 글에서 빠트린 거나 제대로 실수한 게 있다면?

A: 제일 큰 건 듀얼 라이선싱의 중요한 단점을 제대로 언급하지 않았단 거예요. 듀얼 라이선스를 쓰게 되면 동일한 라이선스를 공유하는 코드에만 당신 코드로 가져다 쓰기를 할 수 있게 돼요. 그래서, 예를 들자면, (삼중 라이선스인) Mozilla는 동일한 3개 라이선스를 공유하는 코드에서만 코드를 복사해 올 수 있죠. 말하자면, 거의 불가능한 거죠. 듀얼 라이선스를 쓰면 다른 곳에서 코드를 가져와 재사용하기가 어려워지는 것뿐 아니라 가지치기가 일어나기 쉬워지기도 해요. 가령 Flock은 GPL로만 된 Mozilla의 곁가지이죠. 이는 Mozilla가 뭔가를 고칠 때 Flock은 그걸 가져다 쓸 수 있지만 그 반대는 안 된다는 뜻이에요.

그리고 '혹은 이후의(or later)' 문제를 다루는 데 있어서 완전한 저작권 양도가 아닌 다른 방법을 빼먹기도 했어요. 라이선스에서는 이후 버전으로 라이선스를 올릴지 말지를 결정할 수 있는 대리인의 지정을 허용하고 있어요. 그래서 (예를 들자면) GPL v4로 올릴 수 있는 권리를 GNOME Foundation에 양도할 수 있어요. 저작권 양도를 할 만큼 신뢰하지는 않는 경우라 해도 GNOME Foundation이 다음 라이선스가 나왔을 때 뭔가 통일성 있는 전략을 세울 수 있도록 해줄 수 있는 거죠. 앞으로의 16년(역자주: v2에서 v3까지)동안 계속해서 유지될 예정인 조직이라면 저작권을 양도하는 것 내지는 무작정 '혹은 이후의'를 신뢰하는 것 대신으로 고려해 볼 만한 좀 더 가벼운 대안이라고 할 수 있겠네요.

아, 그리고 난 all-caps things(역자주: 제목을 대문자로만 쓰는 것)를 하지 않고 있어요. 내 테마가 그렇거든요. 거기에 대해선 미안하고, 언젠가 고칠 예정이예요.

Q: 이번 글의 마무리 발언은?

A: 이 라이선스는 혁명이 아니라 진화예요. 많은 프로젝트가 도입할 좋은 라이선스이긴 하지만 v2만큼 (정말 상당하게) IT 세계를 바꾸지는 못할 거예요. 우리가 (웹 API, 표준, 개인 데이터, 상표 같이) 저작권 밖에 있는 것들에 대한, GPL v2가 그랬던 것처럼 큰 개발자 편익과 개선된 사용자 권리를 주는 라이선스를 만들어 냈을 때 우리는 그러한 영역에서의 폭발적인 성장을 보게 될 것이고, 그게 바로 혁명이 될 거예요.


주석:

  1. 다른 주장을 하고 있는 O'Reilly의 글(역자주: 아마도 이 글)을 봤다면 그 글은 무시하세요. 혹은 다시 가서 댓글, 특히 Richard Fontana의 글을 읽어보세요. 그 글은 여러 가지에 대해서 상당한 오해를 하고 있어요.
  2. 하지만 어떤 경우엔 GNU가 그렇게 했다는 이야기도 있어요. gnash처럼요. 그러니 달리 판단할 수도 있어요.
  3. *쿨룩*구글*쿨룩*

« 3부 - 회사

댓글 달기

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
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.