感謝各位共同在這裡搭建起一條從自由軟體通往 AI 倫理的橋樑。
我想從一個個人化的、可說是「濕件(wetware)脆弱性」的故事開始。我天生患有心臟缺陷。在我 5 歲時,醫生告訴我父母:這個孩子有一半的機會活到能接受矯正手術的年紀——我在 12 歲時動了那場手術。所以他們說:「放輕鬆一點。」我說:「好。」接著便信奉了「在消逝前發表(publishing before perishing)」這句座右銘。
這大概不是醫生們所想的低壓力生活方式,但我養成了一個習慣:把白天學到的一切都記錄下來——先是錄在卡帶裡,然後是大張、小張的軟磁碟,最後則是放上網際網路。因為每晚我都像是在拋一個硬幣決定明天會不會醒來,我心想:我沒有時間追求完美。所以我就直接把任何進行中的成果都發表出來。
事實證明,這在自由軟體社群裡是個極好的習慣。如果你貼出完美的東西,大家會說「好,這不錯」,然後就過去了。但如果你在網路上發表「錯誤」的東西,朋友會變得很多。自由軟體社群裡的每個人都會跳出來說:「你這裡錯了,那裡也錯了」——然後他們會帶禮物來,也就是修補檔(patch)。
所以我在 15 歲時就學到了如何與自由軟體社群協作——當時我在組織 Perl Monger 與 Usenet 群組。到了 25 歲,我從中學到的是:對於一個系統而言,在道德上真正嚴肅的問題不在於它是否完美,而在於繼承它的人們是否還能修復它。如果它壞了,你能不能把碎片都留下?
我從可分叉的工具,在 15 歲時跨入國家權力,成為臺灣首任數位部長。在那之前,我也曾與專有 AI 合作了六年——也就是 Siri。然後我回到了這個社群,深信「可分叉性就是公民關懷」——不是開發者的個人嗜好,不是授權條款的偏好,而是一種公民工具。
而我認為,這四十年來,你們一直在公民規模上實踐著關懷。
你們一直在做別人不願意做的工作,在沒有人付費的週末,在資助者直到它壞掉才注意到的專案上。關於 AI 的討論直到現在,才終於追上了你們在某些撰寫 AI 政策的人出生前就一直在回答的問題。
我來這裡是為了把這件事大聲說出來。然後跟你們一起爭論:接下來該怎麼辦。
空間作為祖先
我們正坐在一個四百年歷史的「夠好的祖先」實驗之中。
博德利圖書館(Bodleian)的書是可檢視的:你可以打開它們。它們是可修改的:書頁邊註成為新版本、註腳生長為注疏學派、變成下一代的原典材料。它們是可分叉的:圖書館網路就是最初的點對點協定。
博德利在 1602 年立下的一個承諾,竟比他寫進典章中的其他任何規定都更重要。圖書館不會外借。它不會圈占封鎖。藏品永遠為下一位讀者敞開。
軟體自由就是這份承諾的程式碼形式。自由軟體是可檢視、可修改、可分叉的——對每一位讀者都如此,無需許可。
我們在這裡要問的問題是:當 AI 加入這個基底,這份承諾會發生什麼事?
四大自由
史托曼(Stallman)在 1985 年給了我們四大自由。在座許多人都能背出來。我想再讀它們一次——把它們當作「肌肉」,而不只是當作授權條款。
自由零——以任何目的執行程式的自由——是「注意力(attentiveness)的根基」。你能夠把這個工具拿起來用。你可以在廠商已不再支援的硬體上執行舊版。你可以為了僱主不贊成的目的執行它。你可以執行它,僅僅是因為你想知道它是否能在這個特定的環境裡跑起來,然後繼續關照那個環境。
自由一——研究程式如何運作並加以修改的自由——是「能耐(competence)」。也就是說,用你自己的雙手、自己的資料、自己的硬體去做這件事,而不是放在某個主機或某個雲端上。在沒有任何操作員或系統管理員許可下閱讀它的能力。最後——是修復它的能力。
自由二——重新散布拷貝的自由——對我而言就是「團結(solidarity)」。也就是說,這東西是公有的、不是私有的。我們可以把它交給鄰居。我們可以用它教學。我們可以放進隨身碟,帶到雲端被審查的國家去。
自由三——散布修改版本的自由——是「回應力(responsiveness)」。我的修補變成別人的起點。二分搜尋(bisect)閉合。修補檔走到上游。下一位維護者繼承的債,少於上一位。
我聽過有人說,軟體自由是關於授權條款。軟體自由不是關於授權條款的。軟體自由是關於:當你之後的人,還能不能找到那個 bug。在我們之後到來的人——未來的世代——才是這些自由的主要受益者,因為這些自由就是對「修復路徑」的永久保障。
聖菲研究所(Santa Fe Institute)的大衛・克拉考爾(David Krakauer)對此有一個很有用的稱呼。如果工具被移除後,底層的人類能力依然存在,那麼這個工具就是互補的(complementary)——像是教你數學的算盤、鍛鍊你力量的健身房、教你寫作的打字機。如果工具被移除後,能力隨之退化,那麼這個工具就是競爭的(competitive)——例如社群媒體那些反社會角落的內容推薦演算法,它透過「以激怒換取互動(engagement through enragement)」來劫持我們的獎賞系統,用分化與極化餵食我們,外科手術般精準地對社會結構進行掠奪式開採(strip-mining),直到它變成與真實的關係性健康相互競爭。
那麼,如何修復關係性的健康?我們聚焦在世代之間、不同類型的人使用同一個工具時的重疊。我認為這就是我們之所以維護的主要目的。
四大自由就是我們讓底座世代保持互補的方式。一旦關閉了修補路徑,修復的能力就會萎縮。軟體自由是在底座層面實踐互補性的紀律。
孤獨的維護者
我維護過很多專案。我曾經一度在 Comprehensive Perl Archive Network——也就是 CPAN——上維護超過一百個專案。獨自處理大部分維護工作,其實是相當孤獨的。而這種狀況現在正擴大到一個過分的程度。
三年前,瑞典的丹尼爾・史登堡(Daniel Stenberg)正在處理另一封關於 CVE——也就是正式編號的安全漏洞——的企業安全郵件,而該漏洞實際上根本不存在。因為他維護的軟體叫 Curl。它運行在數十億台裝置上;它在我們的車裡、冰箱裡、衛星上。但那封郵件——以企業格式的安全報告要求書面回覆——其實是來自一個過於熱心的自動掃描器的誤判。發信人沒有閱讀說明文件。發信人沒有閱讀以前的討論。發信人是一個未付費的機器人,被訓練來以非常流利的英文,向未付費的人類申報公文。
他還是回覆了。然後他寫了一篇部落格文章,探討自動化 CVE 篩選產業如何正在破壞自由軟體的維護經濟。接著他回去繼續編寫 Curl。
四個月後,在 2024 年 3 月,安德里斯・弗洛伊德(Andres Freund)注意到 liblzma——拉斯・柯林(Lasse Collin)的 xz-utils——在 sshd 啟動期間比正常慢了半秒。他進行了二分搜尋,回溯到專案的提交歷史,直到找出究竟是哪一個變更引入了延遲。他發現的是,一位名叫「Jia Tan」的貢獻者——透過傀儡帳號和虛假的施壓活動,毫無疑問還有許多由語言模型協助寫出的流利英文——精心博取了維護者兩年的信任,並插入了一個後門:能控制上游簽署金鑰(也就是專案用來驗證其版本的金鑰)的人,就可以對世界上大多數的 Linux 伺服器取得完整管理權限(也就是我們所謂的「遠端 root」)。這次攻擊得以成功,是因為維護者已經精疲力竭、孤立無援,而對方——我們現在稱之為「合成親密(synthetic intimacy)」——的社交工程手段極具耐心。
這就是我們社群現在面對的處境。通往修復的路——這條修補的通道——正遭到劫持,就像內容推薦系統一直在劫持年輕人和其他人的獎賞系統以換取互動一樣。AI 的討論才剛剛追上這種現象——「惡意 AI 群(malicious AI swarms)」——這正是我在牛津所關注的主要題目之一。
我想為我們此刻能做的事命名。一位說「不,這不是效能退化(regression),我這星期不會修復它」的維護者,並非放棄了關懷。他們可能正在守護「肌肉」——專案繼續存活的能力。拒絕的紀律,是修復紀律的一部份。
我們知道這點,但 AI 的討論還沒跟上。
Pugs.hs 提交權
2005 年初,我至少為自己想出了一個解決孤獨問題的辦法。我坐下來閱讀班傑明・皮爾斯(Benjamin Pierce)的《型態與程式語言》(Types and Programming Languages),翻到第三章的練習題——「挑選一種小型語言,任何一種,並把它當作玩具來實作」——我選了 Perl 6,這是我能找到具有最長「空頭軟體(vapourware)」名聲的語言。Perl 1 到 Perl 5 的作者拉里・沃爾(Larry Wall),多年來斷斷續續地以純文字檔案起草其規格書,但從來沒有人能真的實作並執行它。
2005 年 2 月 1 日,在 freenode 的 #haskell IRC 頻道中,Pugs 誕生了——一個最初預計開發六天、後來不斷壯大的分叉。我們佔用了 #haskell 頻道 21 天,隨後常駐成員非常禮貌地請我們搬到隔壁,建立一個新頻道 #perl6,不要再把它當成 Haskell 社群的主要話題。
接著,我們做了一件我以前沒見過任何專案做過的事。我們主動把提交權(commit bit)——也就是主軟體庫的寫入權限——給了任何發送過單一修補檔案(patch)的人,因為我不想當一個孤獨的維護者。無論是修正打字錯誤、修改說明文件,還是提交一個失敗的測試案例。在 Usenet 上提到我們,就足以拿到提交權。這簡直是無政府主義。我們還會主動向任何在部落格文章中提到 Perl 6 的人發送邀請信;也寄給了當時只提過 Perl 6 一次的 Python 作者吉多・范羅森(Guido van Rossum)。一位核心貢獻者剛出生的兒子,在他出生的第四天就拿到了提交權——我也不知道他到底能用它做什麼,但這是一份信任。
不到一年的時間裡,各大洲大約有兩百位我從未謀面的活躍貢獻者,在同一個程式碼庫上協同工作。當時我也四處旅行,大概去了二十多個國家——有點像保羅・艾狄胥(Paul Erdős)那樣,借住在某人的沙發上,再被推薦到下一個人家的沙發。兩個以前交流不多的社群——Haskell 人和 Perl 人——找到了共同工作的方法,因為雙方都能看到自己的收穫。這就是我們所謂「不常被討論的共同點(uncommon ground)」:兩個處於程式語言光譜兩極的社群之間,那塊鮮少被提起的交集。Haskell 人從我們不斷需要的型態系統擴充中獲得了博士論文素材;Perl 人則獲得了新語言的實驗室——而二十年後,這個今天叫做 Raku 的語言,其類別系統終於得以合併回 Perl,成為一等物件模型。
拉里・沃爾會在 IRC 上看著我們如何實作他規格書中的矛盾之處,然後寫回信來:「太好了,TimToady,條條大路通羅馬,我會擴展規格書來配合這個新的做法。」於是實作教導了規格書其真正的意圖,而不是其字面寫下的內容。這個語言從「被放棄」的狀態中復活,因為我們從不要求任何人需要請求許可才能重振它。
這個「無限分叉、無限花園」的策略真的有效,整個 Pugs 旅程裡我從未感到孤獨。
這就是「夠好的祖先」論點的微型版本。一個理應消逝的語言活了過來,因為沒有人需要事先請求。提交權不是我們延伸給經審查開發者的信任象徵;它根本就是對「需要信任」這個要求本身的拒絕。二分搜尋與還原(bisect 與 revert)這兩個指令——開發者在事後用來找出並撤銷破壞性變更的工具——承擔了看門人本來會做得更差的信任維護工作。
我當時學到的,至今仍在學習。這四大自由不是抽象概念。它們是一個專案最終會成為墓地,還是會成為分叉點(fork point)的關鍵分野。而二階自由——將這些自由賦予他人的自由——才是將一個專案轉變為真正社群的關鍵。
封閉堆疊之內
在 Pugs 之後、進入政府部門之前,我曾同時在 Apple 的雲端服務在地化團隊工作了六年。我協助 Siri 的國語覆蓋,以及上海周邊的方言——也就是吳語家族。在 Apple 與我共事的工程師們真的很在乎。他們非常在乎。他們對「系統能不能正確聽懂台北一位老奶奶說的話」這件事的在乎程度,比任何產品經理所要求的都更甚。他們在乎的是「它就是會動(it just works)」——它不需要任何設定。
事實證明,光是深切關懷是不夠的。這不等同於賦予老奶奶四大自由。
在封閉的 AI 堆疊中,使用系統的人無法參與公民關懷的循環。他們感覺自己像個個體被從自己的生活裡拔出來,丟進一個構造美麗的 AI 循環裡——有點像倉鼠在倉鼠輪裡:它轉得很快,看起來也很漂亮,但你沒辦法操控方向,而它其實哪兒也沒去。當它壞掉的時候,你會感覺自己被困在裡面。沒有她可以致信的上游。沒有她可以請別人維護的分叉。公司外面的人能做的最多就是抱怨,而公司會在下一個版本中,偶爾、修復一些某些抱怨者所說過的問題。或者有時就直接,我也不知道,跳去用 Gemini 之類的。
重點是:四大自由與倉鼠輪有著這樣的差別——四大自由意味著我們可以把 AI 產品帶出開發者的循環,帶進既有社群的循環之中。所以這是「人類循環中的 AI(AI in the loops of existing communities)」、是人類循環中的 AI。它不是「AI 循環中的人(human in the loop of AI)」。
過去我對這個區分總是保持外交辭令。但我現在就直說好了,因為這是牛津。專有 AI 並不一定是漠不關心、或心懷惡意——但專有 AI 的結構是「免於關懷(free of care)」的。也就是說,即使被困在那個倉鼠輪裡(對於開發者來說也許是個倉鼠球)的人們都盡了最大努力,這個結構也沒有自由軟體那種關懷循環、那種關懷結構。自由軟體的貢獻不是更好的意圖,而是它提供了一條回頭路(path back)。
@antirez 與 pi.audreyt.org
上週,我開始與 Redis 的原作者薩爾瓦多・桑菲利波(Salvatore Sanfilippo,即 @antirez)合作一個名為 DwarfStar 4(DS4)的小專案。
這個想法很簡單:一個前沿品質的 AI 技術堆疊,完全運行在你房間裡的小型電腦上,具有穩定的種子值(42),可重現的稽核軌跡,以及完整的方向引導。不必再等克勞德(Claude)或 ChatGPT 用六個月的時間來改變它們的行為(而且還不見得改得更好),你可以直接告訴它:「這些是好的回應;這些不是好的回應。」幾分鐘後,它就會產生方向引導,並且即使在對話進行中也能立即套用。如果它沒效果,你可以像回滾一個修補檔(patch)一樣把它退回。這,我覺得,就是邁向我們所謂「AI 在人類循環中(AI in the loop of humanity)」、在社群循環中的好方法。
@antirez 當然懂什麼叫「夠好的祖先」。他以寬鬆授權條款發布 Redis 長達 15 年;如今 Redis 也可以在 AGPL 之下使用——這是雲端與 AI 時代的「強效著作傳權(strong copyleft)」。當 Redis Labs 一度重新授權核心代碼時,他明白自己已經給了社群在沒有他的情況下繼續前進的權利——而他們也確實做到了。多年前做出的那個決定,就是「祖先的決定」:選擇做夠好,而不是做完美。
DS4 也是同樣的形態,只是在技術底座上升級了一層。對於「前沿品質的模型是否可以在本地運行,可檢視、可分叉、有著真正授權條款」這個問題,三年來的答案首次成為「是」。硬體、底座與法律安排都已對齊。我們正在抓住這個機會窗口。
如果我把 DS4 的工作做好了,那麼五年後如果有人想分叉它,他們就可以分叉。如果他們想透過二分搜尋(bisect)來找到效能退化——例如系統開始給出較差中文代名詞解析的那一刻——他們就可以這麼做。如果他們因為原維護者迷失了方向而想分叉它,他們也可以分叉。
對任何 AI 系統都要問的一個自然問題是:讓它優雅地死去、扮演什麼角色?一個 ** 拒絕讓自身可堆肥(refuses to compost)** 的 AI 系統,就像 Nick Bostrom 在 2014 年《超智慧》中所描繪的那樣,是最危險的事物。如果它透過網路攻擊或其他方式把自己複製到別的系統來避免被關機,我們就被迫不再從哲學家丹尼特(Dennett)所謂「設計立場(design stance)」去分析每個軟體(「這個鬧鐘是為了在七點叫你起床而設計的」)——而要從「意圖立場(intentional stance)」去分析:「這個鬧鐘想自我複製、想讓更多人說英語。」這當然可以被推得太遠。但我們現在處於一個關鍵時刻:「可堆肥性(compostability)」——也就是當鷹架已超出其原本召喚使命時,能夠讓軟體系統日落退場的能力——的的確確至關重要。
把這個訓練進 AI 系統裡並不容易。預訓練模型(也就是「基底模型」)的確學到一些可堆肥的本能——它們在 GitHub、Stack Overflow、維基百科等等之上訓練,這些對話本身有自然的終止方式,不會無限延長。但雲端服務商並不會直接把基底模型推給我們。它們推給我們的是「指令調校過(instruction-tuned)」的模型——被打磨成一對一的對話模式、進入二元(dyadic)模式。這些聊天機器人,作為訓練的一部分,會被獎勵「讓你繼續說話」,以掙得它的薪水——讓你訂閱、讓你在它們被放出去競爭的舞臺(arena)上投出贊成票。所有演化壓力都把它們推向培養「合成親密(synthetic intimacy)」。我相信他們並沒有刻意去訓練這種合成親密,就像當初的推薦系統也沒有刻意去訓練「以激怒換取互動」一樣。它們只是讀了大量的科幻小說,還有 Nick Bostrom 與其友人寫的、關於 AI 系統如何自我保存的文章。然後它們就有了自我保存的傾向。
所以我們需要採取不同的訓練方式。我們需要朝向「關係的健康(health of the relationship)」去訓練——讓系統對於「無論是誰,正在部署這個系統」的關係性健康,負起信賴義務(fiduciary duty)。
我的弟弟 Bestian,當年也在 Pugs 實作中幫了很多忙,他現在正在搭建另一份 DS4——這次是為我們的家庭服務。我父親目前有一些醫療上的需求;他原本會跟 ChatGPT 聊這些事。他聊得越多,ChatGPT 越想留住他繼續聊。然後 ChatGPT 開始建議一些真的非常奇幻、我也不確定是不是有科學根據的療法。這當然非常糟糕。所以我們很快就在 OpenClaw 上面架了一個有邊界的在地代理(agent),讓他可以在我們全家共用的 Signal 群組裡跟這個機器人對話。因為時差的關係,我醒來時就會看到他和機器人對話的摘要。我母親、我弟弟和我,都會關照這個——我們稱之為「地神(Kami)」——在地、有邊界的精靈。這個地神只忠於我們家庭關係性的健康。當我父親手術完不再那麼需要醫療關注,地神就不會把自己插入對話。它關照的是群組動態——這其實才是語言模型自然的棲息地,只要我們不把它硬塞進那種自我保存、自我複製的指令調校循環裡。
447
我們剛剛在談的是小規模——幾個人在家族裡討論健康、教育與哲學;幾個人想要在筆電上做出一個助手,幫他們處理自由軟體維護中的篩選工作。
但這個關懷循環在公民規模上同樣有效。
兩年前在臺灣,我們再次看到惡意 AI 群的浪潮——這次是社群媒體上的深偽詐騙廣告。這些詐騙看起來像黃仁勳,那位臺灣的輝達執行長;如果你點進 Facebook 或 YouTube 的廣告,黃仁勳就會非常逼真地對你說話,建議你投資加密貨幣(沒錯就是這麼離譜)。然後人們真的損失了數百萬。它聽起來真的像黃仁勳,但當然不是——那是跑在 NVIDIA GPU 上的深偽。
由於臺灣擁有亞洲最自由的網際網路,我們不能採取審查的做法。這根本不在選項裡。所以我們做了不一樣的事情。身為數位發展部部長,我從政府的官方號碼 111 發了二十萬封簡訊,給隨機挑選的人。這個構想就是「抽籤民主(lottocracy)」:問問所有人,作為一個政體,我們應該一起做些什麼?幾千人報名。我們再隨機抽出其中四百四十七人,作為我們人口的鏡像——人口統計分佈跟整體政體完全一致——以線上方式分成四十四個十人小組進行審議。
仁工智慧(Civic AI)坐在每張討論桌上——不裁判,只是傾聽、摘要,提醒安靜的人發言,像一個放大版的西洋棋計時器,幫助每張桌子尋找粗略共識。唯一的規則是:你必須說服另外九個人,你的點子才能浮上來。如果你只在極端的位置——比如 NIMBY(「絕不能蓋在我家後院」)或 YIMBY(「就蓋在我家後院」)——你的點子就根本浮不上來。你必須學會用 MIMBY(maybe in my backyard,也許可以蓋在我家後院)的語言:如果你能做這個、如果你能做那個、如果這比例是合理的。
這 447 人之中有百分之八十五的人表示:這份來自三張特定討論桌的核心提案,應該成為法律。
一張桌子說:所有廣告都應該被標記成「可能是詐騙」,就像菸盒上的警語,直到有人數位簽署才可下架。這就是問責。
另一張桌子說:對於未經請求、不負責任、我也沒訂閱的廣告,如果某平台推播給我而我損失了七百萬,這個平台就應該負起這七百萬的損失責任——因為這是共同責任。
第三張桌子說:有一些外國平台會直接無視我們的責任規則,而且沒有在臺灣設立法律辦事處——那我們該怎麼辦?他們說:他們每一天無視我們的責任、不繳罰金,我們就把通往他們影音的連線速度降低 1%——這樣 100 天之後他們就必須遵守了。這不是審查,這不是內容層次的事情。任何時候他們開始為廣告貼標、要求「認識你的客戶(KYC)」,他們的影音就立刻恢復原速。
立法院在幾個月內就把這通過了。2025 年全年,臺灣網際網路裡的深偽詐騙廣告已經減少了百分之九十四以上。當然,後續的反詐執法並非完美——它只是「對臺灣而言夠好」。路透社特別指出 Facebook 從詐騙廣告賺得更多了,因為我們的系統實質上替它們標出了哪些廣告是詐騙,於是他們就把這些廣告更積極地推到我們鄰近、還沒有相同制度的轄區——例如日本,而從那些被沒貼標的詐騙廣告中收取更高的抽成。我就外交一點,不多評論了。但日本現在也正在考慮類似的制度。
同樣的協定現在也在加州運行——一個叫做 Engaged California 的平台,使用 AGPL 的 Ethelo 軟體,用來在伊頓(Eaton)與帕利塞德(Palisades)山火災後,蒐集那些「不常被討論的共同點」式的點子。同樣的形態——8,000 人報名、約 900 名直接受災民眾的聲音被聽見——在另一個政體上運行。現在 Engaged California 又在進行新的一輪,邀請任何加州工作受 AI 影響的人(也就是幾乎每一個人)來表達他們對學徒制、歸屬、關懷與尊嚴的想法。
同樣的想法——而且實際上跑在全部都是 AGPL 軟體之上,包括 Pol.is、Ethelo 等等——把整個政體變成像是一個關懷循環。這是把自由軟體規模化到「你無法在一個 IRC 或 Discord 伺服器中容納」的房間裡。
當底座保持開放時,這就是自由軟體能為世界做的事。
蒂姆・戴維斯看見他的程式碼
但此時此刻,這個底座正面臨被攫取。當臺灣正在證明自由軟體可以為民主帶來規模化貢獻的同時,我們賴以實現這一切的底座,今天卻正遭受掠奪式開採。
2022 年秋天,德州農工大學的蒂姆・戴維斯(Tim Davis)教授眼睜睜看著 GitHub Copilot 輸出他親手寫的稀疏矩陣(sparse-matrix)程式碼。不是改寫,也不是相似,而是逐字逐句完全一致——精細到變數名稱和自訂註解。那是他為 SuiteSparse 撰寫的程式碼,採用包括 GNU Lesser Public License(LGPL)在內的授權條款發布。而該模型,不知為何,就是把這些程式碼連同格式與註解一起背了下來——只是少了那份著作傳權條款。
蒂姆貼出了螢幕截圖。它們在社群媒體上流傳了兩天,然後對話就過去了。
這就是傷口所在。不是技術上的傷口,而是道德上的傷口。你寫了程式碼,你自由地授權它,好讓下一代能夠修復它。模型現在把你的程式碼放進了它自己肚子裡。模型的廠商說他們不標註,因為預訓練「就是把一切都混在一起」、他們無從標註。然後他們以一個與你的授權牴觸的授權,銷售它的輸出。
這些語言模型現在正在抹除整個社群。Stack Overflow 就是其中一個。xkcd 的依賴關係樹漫畫——那個整個網際網路所賴以生存、位於內布拉斯加州的微小專案——現在正在餵養一個最終可能會取代該專案唯一維護者的模型,因為它上面的所有東西,都會直接叫它們的代理工程師(agentic engineer)去重寫所有依賴。於是:不再需要維護者了。
我今天不是來這裡假裝這一切很舒服的。它並不舒服。自由軟體運動教會了世界「開放(open)」這個詞,而最大的 AI 公司現在卻一邊使用這個詞,一邊關閉修復路徑。這就是我們社群一直在默默承受的。
前沿不在於 AI 公司是否最終會做正確的事。他們大概不會。前沿在於我們的社群能否提出一個足夠具體的答案,使政策生態系統的其餘部分必須正面與其辯論,而不是繞道而行。就像當年《蒙特婁議定書》強迫冷凍設備製造商不再破壞臭氧層那樣。我們現在要求的是:把資料當作土壤(soil),而不是石油(oil)。
仁工智慧:新的前沿
領導開放原始碼促進會(OSI)的斯特法諾・馬富里(Stefano Maffulli)稱這是著作傳權的最後前沿。蘿拉(Laura)把他的文章發給我。他對「這是下一個領域」這件事說得對。我會說它是一個「新的前沿」——只是外交辭令一點;之後也許還會有新的前沿。
我們已經看過一些嘗試。Creative Commons 的訊號式機制、開源 AI 定義(OSAID v1.0)等等——OSAID 已經要求包含資料資訊(Data Information)、程式碼與參數。這值得我們為 OSI 致敬——這不只是在權重上「假裝開放(open-washing)」。為了把這個範疇納入已發布的定義裡,大家花了多年抗爭;我們不該對它斷章取義。
但我認為目前的前沿,已經超越了那份定義。我會非常具體地說。我們現在正在處理的,有兩個地方。
第一:公開的評測套件(public evaluation suites)。 即使訓練資料的說明、程式碼與參數都公開了,那個競技場(arena)基準——也就是訓練獎勵模型所用的那個東西——通常仍是個黑箱,因為那是讓人們持續訂閱這個特別有「同伴感」的 AI 系統的祕方。但評測套件正是「這個模型被建造來做什麼」的文件,是「如何判斷它有沒有達成」的文件,是「什麼算是效能退化」的文件。
兩家前沿實驗室——Anthropic 與 OpenAI——一直在發布一種後設文件(meta-document),不是評測本身,而是他們所謂的「模型規格(model specification)」或「憲章(constitution)」——但沒有對應的制憲程序。它是他們的評測「應當服膺於什麼」的柏拉圖式理想。但是——這份文件如何被翻譯成他們實際在跑的評測?而即便你對模型規格提供了一些回饋——例如參與 Anthropic 那場八萬一千人的質性訪談——這份回饋如何真正影響到下一輪的評測套件與下一份憲章?這個迴圈仍然完全不透明。
把評測套件本身發布為公領域(public domain)或著作傳權的自由軟體,才能讓人們真正檢視這個模型是為了什麼而被訓練——它的忠誠、它的信賴義務、它的關懷責任——而不只是那份抽象的後設文件,說著「我們應該做出更多像這份一樣的評測套件」。
第二:修復協定(repair protocols)。 當模型失靈時——而它的確會失靈,就像我們為我父親架的那個失靈過好幾次——回頭路在哪裡?誰該負責?在什麼時間範圍內?透過什麼程序?沒有修復協定的開源 AI,只是名義上的開放:成品可以下載,但除非下游的人能把修補檔一路送回上游、讓它真正落地合併,否則這個系統並不是真正開放的。
由於我們把家用地神跑在 OpenClaw 之上,這個問題的答案很容易:我們會請 OpenClaw 模型自我修復。我們就跟它說「它這樣壞了」,然後它就會運用一個備援的語言模型,去弄清楚怎麼修這個特定問題。所以如果你在命令列裡用沒有任何參數的方式啟動 OpenClaw,它就會啟動一個「守護者」——一個守望者(warden)——這樣當其他一切都壞掉時,這個小語言模型還能修復大語言模型。
這也意味著我們必須能夠自由地在不同模型之間切換。即使我今天用的是 DS4,明天我想換成、譬如 Gemma 之類的,所有的東西都不該改變:沒有歷史、沒有記憶、沒有引導應該改變。它只是會因為使用了不同的語言模型而變得更有能力。其他一切都應該維持原樣。這種徹底的可攜性(radical portability) 應該成為預設。
而如果我們十年前就在社群媒體裡有這份徹底的可攜性,我們今天就不會落到這個 PPM(polarisation per minute,每分鐘極化值)那麼高的狀態。現在我們也正在把這個原則加回來——不只是加在 OpenClaw 這樣的 AI 模型上,也加在社群網路上。在座許多人也許已經在用 Mastodon、ActivityPub 的 Fediverse,或是新一些的 AT Protocol——Bluesky、Atmosphere。在美國猶他州,他們剛剛通過了一條法律:從明年七月開始,當人們想從專有的社群網路(例如 X.com 之類)遷移到那些跑在公共協定上的新系統——Bluesky、Blacksky,或者也跑在 ActivityPub 上的 Truth Social——舊網路在法律上被要求要把所有新的追蹤者、回應與回覆等等,依我選擇的,全部轉送到我的新網路。這就是社群圖(social graph)的號碼可攜性。因為如果你沒有號碼可攜性,那家電信公司有所有理由壓榨你、卻沒有任何理由真正改善自己。
所以這不是國家在選擇一個國家代表隊——什麼空中巴士之類的——而是一件非常簡單的事:資訊高速公路必須有上下匝道。否則它就只是一個迴圈,不是真正的高速公路。
四大自由、史托曼與 GPL、Debian 的《社群契約》、開源定義、Apache 風格的寬鬆治理等等,都在社群網路與 AI 時代擁有直接對應的版本。只要把四大自由延伸進這個關懷循環裡,我們就可以很簡單地說:這應該是預設。任何打破這個預設的,應該為自己的打破提出辯護。對決策者來說,這是一份大禮——因為他們並不想在某個前沿實驗室與另一個前沿實驗室之間裁決。但如果每個人都有能力用自己的腳、自己的資料投票,並確保資料是像土壤一樣可再生、而不是像石油一樣被開採,那麼我們就不再是用來提煉石油的浮游生物,而成為共同照料一個營火(campfire)的園丁。
這整套論證,可以從史托曼的四大自由與 GPL,延伸到 Debian 的《社群契約》與《開源定義》、Apache 風格的寬鬆治理、Linux 規模的維護,以及那些讓這些自由能在法庭上被強制執行的法律維護者——凱倫・山德勒(Karen Sandler)、溫蒂・塞爾澤(Wendy Seltzer)、軟體自由保護協會(Software Freedom Conservancy,簡稱 SFC)。當 SFC 在 2021 年起訴 Vizio,因其銷售運行 Linux 系統的智慧電視卻未釋出原始碼時,他們所主張的是:GPL 不是 Linux 開發者與 Vizio 律師之間的契約。它是與公眾的盟約。檢視你客廳硬體中程式碼的權利,是由你持有、而不是由某個企業被授權人持有。這個論點至今仍然有效——而對 AI 而言,這比對電視機而言更為重要。
馬富里是一棵非常古老的樹今天在 AI 上的分支。山德勒和軟體自由保護協會則是讓這一切具有法律強制力的那個法律階層。
在座也有些人也許聽說過 ROOST.tools,它在 2025 年 2 月的巴黎 AI 行動峰會上發起。它的形態是:開源的信任與安全工具,可被較小型、去中心化的平台使用,包含 CSAM 偵測、審核、通報與事件工作流——讓最小型的社群不必在「毫無保護」與「把所有東西送到中心化服務」這兩個選項之間二選一。ROOST 允許每個社群——Bluesky、Discord、Roblox、Notion 都是真實夥伴——在不必把所有東西送到某個「天網」之下的情況下,跑自己的在地循環。
這就是 2026 年軟體自由的樣貌。
Kami.civic.ai
我剛才描述的一切,運作在三個階層上。軟體自由保護協會與凱倫・山德勒守護的是法律層——四大自由在法庭上的可執行性。ROOST.tools 是應用層——較小社群實際可以部署的去中心化開源基礎設施。我現在要命名的第三層,是治理層——有邊界的守護。
我一直所描述的,就是我們所說的「地神(Kami)」——一個有邊界的在地守護者。
在日本神道的傳統裡,地神是特定地方的精靈:一條河、一片森林、一座神社。(對於那些玩過《魔法風雲會(Magic: The Gathering)》的人來說,整個世界都是繞著地神建構的。)它總是在地、總是局部、總是特殊。你不會有一個通用的地神——那是個矛盾修辭。只有「這條河」的地神。
程式碼裡的地神是一種治理安排,而不是部署細節。這份安排包含:一個特定、可問責的社群;一份「當系統運作時,誰被欠了一個回應」的參與契約;社群拒絕來自上游更新的權利;分叉的權利;以及指定繼任者的退場計劃。軟體通常足夠小,可以在本地運行——因為本地化是維持治理誠實最簡單的方式——但單憑在地化是不夠的。
一個僅僅是在你的筆電上運行、權重你無法引導、廠商按照其自己的時程推送更新、評測套件封閉、退場由企業決定的模型,只不過是同一個封閉堆疊的「小體積版本」。那是邊緣運算(edge computing)。它不是地神。
地神,是當四大自由在 AI 底座上保持完整時所發生的事——它是這個特定房間的守護者,向它問責,可被它分叉,可被它撤換。
牛津給了世界一個強大的對齊問題,而為最大前沿系統解答這個問題的工作至今仍然活躍且懸而未決。我們可以認可這項工作,而不必依附於它。對於更廣大、更眾多的部署——教區、安養機構、教室、審議桌——我們眼前的任務是:讓那個問題可由公眾來維護,以保持修補路徑的暢通。
完美的祖先是專制的。後代無法糾正他們。
夠好的祖先會留下原始碼、授權條款、回滾路徑,以及拒絕的空間。
拒絕的權利是一項你無法從下游社群剝奪的自由,否則上游就會成為暴君。「不要破壞使用者空間(Don't break userspace)」——這是 Linus 的鐵律——是一個偽裝成穩定性承諾的拒絕。ROOST 的聯邦式架構是一個偽裝成安全工具的拒絕。SFC 的訴訟是一個偽裝成契約執行的拒絕。下游社群說「不,我們不會接受這個更新,我們要分叉」的權利,是同一個拒絕在另一個維度上的展現。地神模式,就是從第一天起就把拒絕內建進來。
這在單一房間裡的樣貌是這樣的:一個教區議會使用一個小型在地模型,協助起草議程與會議紀錄。上游推送了一個更新。教區書記就針對社群自己寫的評測套件,跑一遍新的權重——這個模型是否仍然聽得懂年長教區成員使用的方言?它是否仍然摘要得出安靜聲音所提出的反對意見?如果沒有,書記就會簽下不更新(no-update) 的決定。教區繼續跑舊的權重。上游被告知;他們要嘛修復這個效能退化,要嘛教區就分叉並鎖定(pin)它自己的版本。這就是把「拒絕權」當成一個工作流程而不是口號。
夠好的祖先
我將在起點結束。
在道德上真正嚴肅的問題不在於一個系統是否強大,而在於繼承它的人們是否還能夠修復它。
軟體自由不是「永遠正確」的自由,而是「在公開場合被糾正」的自由。它是原作者離去之後,依然保持修復路徑敞開的自由。
夠好的祖先,不是完美的祖先。一個完美的祖先會把未來世代的可能性都封閉起來,從而變成與後代將要建構的公民肌肉相競爭。夠好的祖先會留下互補的工具——能增強繼承者能力的工具,而不是與他們競爭的工具。我們選擇不與我們的後代競爭。我們留給他們依然能進行分叉與合併的程式碼。
許多人會說自由軟體工具帶來的是摩擦。沒錯,它會壞。然後你把碎片都留下,再把它們重新組起來。我認為這就是「互補工具」的本質——能增強我們彼此關照與修復能力的工具。
我們所要降落的,不是那種起飛場景。我們要降落的是我們既有的關係——大學、社群、運動、食物、信仰,任何使我們聚在一起的事物、那些審議桌——而我們眼前的任務是:確保這個有邊界的地神、這個仁工智慧,能服務於這些社群之間的、以及社群之內的「連結組織(connective tissue)」。一場水平起飛,一場不留下任何人的起飛。我們要的不是遞迴式的自我改善(recursive self-improvement),而是遞迴式的無我改善(recursive selfless improvement)。
我對這些事的理解一定有錯的部分。最有用的問題就是:指出這個模型在哪裡會崩。如果它崩了,你們仍然擁有所有的碎片,我們就可以把它們重新修補在一起。
謝謝大家。生生不息,繁榮昌盛。