DrFed:談降低複雜度,讓更多人能形塑 Fediverse

DrFed 是一個網頁平台,用來開發與除錯 ActivityPub 的各種實作。DrFed 由一支四人的東亞團隊開發。我們訪問了其中一位成員 Hong Minhee,談開放、技術、技術規格、他們獲得的 NGI0 Commons 補助、Fediverse 的優勢與侷限、去中心化面臨的語言隔閡,以及更多議題。

分享
DrFed:談降低複雜度,讓更多人能形塑 Fediverse
DrFed
來源:apc.org
作者:Xavier Coadic

我們的系列專題「打造未來的自由網際網路」(Building a Free Internet of the Future)又有新篇章了。在這個系列中,我們每個月刊出一篇訪談,呈現獲得 NGI Zero(NGI0)補助的個人與社群,以及 NGI0 聯盟成員與利害關係人的經驗與觀點。NGI0 由歐盟執委會出資,支持與自由軟體、開放資料、開放硬體及開放標準相關的專案。

DrFed 是一個網頁平台,用來開發與除錯 ActivityPub 的各種實作;ActivityPub 是去中心化網路的開放標準與協定。它讓使用者能檢視物件(object)與活動(activity),並追查「聯邦失敗」(federation fails)的根本原因。DrFed 由一支四人的東亞團隊開發。我們訪問了其中一位成員 Hong Minhee,談開放、技術、技術規格、他們獲得的 NGI0 Commons 補助、Fediverse 的優勢與侷限、去中心化面臨的語言隔閡,以及更多議題。

Fediverse 是由「federation」(聯邦)與「universe」(宇宙)兩個字組成的新造詞,指的是由自由/自由開源軟體、貢獻者以及使用者共同構成的生態系。聯邦機制讓使用者能跨越不同服務互動;舉例來說,擁有 Mastodon 社群媒體帳號的人,可以在 Pixelfed 的照片或 PeerTube 的影片底下留言。「如果我們想要分散式的治理,就必須讓技術對更多人——而不只是既有的權力者——是可行的。」我們的受訪者強調。

本訪談經過編輯,以求清晰與精簡。

你為什麼決定投入「降低」聯邦式伺服器應用程式程式碼「複雜度」的工作?

我第一次嘗試讓自己的軟體與 Fediverse 聯邦互通時,過程並不輕鬆。我先從 ActivityPub 規格開始讀,接著是 draft-cavage-http-signatures-12,然後是 WebFinger。我讀了 Mastodon 的程式碼庫,也讀了 Misskey 的程式碼庫。等到我真的開始寫程式時,我已經累了,而真正的工作才剛要開始。光是要讓我伺服器發出的一則訊息同時出現在 Mastodon 和 Misskey 上,就花了好幾個星期。

大家常說 Fediverse 靠的是互通性。這是真的,但麻煩也正是從這裡開始。光是仔細讀規格還不夠。Mastodon 做了一種選擇,Misskey 做了另一種。有時候規格同時容許兩種做法;有時候規格根本沒說,而各個專案早就自己蓋出了答案。你只能靠一次又一次失敗的請求,把這些答案一個一個挖出來。

我熱愛 Fediverse,正因如此,那段經驗才格外令人挫折。我希望有更多軟體加入它,但那道門檻高到大多數開發者還沒走到任何地方就會放棄。就是在那個時候,我確信複雜度必須降下來。

Fediverse 對你來說是什麼?你為什麼熱愛它?

我以前很喜歡 Twitter。在 2010 年代,韓國的 Twitter——至少我待的那一塊——滿是左派和反文化的人。我在那裡認識了很多人,也學到很多。但那裡從來稱不上安全。

網路霸凌到處都是。有些人能一笑置之,有些人真的做不到。大約在 2018 年,我開始更清楚地感受到這件事。

我開始尋找別的地方,然後跟許多人一樣找到了 Mastodon。一開始我只是喜歡那份安靜。當時韓語的 Fediverse 非常小,幾乎沒有聲音。我喜歡那種平靜,但也覺得無聊,於是開始把更多時間花在更廣大、以英語為主的 Fediverse。我用英文發文的次數,變得比韓文還多。

過了一段時間,我更了解那個地方。那裡有我在舊時韓國 Twitter 上懷念的人:無政府主義者、社會主義者、酷兒、環保人士、女性主義者、毛絨迷(furry)、御宅族,以及許多在企業經營的社群媒體裡格格不入的人。語言隔閡確實存在,但我很喜歡待在那裡。

