F/OSS 史唯: 우리는 LLM을 拒否할 게 아니라 되찾아 와야 한다
며칠 前 「自由·오픈 소스 소프트웨어와 LLM 學習에 關해」(On FLOSS and training LLMs)라는 글을 읽었다。自由/오픈 소스 소프트웨어 커뮤니티에서 느끼는 挫折感을 잘 담아낸 글이었다。AI 企業들은 F/OSS 開發者들을 全혀 尊重하지 않는다。오픈 소스 라이선싱의 理想主義的 原則을 惡用하고 있다。法은 우리의 作業物이 獨佔 言語 모델의 訓練 材料로 쓰이는 걸 막아주지 못한다。글을 읽으며 여러 次例 고개를 끄덕였다。
하지만 나는 이 글의 結論에는 同意하지 않는다。
著者가 提案하는 解法은 拒否와 孤立이다。크롤러를 遮斷하고、GitHub 같은 中央化된
포지에서 떠나고、AI 스크래퍼가 우리 코드에 接近하지 못하게 막자는 것이다。그리고 이런 非倫理的 道具
를 쓰는 사람들을 커뮤니티에서 排斥하자고 한다。斷折과 孤立의 戰略이다。憤怒는 理解된다。하지만 이 接近은 重要한 機會를 놓치고
있고、F/OSS를 만들어온 歷史的 패턴을 誤讀하고 있다。
우리가 同意하는 地點
갈라지는 地點을 論하기 전에、著者가 옳은 部分부터 짚고 넘어가자。現在의 狀況은
정말로 深刻하다。AI 企業들은 訓練 데이터 出處를 完全히 無視하고 있다。法的으로 可能하니까 하겠다
는 말이 그들이 個別 開發者와 커뮤니티를 대하는
態度를 正確하게 보여준다。攻擊的인 크롤링은 事實上 分散 서비스 拒否(DDoS)
攻擊이나 다름없다。콘텐츠 製作者의 明示的 意思는 無視된다。제대로 作動하는
옵트아웃(opt-out) 메커니즘조차 提供하지 않는다。
法的 싸움도 이기기 어렵다는 點에서 著者의 말이 맞다。F/OSS 라이선스는 本質的으로 用處를 差別하지 않는다。오픈 소스 定義의 여섯 番째 原則은 特定 分野에 對한 制限을 明示的으로 禁止한다。GPL 같은 主要 라이선스들은 著作者 表示를 要求하고 派生 著作物에 對한 條項을 두고 있지만、著者 말대로 能力 있는 辯護士라면 LLM 訓練이 從來 意味의 派生 著作物 生成이 아니라고 主張할 수 있다。統計的 패턴 抽出이 코드 再使用처럼 著作者 表示를 要求하지 않는다고 말이다。
現在의 法은 不足하다。이 法은 옛 時代를 爲해 만들어졌다。그 시대에
使用
이란 소프트웨어를 實行하거나 修正하거나 再配布하는 것이었지、神經網에 넣어 패턴을 抽出하는 게 아니었다。法은 權力을 爲해 奉仕한다。이 境遇
權力은 法務팀을 動員해 이런 模糊함을 探索하고 惡用할 수 있는 企業들에게 있다。
우리가 갈라지는 지점
그러나 여기서 길이 갈라진다。答은 拒否가 아니라 再專有다。
著者는 現在의 狀況을 開發者 尊重과 AI 訓練 許容 사이의 싸움으로 프레이밍한다。하지만 第三의 길이 있다。F/OSS 歷史와 더 一貫되고、우리가 實際로 바라는 未來를 만들 可能性이 높은 길이다。우리는 우리의 코드로 LLM을 訓練하지 못하게 막으려 하기보다、모델 自體를 解放시키라고 要求해야 한다。
내 立場은 이렇다。나는 내 코드가 LLM 訓練에 쓰이길 바란다。바라지 않는 건 그 訓練으로 AI 私企業의 私有 財産이 되는 獨佔 모델이 만들어지는 것이다。問題는 技術 自體나 訓練 過程이 아니다。公有地의 私有化、集團 知識의 獨佔、價値가 多數에서 少數로만 흐르는 것이 問題다。
이건 아주 새로운 問題는 아니다。F/OSS가 여태 싸워온 그 問題다。옷만 바꿔 입었을 뿐이다。
現實 認識에 關하여
더 나아가기 전에 根本的인 이야기를 하나 해보자。LLM을 둘러싼 여러 觀點들은 大槪 現實 自體를 어떻게 認識하느냐에서 갈린다。
얼마 前 Redis 製作者 Salvatore Sanfilippo、一名 antirez가
AI 코딩 道具 經驗談을 썼다。그는 우리 中 많은 이들처럼 손으로 빚은 코드와
소프트웨어의 人間的 손길을 깊이 重視하는 사람이다。하지만 이렇게 말한다。只今
일어나고 있는 現實을 外面하는 건 不可能하다。코드 作成은 더 以上 大部分 必要
없다… 프로그래밍은 永遠히 바뀌었다。
그의 結論은 이렇다: 適應하라。새 道具들을 배우라。反AI 하이프(hype)
에
빠지지 말라。그는 LLM을 九十年代 오픈 소스처럼 民主化 技術로 본다。작은 팀이 큰
會社와 競爭할 수 있게 해준다고 말이다。
나도 antirez의 現實 認識에 大體로 同意한다。LLM은 프로그래밍을 根本的으로 바꿨고、되돌릴 수 없다。反面 「自由·오픈 소스 소프트웨어와 LLM 學習에 關해」의 著者는 現實을 다르게 認識하는 것으로 보인다。抵抗이 如前히 意味 있고、撤收가 效果的일 수 있으며、LLM의 訓練 데이터 接近을 意味 있게 줄일 수 있다는 認識이다。나는 懷疑的이다。OpenAI와 Anthropic은 이미 必要한 걸 다 긁어갔다。GitHub도 모든 코드를 갖고 있다。訓練 데이터는 이미 存在한다。
하지만 여기서 나는 antirez의 樂觀論과 갈라선다。그는 中央化를 걱정하면서도 中國產 오픈 모델 等을 通해 市場 競爭이 解決해줄 거라고 믿는 듯하다。그리고 開發者들이 어떻게 適應하고 이 道具를 活用할 수 있는지에 集中한다。重要한 얘기지만、더 깊은 質問을 비껴간다。이 變革은 어떤 條件에서 일어나는가?
質問은 LLM을 쓸 것이냐 適應할 것이냐가 아니다。그 배는 이미 떠났다。質問은 누가 모델을 所有하느냐다。모델을 訓練시킨 公有地로부터 누가 利得을 보느냐다。數百萬 F/OSS 開發者가 自己 코드를 公共에 寄與했다면、結果로 나온 모델이 獨佔이어야 하나?이건 單純히 中央化나 市場 力學 問題가 아니다。集團 勞働의 열매가 集團에게 남느냐、私有 財産이 되느냐의 問題다。
唯物論的 讀解
自由·오픈 소스 소프트웨어 歷史를 唯物論的 렌즈로 보면 明確한 패턴이 보인다。技術 變化가 새로운 形態의 搾取를 만들고、그 搾取는 公有地를 保護하기 爲한 새로운 形態의 라이선싱을 요구한다。
軌跡을 살펴보자。
GPLv2(一九九一)는 바이너리 配布 問題를 다뤘다。企業들이 GPL 코드를 가져다 컴파일해서 바이너리만 配布했다。自由 코드로 事實上 獨佔 소프트웨어를 만든 것이다。解法은 카피레프트(copyleft)였다。소프트웨어를 配布하면 소스 코드도 提供해야 한다。
GPLv3(二〇〇七)는 티보이제이션을 다뤘다。TiVo 같은 企業들은 技術的으로는 소스 코드를 提供했지만 하드웨어 락으로 修正版 實行을 막았다。解法은 소스 코드뿐 아니라 設置 情報까지 要求하는 것이었다。使用者가 修正할 自由를 維持하도록 말이다。
AGPL(二〇〇七)은 SaaS 虛點을 다뤘다。企業들은 소프트웨어를 配布할 必要가 없다는 걸 깨달았다。서비스로만 돌리면 GPL 配布 要求事項이 作動하지 않았다。解法은 네트워크 相互作用을 配布와 同等하게 取扱하는 것이었다。
每番 같은 패턴이 反復됐다。새 技術이 旣存 라이선스의 間隙을 드러내면、企業들이 그 間隙을 惡用했다。그러면 커뮤니티가 間隙을 메우는 進化한 라이선싱으로 對應했다。이건 理想主義가 現實을 만나 失敗한 게 아니다。辨證法的 發展이다。變化하는 物質的 條件에 맞춰 우리 道具를 精製하는 持續的 過程이다。
이제 또 새로운 間隙이 보인다。바로 訓練 虛點이다。企業들은 F/OSS 코드를 獨佔 모델의 訓練 데이터로 쓸 수 있다。모델을 公開하거나 訓練 出處를 밝힐 義務도 없다。典型的인 搾取다。互惠性 없는 價値 抽出이다。
唯物論的 對應은 새 技術을 拒否하는 게 아니다。라이선스를 進化시켜 包括하는 것이다。
訓練 카피레프트가 어떤 모습일 수 있을까
나는 GPLv4나 TGPL (Training GPL) 같은 것을 꿈꾼다。이런 條項들을 包含해야 할 것이다。
訓練은 明示的으로 許容한다。코드는 機械 學習 모델의 訓練 데이터로 쓰일 수 있다。F/OSS 自由 原則과 一致하고 分野 差別을 피한다。
하지만 그 結果物인 모델은 解放되어야 한다。該當 코드로 訓練한 모든 모델은 互換 可能한 카피레프트 라이선스로 加重値(weights)를 公開해야 한다。GPLv3가 바이너리에 소스 코드를 要求하듯、訓練 카피레프트는 訓練된 시스템에 모델 加重値를 要求한다。
訓練 데이터는 文書化해야 한다。依存性을 文書化하길 期待하듯、어떤 데이터로 訓練했는지 明確히 밝혀야 한다。
파인튜닝(fine-tuning)된 모델도 義務를 물려받는다。카피레프트 모델을
파인튜닝하면 派生 모델도 公開해야 한다。조금만 修正해서 새 것이라
主張하기
回避를 막는다。
네트워크 使用도 義務를 賦課한다。AGPL처럼 API로 모델을 提供하는 것도 配布로 看做해 加重値 公開를 要求한다。
技術的 挑戰과 先例
이게 技術的으로 可能할까?執行할 수 있을까?妥當한 質問이지만 새로운 質問은 아니다。以前 모든 GPL 進化에서 똑같이 提起된 質問이다。
바이너리가 當身 소스 코드로 컴파일됐다는 걸 어떻게 證明하나?하드웨어 락이 修正을 막는다는 걸 어떻게 證明하나?서비스가 當身 코드를 돌리고 있다는 걸 어떻게 證明하나?每番 答은 技術的 證據、커뮤니티의 監視、때로는 法的 措置의 組合이었다。完璧한 執行은 不可能하다。하지만 라이선스가 無價値하단 뜻은 아니다。GPL 違反은 일어나지만 GPL은 作動한다。巨大한 公有地를 만들고 保護해왔다。
特定 코드가 訓練에 쓰였다는 證明은 소스 코드가 바이너리에 쓰였다는 證明보다 確實히 더 어려울 것이다。하지만 넘을 수 없는 건 아니다。訓練 데이터셋은 文書化할 수 있다。모델 系譜는 追跡할 수 있다。統計 分析이 訓練 出處를 識別할 수도 있다。더 重要한 건、라이선스 存在 自體가 遵守를 向한 社會的·法的 壓力을 만든다는 것이다。
混合 訓練 세트 問題도 있다。TGPL과 非TGPL 코드로 함께 訓練하면?이것도 GPL과 非GPL 코드를 링크하는 問題와 類似하다。數年間의 커뮤니티 實踐과 이따금의 法庭 事例로 解決돼왔다。細部事項은 따로 풀어야 할 問題지만、큰 方向은 맞다。
이게 왜 撤收보다 重要한가
著者의 撤收 戰略은 感情的 呼訴力이 있다。接近을 拒否하고 當身은 우리를 尊重
안 하니 우리 作業을 가질 수 없다
고 말하는 것은 이른바 사이다
처럼
痛快하다。하지만 여러 面에서 더 큰 그림을 놓친다。
一旦 이 戰略은 戰場을 크게 讓步한다。F/OSS 開發者들이 코드를 公開 接近性에서 撤收하면、그저 AI 訓練을 막는 게 아니라 오픈 소스 AI 訓練만 막는다。OpenAI와 Anthropic은 이미 필요한 건 다 긁어갔고、巨大한 데이터셋을 갖고 있다。撤收가 막는 건 Llama나 Mistral 같은 프로젝트와 더 넓은 오픈 소스 LLM 生態系가 良質의 訓練 데이터에 接近하는 것이다。
더 根本的으로는、問題를 잘못 짚고 있다。技術 自體가 아니라 그것을 누가 어떻게 쓰느냐가 問題인데 말이다。LLM은 컴파일러나 웹 서버가 本質的으로 搾取的이지 않은 것처럼 本質的으로 搾取的이지 않다。道具일 따름이다。資本主義 下의 모든 道具처럼 權力을 集中시키거나 分散시키는 데 쓰일 수 있다。使用 條件이 아니라 拒否에 集中하면 疾病이 아니라 症狀만 治療할 危險이 있다。
커뮤니티 分裂 危險도 있다。著者는 非倫理的 道具
의 使用者들을 排斥하고
歡迎 받지 못하게 만들고 孤立시키자고 한다。하지만 어디까지가 使用인가?누가
F/OSS 프로젝트 패치를 作成하는 데 GitHub Copilot을 쓴다면?디버깅에 ChatGPT를
쓴다면?正確히 어디가 線이고 그걸 누가 결정할까?이런 純粹性 테스트는
歷史的으로 目標 達成보다 運動 分裂에 더 效果的이었다。
하지만 가장 致命的인 건、實際로 作動해 왔던 F/OSS 戰略을 抛棄한다는 것이다。接近을 막는 게 아니라 라이선스로 自由를 지키는 戰略을。GPL의 天才性은 누구에게도 코드 使用을 막지 않았다는 것이다。代身、받은 自由를 다른 이에게도 주도록 要求해서 모두의 自由를 保障했다。撤收는 正反對 哲學이다。
우리가 만들어야 할 未來
나는 強力한 AI 모델이 存在하고、訓練할 餘力이 있는 私企業들만이 아니라 모두가 그러한 모델에 接近할 수 있는 未來에 살고 싶다。數百萬 F/OSS 프로젝트에 인코딩된 知識이 獨佔 모델로 私有化되는 代身 公有地의 一部가 되는 世上를 바란다。내 코드가 모델 訓練을 돕는다면 그 모델을 나와 다른 모두가 使用하고 硏究하고 修正하고 共有할 수 있는 世上를 바란다。
이 未來는 撤收에서 오지 않는다。參與에서、우리의 라이선싱 道具의 進化에서、우리가 보고 싶은 오픈 소스 AI 生態系를 構築하는 것에서 온다。GNU/Linux를 만들고、우리가 아는 웹을 만들고、우리가 每日 쓰는 道具를 준 것과 같은 戰略에서 온다。
著者는 尊重은 주어지는 게 아니라 얻어지는 것이고、우리를 無視하는 사람들은 똑같이 對해야 한다고 쓴다。나도 이 原則에는 同意하지만 다르게 適用하고자 한다。無禮한 것은 訓練 行爲 自體가 아니라、그 結果物을 私有化하고 共同體에 되돌려 주지 않는 데에 있다。適切한 對應은 우리도 共有를 拒否하는 게 아니다。그건 바닥으로의 競走다。互惠性을 要求하고 우리가 恒常 主張해온 바로 그 自由를 主張하는 것이다。
Linus Torvalds가 Linux를 獨佔으로 維持하는 代身 GPL로 公開했을 때、企業은
이걸 쓸 수 없다
고 말하지 않았다。누구든 쓸 수 있지만 改善하면 共有해야
한다
고 말했다。그 條件、그 互惠性 要求가 自願奉仕 開發者와 巨大 企業을 모두
包含하는 生態系를 만들었다。스마트폰에서 슈퍼컴퓨터까지 모든 걸 돌리고、함께
만드는 方式이 實際로 作動한다는 걸 證明한 生態系를。
AI 時代에도 같은 原則을 適用해야 한다。우리 코드로 訓練 禁止
가 아니라
우리 코드로 訓練하면 모델을 解放해야 한다
로。撤收가 아니라 參與 條件이다。拒否가 아니라 再專有다。
歷史的 機會
唯物史觀은 必然性에 關한 게 아니라고 생각한다。패턴을 認識하고 그에 따라 行動하는 것이다。F/OSS 라이선싱의 모든 主要 轉換은 問題 認識、커뮤니티 論議、法的 革新、漸進的 採擇 패턴을 따랐다。LLM과 關聯해선 現在 그 사이클의 始作點에 있는 듯하다。
機會이다。現在 AI 訓練과 모델 公開를 支配할 規範에 對한 對話가 일어나고 있다。커뮤니티에서 이 問題들에 對한 論議가 뜨겁다。오픈 소스 AI 모델이 늘어나는 只今、어떤 라이선스가 適用될지는 아직 定해지지 않았다。
F/OSS 開發者들이 이 對話에서 撤收하고、戰場을 讓步하고、拒否에만 集中하면、五年 뒤엔 企業과 企業 親和的 法院에 依해 모든 規範들이 設定된 걸 보게 될 것이다。訓練 虛點이 確固하게 確立되고、오픈 소스 AI는 獨佔 모델 對比 永久的으로 不利해질 것이다。
하지만 우리가 參與하고、訓練 카피레프트를 밀어붙이고、모델 解放을 要求하는 라이선스로 코드를 公開하기 始作하면、우리가 그 未來를 만들 수 있다。쉽지는 않을 것이다。法的 作業、커뮤니티 組織化、아마 法庭 事例도 必要할 것이다。GPL이 테스트되고 檢證되는 데 數年이 걸렸다。하지만 結局 作動했고、訓練 카피레프트라고 作動하지 못할 이유는 없다。
결론
「自由·오픈 소스 소프트웨어와 LLM 學習에 關해」에 表現된 憤怒와 挫折을 尊重한다。現在 AI 企業들이 나쁘게 行動하고 있고、우리의 作業物을 搾取하고 있으며、法이 不足하다는 點에서、著者가 옳다。내 異見은 우리의 對應이 拒否가 아니라 進化여야 하고、撤收가 아니라 參與여야 하며、接近 禁止가 아니라 라이선싱 革新이어야 한다고 믿는다는 점이다。
質問은 F/OSS 코드에 對한 LLM 訓練이 어떤 抽象的 意味에서 倫理的인가가 아니다。어떤 條件에서 倫理的인가다。答은 F/OSS가 여태까지 보여 준 答과 같다고 믿는다。우리가 附與하는 自由가 保存되고 傳達될 때、改善이 公有地로 돌아올 때、知識이 自由롭게 남을 때 倫理的이다。
크롤러를 遮斷하기보다는 그들이 크롤하는 規則을 바꿔야 한다。GitHub에서 撤收하기보다는 GitHub 訓練이 카피레프트를 尊重하도록 要求해야 한다。AI 道具 使用者를 排斥하기보다는 우리의 自由를 尊重하는 더 나은 AI 道具를 만들어야 한다。
唯物史觀은 가르친다。새로운 生產力은 새로운 生產關係를 要求한다고。LLM은 새로운 生產力이다。訓練 카피레프트는 LLM을 F/OSS 價値와 整列시킬 새로운 生產關係가 될 것이다。
내가 쓰는 코드는 自由롭기 爲해 쓴다。神經網을 通過해 모델 加重値로 나타나더라도 自由롭게 남길 바란다。純眞한 理想主義가 아니다。數十 年間 F/OSS를 이끌어온 바로 그 原則이다。우리는 여러 技術 轉換을 거쳐 소프트웨어 自由를 保護해왔고、이番에도 할 수 있다。
LLM을 拒否하는 게 아니라 되찾아 와야 한다。우리의 公有地가 그들의 私的 庭園이 되는 걸 傍觀할 것인가?나는 코드가 모두의 것이듯、그걸로 訓練한 AI 모델도 모두의 것이 되는 未來를 爲해 싸우고 싶다。