合法이면 公正한가: AI 再具顯과 카피레프트의 侵蝕
지난 週、Python 텍스트 인코딩 探知 라이브러리인 chardet의 메인테이너 Dan Blanchard가 새 버전을 릴리스했다。chardet 7.0은 速度가 旣存 對比 48倍 빨라졌고、멀티코어를 支援하며、設計부터 다시 짜여졌다。Anthropic의 Claude가 寄與者로 登載되어 있다。그리고 라이선스가 LGPL에서 MIT로 바뀌었다。
Blanchard의 말에 따르면 自身은 코드를 보지 않고 API와 테스트 스위트만을 參照해 Claude에게 처음부터 再具顯하도록 指示했고、그 結果 以前 버전과의 코드 類似度가 1.3% 未滿이라고 한다。따라서 이것은 獨自的인 새 著作物이며 LGPL을 繼承할 義務가 없다는 것이다。原作者 Mark Pilgrim은 GitHub 이슈를 열어 抗議했다。 LGPL은 修訂 配布 時 同一 라이선스 維持를 要求하는데、旣存 코드에 充分히 露出된 狀態에서 만든 再具顯은 클린 룸이라고 볼 수 없다는 것이 그의 主張이다。
이 事件은 Flask의 創始者 Armin Ronacher와 Redis의 創始者 Salvatore Sanfilippo(以下 antirez)의 글을 通해 더 넓은 論爭으로 번졌다。두 사람은 각기 다른 經路로—Ronacher는 라이선스 哲學의 側面에서、antirez는 著作權法의 法理에서—이 再具顯이 正當하다는 結論에 到達한다。나는 두 글을 모두 尊重하지만、둘 다 틀렸다고 생각한다。아니、더 正確하게는 둘 다 核心 質問을 回避하고 있다。
그 核心 質問이란 이것이다。合法이면 公正한가。두 글은 이 물음에는 答하지 않은 채、法理的으로 可能하다는 事實에서 社會的으로 正當하다는 結論을 끌어낸다。法的 許容과 社會的 當爲는 같은 것이 아니다。法은 最小限의 基準을 定할 뿐이고、어떤 行爲가 그 基準을 通過한다는 것이 그 行爲가 옳다는 뜻은 아니다。이 區分이 이 글의 出發點이다。
類比의 方向이 거꾸로다
antirez의 論據는 GNU 프로젝트가 UNIX 유저스페이스를 再具顯했을 때、그것이
合法이었다는 史實에서 出發한다。Linux 커널도 마찬가지였다。著作權法은 保護
받는 表現
(protected expressions)의 複製를 禁하지만 아이디어와 動作 方式은
保護하지 않는다。AI로 再具顯하는 것도 같은 法的 地形 위에 있으므로 合法이라는
것이다。
이 法理의 說明 自體는 大體로 맞다。再具顯이 合法이라는 主張을 나는 反駁하지 않는다。問題는 그 다음 段階에 있다。antirez는 合法임을 보인 뒤 論議를 끝낸다。그러나 法理가 옳다는 것과 行爲가 社會的으로 正當하다는 것은 別個의 主張이다。이 둘을 同一視할 때 論證의 間隙이 생긴다。
그 間隙이 가장 鮮明하게 드러나는 곳이 바로 antirez가 끌어온 歷史的 類比다。
GNU가 UNIX를 再具顯했을 때、그 벡터는 獨佔에서 共有 쪽을 向하고 있었다。Stallman은 UNIX라는 獨佔 소프트웨어를 自由 소프트웨어로 再具顯하기 爲해 著作權法의 限界를 怜悧하게 活用한 것이다。그 再具顯의 倫理的 正當性은 法的 合法性에서 오는 것이 아니라、公有地(commons)를 넓히는 方向에서 나왔다。그것이 GNU 프로젝트가 歡呼를 받은 理由다。
chardet 事件에서 再具顯의 벡터는 反對 方向이다。카피레프트 라이선스인 LGPL로 保護되던 소프트웨어가 퍼미시브 라이선스인 MIT로 再具顯되었다。이것은 公有地를 넓히는 再具顯이 아니라 公有地의 울타리를 除去하는 再具顯이다。이제 chardet 7.0을 基盤으로 만들어지는 派生 作業은 소스 코드를 公開할 義務가 없다。月 1億 3千萬 다운로드라는 規模의 라이브러리에서 그 義務가 사라진 것이다。
antirez는 이 方向의 差異를 論하지 않는다。GNU의 歷史를 끌어왔는데、그 歷史가 實은 自身의 結論에 反證 事例가 된다는 것을 보지 못하거나 보지 않으려 한다。
GPL은 共有에 反하는가
한便、Ronacher의 論據는 다르다。그는 自身이 오래前부터 chardet이 非GPL
라이선스로 바뀌기를 願했다고 밝힌다。그리고 GPL이 共有 精神에 反한다
고
主將한다。自身은 可能한 限 라이선스 強制가 적은 方向으로 公開하는 것을
支持하고、社會는 共有할 때 더 나아진다는 믿음을 가지고 있기 때문이란다。
이 主張은 GPL에 對한 根本的인 誤解를 담고 있다。
GPL이 무엇을 禁止하는지부터 보자。GPL은 소스 코드를 非公開로 維持하는 것을 禁止하지 않는다。GPL 소프트웨어를 個人的으로 修訂해 使用하는 것에는 아무런 制約이 없다。GPL이 條件을 發動시키는 것은 配布할 때뿐이다。修訂한 코드를 配布하거나 서비스로 提供하면、그 코드도 같은 條件으로 共有해야 한다는 것。이것은 共有를 制限하는 것이 아니라 共有를 條件으로 거는 것이다。
이것을 받아서 使用하고 改善했다면、그 改善도 共有하라
는 要求는 共有를
抑制하는 메커니즘이 아니라 共有를 連달아 強制하는 메커니즘이다。公有地의
利用者에게 公有地에 對한 寄與 義務를 賦課하는 것이 共有 文化를 害친다는 主張은
語不成說이다。
MIT 라이선스와 比較해 보면 差異가 分明하다。MIT 라이선스 下에서는 누구나 코드를
가져다 改善한 뒤 獨佔 소프트웨어로 닫아버릴 수 있다。가져가서 써도 되지만
寄與는 選擇的이다。Ronacher가 이 構造를 더 共有 親和的
이라고 본다면、그가
말하는 共有
는 흘러가는 方向이 있는 共有다。더 많은 資本과 人力을 가진 쪽이
가져가는 方向으로。
이 非對稱이 現實에서 어떻게 作動하는지는 歷史가 보여준다。一九九〇年代에 많은 企業들이 GPL 코드를 吸收해 獨佔 소프트웨어를 만들었다。이것이 可能했던 것은 그들이 MIT 같은 퍼미시브 라이선스를 選擇했기 때문이 아니라、當時 카피레프트 라이선스의 執行이 느슨했기 때문이다。GPL이 強化되면서 이 구멍이 막혔다。資源이 없어서 寄與를 通한 相互性에 依存할 수밖에 없는 個人 開發者나 작은 프로젝트에게 카피레프트는 그나마 對等한 交換을 可能하게 하는 裝置였다。
Flask를 만든 사람이 이 區分을 모를 理 없다。그렇다면 이 論據는 나이브한 것이 아니라 便宜的인 것이다。
스스로 反證하는 事例
Ronacher의 글에서 가장 흥미로운 部分은 論據가 아니라 스쳐 지나가는 한 文章이다。Vercel이 GNU Bash를 AI로 再具顯해 公開했다가、Cloudflare가 같은 方式으로 Next.js를 再具顯하자 눈에 띄게 火를 냈다
는
것이다。
Ronacher는 이것을 아이러니로 言及하고 넘어가지만、이 逸話는 그의 立場 全體를
무너뜨린다。Next.js는 MIT 라이선스다。Cloudflare의 vinext는 라이선스를
違反한 것이 아니라、Ronacher가 共有 文化의 進展이라 부른 바로 그 行爲를
Next.js에 適用한 것 뿐이다。Vercel의 憤怒는 라이선스 侵害에 對한 것이 아니라
純粹하게 競爭的·領土的 反應이었다。내가 GPL 소프트웨어를 MIT로 再具顯하는 것은
共有 文化의 進展이고、누군가 내 MIT 소프트웨어를 같은 方式으로 再具顯하는 것은
不快하다。
이것이 퍼미시브 라이선스 陣營이 카피레프트 陣營보다 더 共有
親和的이라는 主張의 實體이다。그가 말하는 共有 精神
란 結局 이토록
非對稱的인 것이다。
Ronacher는 이 아이러니를 認識하고도 멈추지 않는다。自身의 世界觀에 符合하는 事例이기 때문이란다。世界觀과 一致하지 않는 證據를 스스로 提示하고도 結論을 바꾸지 않는 것은 論據가 結論에 앞서는 것이 아니라 結論이 論據에 앞서고 있다는 信號다。
合法性과 社會的 當爲는 다른 層位에 있다
序頭에서 말한 質問으로 돌아오자。合法이면 公正한가。
antirez는 法理를 꼼꼼히 說明한 뒤 그것으로 充分하다는 듯이 끝을 맺는다。Ronacher는 法的 灰色 地帶를 認定하면서도 道德的 問題는 내가 關心 있는 部分이
아니다
라고 한 文章으로 넘긴다。두 글 모두 法的 許容을 社會的 正當性의 代理物로
삼는다。그러나 法은 어떤 行爲를 막지 않는다는 것을 말할 뿐이지、그 行爲가
옳다는 것을 保證하지는 않는다。租稅를 아슬아슬하게 回避하는 것이 合法이더라도
옳은지는 別個의 물음이다。特許를 合法的으로 取得한 企業이 數十 年間 低廉하게
供給되던 必需 醫藥品 價格을 數十 倍 올리는 것이 合法이더라도、그것이 社會的으로
正當하다는 뜻은 아니다。合法性은 必要條件일 수 있지만 充分條件은 아니다。
chardet 事件에서 이 區分은 더욱 뚜렷하다。
chardet의 LGPL이 保護한 것은 Blanchard 한 사람의 勞動이 아니다。十二年間 이
라이브러리에 寄與한 모든 사람들이 同意한 社會的 契約이다。그 契約의 內容은
이것을 가져다 쓴다면、當身이 만든 것도 같은 條件으로 共有하라
는 것이었다。이 契約은 法院이 強制하는 種類의 契約이기도 하지만、그보다 먼저 오픈 소스 共同體가
數十年에 걸쳐 構築해 온 信賴의 土臺였다。再具顯이 法的으로 새로운 著作物로
認定될 수 있다는 것과、그 再具顯이 旣存 寄與者들과 맺은 社會的 契約을
破棄했다는 것은 別個의 問題다。法院이 萬一 Blanchard의 손을 들어준대도 그것은
그의 行爲가 共同體的으로 正當하다는 것을 意味하지 않는다。合法性은 社會的
正當性을 뒤따라오게 하지 않는다。
FSF 대표 Zoë Kooyman은 이를 簡潔하게 表現했다。自身이 받은 權利를 他人에게
賦與하기를 拒否하는 것은 어떤 方法을 쓰든 反社會的 行爲다。
누구의 觀點이 디폴트로 設定되어 있는가
이 論爭을 읽으면서 繼續 드는 質問이 있다。두 著者는 AI 再具顯의 費用 下落을 어떤 位置에서 바라보고 있는가。
antirez는 Redis를 만들었고、Ronacher는 Flask를 만들었다。두 사람 모두 오픈 소스 生態系의 中心에 있는 사람들이다。그들의 立場에서 AI 再具顯의 費用 下落은 自身이 加하는 쪽의 이야기다。무언가를 더 쉽게 再具顯할 수 있게 되는 것이다。Ronacher는 GNU Readline을 GPL이기 때문에 再具顯하려 했다고 밝힌다。
反面 數十年間 chardet 같은 라이브러리에 寄與해온 사람들의 立場에서 같은 技術 變化는 自身이 當하는 쪽의 이야기다。自身의 寄與가 담긴 카피레프트 保護膜이 除去되는 것이다。두 著者는 前者의 位置에서 後者의 位置에 있는 사람들을 向해 “이것은 恒常 合法이었고、歷史的 先例가 있으며、技術 變化에 適應하라”고 말하고 있다。
이 非對稱을 無視한 채 普遍的 論據인 것처럼 敍述할 때、글은 分析이 아니라 利害關係의 合理化가 된다。두 著者 모두 自身의 利害關係와 正確히 一致하는 結論에 到達한다는 것을 讀者는 留念해야 한다。
이 싸움이 가리키는 것
Bruce Perens는 The Register와의 인터뷰에서 소프트웨어 開發의
全體 經濟學이 죽었다
고 警告했다。antirez는 비슷한 認識에서 適應하라
고
말한다。Ronacher는 이 方向이 마음에 든다고 말한다。
세 反應 중 어느 것도 核心 質問에 答하지 않는다。카피레프트의 執行이 技術的으로 어려워졌을 때、그것이 카피레프트를 不必要하게 만드는가、아니면 더욱 重要하게 만드는가。
나는 後者라고 생각한다。GPL이 保護한 것은 코드의 稀少性이 아니라 使用者의 權利였다。코드 生產 費用이 낮아진다고 해서 그 코드를 通해 權利를 侵蝕하는 行爲가 괜찮아지는 것은 아니다。오히려 再具顯의 摩擦이 사라질수록、카피레프트 라이브러리를 MIT로 탈바꿈시키는 費用도 사라진다。GPL이 依存했던 摩擦이 줄어들었다는 것은 法的 執行의 問題일 뿐、그 基底의 當爲를 건드리지 않는다。
그 當爲는 이것이다。公有地에서 가져간 자는 公有地에 돌려줘야 한다는 것。그 原則은 再具顯이 五年 걸리든 五日 걸리든 달라지지 않는다。法院이 AI 再具顯을 클린 룸으로 認定하든 派生 著作物로 보든、그 判決이 이 原則의 社會的 무게를 輕減시키지는 않는다。
이것이 法理와 社會的 價値가 갈라지는 地點이다。法은 事後的으로、느리게、現在의 權力 關係를 反映하며 만들어진다。오픈 소스 共同體가 數十 年에 걸쳐 쌓아온 規範은 法院의 判決을 기다리지 않았다。法이 그것을 保護해주지 않을 때도 사람들이 GPL을 選擇한 것은、그것이 自身이 屬한 共同體의 價値와 一致했기 때문이다。그 價値는 法이 바뀐다고 사라지지 않는다。
以前 글들에서 나는 이 싸움의 다음 段階로 訓練 카피레프트(TGPL)를 提案했다。 AI 再具顯 問題는 거기서 한 걸음 더 나아가 明細(specification) 階層까지 保護 範圍를 擴張해야 한다는 것을 示唆한다。소스 코드가 明細로부터 生成될 수 있다면、그 明細가 GPL 프로젝트의 本質的 知識財產이 된다。소스 코드를 보지 않고 테스트 스위트와 API만으로 再具顯했다는 Blanchard의 主張은、逆說的으로、그 테스트 스위트와 API 明細가 保護되어야 한다는 論據가 된다。
GPL의 歷史는 새로운 搾取 方式이 登場할 때마다 法的 道具가 進化해 온 歷史다。GPLv2에서 GPLv3로、AGPL로。그러나 그 進化를 이끈 것은 判決이 아니라 共同體의 價値 判斷이었다。法은 뒤따라왔다。只今도 마찬가지다。法院이 AI 再具顯에 對해 어떤 判決을 내리든、우리가 먼저 答해야 할 質問은 法的인 것이 아니라 社會的인 것이다。公有地의 열매를 取한 者는 公有地에 돌려줄 義務가 있는가。나는 그렇다고 생각한다。그리고 그 判斷은 法院의 判決을 기다릴 필요가 없다。
antirez와 Ronacher의 글이 興味로운 것은 그들이 옳기 때문이 아니라、그들이 무엇을 보지 않으려 하는지가 鮮明하게 드러나기 때문이다。合法性으로 社會的 價値 判斷을 代身하려 할 때、정작 重要한 質問은 法理의 그늘 속에 묻힌다。