後來 Elon Musk 買下 Twitter 並把它改名為 X。那時我又開始認真想到韓國。我希望舊時韓國 Twitter 的那種感覺,也能在 Fediverse 裡存在。我希望看到韓語服務在那裡成長。最後,我自己動手朝這個方向努力。

我留在 Fediverse 並不是因為技術。聯邦之所以重要,是因為沒有任何一家公司擁有這個空間。這會改變誰願意現身、以及大家如何行事。人,才是我至今仍留下來的原因。

我們思考、設計、寫程式與開發時,都受到各種因素影響,而這些因素會(連同其他限制)被編織進我們的作品裡。ActivityPub 目前的狀態就是一個例子。這是你在 DrFed 專案中試圖處理的問題嗎?

ActivityPub 是由當時剛好在它周邊做開發的那群人塑造出來的。問題在於,開發 ActivityPub 軟體很困難。成本高到讓許多開發者要嘛放棄,要嘛就緊跟著抄 Mastodon。這可以理解,但也讓生態系一直很狹窄。

DrFed 有一部分就是我對此的回應。目標之一是協助新的實作去嘗試 FEP(Fediverse Enhancement Proposals,Fediverse 增進提案)所提出的想法。我們正在打造一個工具,能檢查某個實作是否正確支援特定的 FEP,讓開發者不必事事手動驗證。

我希望更多人能夠實驗 ActivityPub,而不必先成為熟知 Mastodon 每個行為細節的專家。如果有更多實作負擔得起去嘗試不同的選擇,Mastodon 的選擇就不會再看起來像是 ActivityPub 唯一可能的樣貌。

我的印象是,你非常在意把事情打開,讓更多人能使用並參與這項技術。先把技術面放一邊:支撐這個專案背後政治觀點的哲學是什麼?

大家說 Fediverse 是去中心化的。我也這麼說,但有一個但書:去中心化並不是一個網路的道德屬性。我在意的是它有沒有移動權力——有沒有讓更多人能治理自己使用的空間,而不是等著一小群有特權的人來決定什麼算是言論、什麼算是濫用、什麼算是安全、什麼算是正當。

X、Instagram、LinkedIn——大多數大型社群媒體平台都由美國的私人公司經營。這個事實形塑了整個環境。排序系統決定誰會被看見,審核團隊決定哪些檢舉會被採信。資本有它自己的政治立場,而且通常靠近既有的權力者。

在韓國,反女性主義者曾在 X 和 Instagram 上發動有組織的檢舉行動,針對女性主義者的發言。平台往往把那些檢舉當成有效的。在 YouTube 上,推廣微法西斯主義的內容持續在推薦系統中流動,好像什麼事都沒發生。對我來說,這些不是特例,而是「企業治理從外面看起來長什麼樣子」的例子。

我一再回到的那個詞是「去企業化」(de-corporatisation)。一個協定可以是分散式的,權力卻依然集中。如果 ActivityPub 在技術上是分散的,最後卻由一家私人公司決定 Fediverse 實際上怎麼運作,那麼政治上就失敗了。如果沒有任何一家公司稱霸,但 Mastodon 的詮釋成了唯一可行的版本,這同樣限制了 Fediverse 能成為什麼。

網頁就是危險的前車之鑑。瀏覽器技術已經複雜到,一個獨立的實作者幾乎無法想像從零開始。主要的瀏覽器引擎都由大型組織維護,而且多半是企業。它們跟得上標準不斷膨脹的腳步,因為它們有錢、有人、有律師、有基礎設施。Mozilla 是少數僅存、相對獨立的聲音之一,卻光是要跟上就已經很吃力。

技術複雜度決定了誰能參與。超過某個臨界點之後,只有資本能繼續留在場內。

Fediverse 可能走上同樣的路。隨著技術堆疊變大,Mastodon 大概還跟得上,Meta 用 Threads 當然更跟得上。獨立的實作者則會越來越難進場、難實驗、難提出異議。一個網路可以從外面看起來很去中心化,實際上卻變得非常狹窄。

那是我最害怕的未來。

當我主張要有更簡單的 ActivityPub 工具時,我提的是一個政治主張。應該要有更多人能夠打造 Fediverse 軟體,而不必先成為協定專家。

函式庫、測試套件、文件與良好的抽象設計,都不是小小的便利。它們決定了誰能實作、誰能分支(fork)、誰能治理。

如果我們想要分散式的治理,就必須讓技術對更多人——而不只是既有的權力者——是可行的。

你們獲得 NGI0 補助來進行這項技術/軟體工程工作。但要抵達你所說的那個「地平線」,你的團隊需要什麼樣的工作條件?

拿到 NGI0 補助真的讓我很開心。最讓我高興的不是金額,而是這筆錢的來源。

公共資金和創投的差別不只是來源不同,品質也不同。對我們來說,這是品質高得多的錢。我們獲得支持是為了服務公共利益,而不是為了某個特定群體的私人利益。這個差別形塑了我們工作方式的一切。

讓我挫折的是,這種模式在東亞幾乎不存在。在韓國或日本,自由與開源軟體仍然沒有被普遍當成公共資源看待,至少不像歐洲部分地區那樣。這裡沒有可以相比的公共資助基礎建設。這就是為什麼一支位於首爾的團隊,最後會去申請歐洲的基金。我對此心懷感激,但也覺得荒謬。對自由軟體的公共投資,不應該是歐洲的專利。

語言則是我一再絆倒的地方。

圍繞 Fediverse 的技術討論大多以英語進行,好像這是天經地義的事。

對我來說,讀英文還應付得來,寫就難多了,說更糟。當我發現這次訪談是以文字進行時,老實說鬆了一口氣。我講英文時,總是會讓自己聽起來比實際上更不夠格——那是一種效率極高的羞辱。

Misskey 的作者 syuilo 曾說,因為他不會說英語,即使有話想貢獻,也完全無法參與 Fediverse 的標準化討論。我立刻就懂了。Misskey 是使用最廣泛的 ActivityPub 實作之一,它的作者卻幾乎無法參與協定如何發展的決策。這件事應該讓我們感到羞愧。

我不認為重要的技術場域可以預設使用英語,卻連這個選擇的代價都不願承認。

說英語的人可能會擔心,多語討論會很慢、很不方便。沒錯,這正是重點。非母語者早就每天在承受這種不便——在每一串討論、每一場通話、每一份標準文件裡。我的提議並不是要製造摩擦;摩擦本來就在那裡,只是目前分配得非常不公平。

這就是為什麼「樞紐語言」(hub languages)很重要。它們不會解決所有問題,但至少能停止假裝每個社群到英語的距離都一樣。

但我們要如何用技術,去改變那些在語言、技術與地理上「困」在西方中心思維裡的人的慾望、習慣與實踐(這本身不是壞事,但必須正面處理)?更重要的是,使用一個以 DrFed 為基礎的社群網路,能為我們的日常生活帶來哪些實際好處?

翻譯至今仍被當成一種便利設施。在社群網路裡,我認為那是一個政治選擇。

有許多對「以英語為中心的軟體文化」的犀利批評,是用韓文、日文、華語以及其他許多語言寫成的。說英語的人往往從未看過。最被這些批評指涉的人,可能正是最不可能讀到它們的人。

如果翻譯被內建到平台裡,負擔就會從讀者轉移到系統。一篇韓文貼文可以直接進入英語圈的辯論,而不必先請某個雙語者無償付出好幾個小時的勞動。大家還是會意見不合,只是要說自己沒看到英語以外的發言,藉口就少了。

大多數社群媒體獎勵的是同質性。它只給人們看已經符合自己語言、政治、習慣與語氣的東西。那是一個設計決定。社群媒體是軟體,而軟體是可以改的。

我覺得自己有義務在 Fediverse 裡測試各種替代方案,因為 Fediverse 仍然為這類工作留下了空間。它的治理沒有被封在某一家私人公司裡。這對身為開發者的我很重要,因為關於語言的設計選擇,同時也是關於權力的選擇。

這也是我在 Hackers' Pub 裡試圖處理的一部分;那是我以 Fedify 為基礎打造、給軟體開發者使用的社群網路。翻譯從一開始就是產品設計的一部分。我也在實驗一些演算法上的做法,讓人更容易遇到陌生的觀點,而不是任由動態消息塌縮成一片同質。

Fedify 和 DrFed 從不同角度朝同一個目標努力。因為 Fedify 在 Hackers' Pub 裡處理掉了大部分的聯邦實作,我才有餘裕去思考社交設計,而不是把心力全花在協定細節上。DrFed 則把同樣的喘息空間,給任何需要讓自己的實作與 Fediverse 對話的開發者。兩者一起試著把進入門檻壓低到,讓更多人負擔得起去打造新東西。

這正是我希望這兩個專案能騰出空間去容納的事:一種能夠追問「社群網路對那些不共享同一種語言、同一個國家、同一套預設政治想像的人,究竟虧欠了什麼」的軟體。

Fediverse 裡的東亞社群是什麼樣子?

我所認識的東亞 Fediverse,感覺不像是單一個公共領域,比較像是兩個相互重疊的世界。

有些人是透過英語 Fediverse 進來的。在韓國,這群人比較少,形狀比較像 Mastodon,也比較習慣那些經由英語空間傳來的政治論述。他們許多人偏左,或至少對來自西方的自由派與左派詞彙感到自在。他們常常以國際的角度思考。這有時有幫助,有時卻讓他們忽略了身邊正在發生的事。

另一個比較大的世界則不一樣,它的形狀更接近 Misskey。那裡的對話來自在地新聞、來自 X、來自粉絲圈,來自那些早已跨越日本、韓國、台灣及其他地方彼此連結的人。在那個世界裡,日本很大程度上定調。

我不會主要用國家聲望來解釋這件事。實際上,共通語言是御宅文化。東亞的 Fediverse 使用者仍然以技術傾向強的人為大宗,而這群人和深入動畫、遊戲、Linux 及周邊粉絲圈的人高度重疊。許多韓國與台灣的御宅族懂日文,或者多年來被日本媒體環繞。那套文化有很大一部分來自日本。日本與鄰國之間的歷史是真實存在的,但在這些空間裡,那通常不是人們最先拿來使用的框架。

我個人比較靠近前一個世界。但在韓國,或許整個東亞也是,第二個世界更大、也更日常。

如果你原本不屬於那套文化,也比較難進去。各種指涉來得很快:某部動畫的笑話、某個遊戲角色、某個 Linux 習慣、某個大家都預設人人都懂的 Misskey 功能。有些人始終找不到立足點,有些人則根本不想找。

這是我一直試著讓韓語 Fediverse 比御宅文化更寬廣的原因之一。我想要一些入場門檻不是「共同粉絲圈」的空間。

我也擔心圍繞著它的那套文化的政治傾向。自 2000 年代以來,御宅次文化的主流調性逐漸往厭女與右翼移動。不是每個地方、每個社群都如此,但已經多到足以影響「誰會覺得自己受歡迎」。我把這視為日本乃至整個東亞年輕世代整體右傾的一部分。如果 Fediverse 一直被封閉在那裡面,它就不會成為許多我希望看到的人的家。

最後同樣重要的是:你有沒有什麼放在心上、想要分享的話?

就從你實際在用的網路空間開始想。那裡誰握有權力?誰可以把你踢掉、讓你噤聲,或決定哪些聲音能傳得更遠?

如果權力落在少數幾個人手上,別把那當成理所當然。逼他們把權力交出來。如果他們不肯,就離開。和你的朋友一起找另一個地方。必要的話,就自己蓋一個。

Fediverse 可以是一個起點。它並不完美,我也不想把它當成避難所來推銷。但在那裡,人們仍然可以爭論權力的問題,有時候還真的能改變權力落在哪裡。

這就是我持續投入的原因。


Xavier Coadic 是 NGI0 聯盟的顧問,也是自由/自由開源軟體的行動者,在自由開源文化與社群(軟體、資料、硬體、濕體 wetware、政策制定者與政治團體、研究與開發)領域擁有 15 年經驗。

Read more

美國投降之際,川普忙著開派對

美國投降之際,川普忙著開派對

協議細節尚未獲得證實,但總統當然急著把結果包裝成一場勝利。(川普急於在生日當天簽署協議;如今看來已掌握主導權的伊朗人,卻表示他們會在週五派人前往瑞士參加一場會議。)但即便我們還不知道細節,有一點已經很清楚:他為這場自找的戰爭所提出的每一個目標,川普全都沒能達成,而現在他一心想盡快把美國的屈服簽字、蓋章、定案。

By Jiajun Xu
Fedora Hummingbird 問世:超強硬化的 Linux 發行版

Fedora Hummingbird 問世:超強硬化的 Linux 發行版

Fedora Hummingbird 是 Red Hat 推出的全新滾動更新 Linux 發行版,將整個作業系統以 OCI 映像檔形式發布,主打安全強化。它沿用 Project Hummingbird 的「安全優先」建構流水線,將 CVE 數量維持在接近零的狀態,漏洞修補後會自動重新建構並發布。超過 95% 的套件來自 Fedora Rawhide,所有更新為原子式並支援回滾,根檔案系統為唯讀。與 Fedora Atomic 桌面不同,Hummingbird 不含桌面環境,目標對象是開發者與雲端原生工作負載。目前仍屬實驗階段,尚不適合正式環境使用。

By Jiajun Xu