聊一聊 Mastodon

2020年3月11日

今天剛好是我搭建的 Mastodon 站點“嘟嘟星雲”建站兩周年,借此機會聊一聊我和 Mastodon。

初識

我和 Mastodon 的緣分最早要追溯到五黃鼠的博客《为什么我们需要非中心化的社交媒体?》。當時正值本科結束的暑假,我在家裏很無聊。當時,批判 Facebook、Twitter 等硅谷大公司的風氣正盛,我也剛好是 FOSS 的支持者,所以我就對文中介紹的分佈式社交媒體產生了興趣。

分佈式社交媒體,我素有所知。GNU Social 即是其先行者,而且出自 FSF,又有 Richard Stallman 親自助陣,可謂系出名門。只可惜,GNU Social 并不足夠吸引人,用戶一直寥寥。而且, GNU Social 所倡導的自由,還引起了新納粹等極右翼實力的青睞,這就更糟糕了。

相比之下,Mastodon 更優秀,更對用戶友好。項目創始人 Eugen 所運營的官方旗艦站點 mastodon.social 不僅自由开放、LGBT 友好,而且对歧視等行爲重拳出擊,做了個好榜樣。

在 Pawoo

我最初進入 Mastodon 世界時,選擇了 Pawoo。選擇它是因爲它由 Pixiv 運營。知名商業公司的背書,似乎是穩定的保障。不過,這也只是一廂情願。君不見 Google Reader,縱是飽受用戶喜愛,可是因爲沒有給 Google 公司帶來收益,還是被毫不留情地砍掉。所幸 Pawoo 還沒有遭遇被砍的悲慘命運,可是 Pawoo 的版本號至今一直被鎖死在 2.4.2,已將近兩年未曾有重大更新,運營公司也已易主,其實前景略顯黯淡。

在所謂“主流”看來,Pawoo 不算光明正大。國際上對涉及兒童色情的插畫一直爭議很大。此類插畫在很多國家都違法,有些地方甚至是重罪。但是 Pawoo 對其上可能涉及兒童色情的插畫作品并沒有采取任何限制措施。所以,包括主站在内,很多站點都對 Pawoo 采取了管制。比較輕的限制是不接受媒體文件,這同時也導致頭像無法顯示;更嚴重的措施甚至有直接封禁。

所以,我離開了 Pawoo,架設了自己的站點,定名:“嘟嘟星雲”。

Mastodon 中文社區的發展

早期,Mastodon 中文用戶非常少,站點數量也很有限。我有印象的幾個早期中文站點有 sn.angry.immoe.catacg.mn,以及當之無愧的中文旗艦實例 cmx.im。但是這些站點裏的用戶不是很多。後來,微博修改用戶協議引發了很多用戶的巨大不滿,加上少數派等媒體的引流,一些用戶開始遷移,Mastodon 中文社區也開始有了人氣。最大的中文實例 cmx.im 一度達到了數千用戶。Pawoo 的中文用戶數量雖然難以估計,但是應該也有數千。我在現實生活中的朋友也開始有人從不同的渠道了解到 Mastodon 項目。

樹大招風,在不可抗力的作用下,cmx.im 最後關站了,站點數據庫也不復存在。雖説很多核心用戶漂流到了其它的站點,甚至 cmx.im 也在匿名用戶的幫助下得以重建,另外後來的裏瓣,用戶數也達到了類似的規模,可是 Mastodon 中文社區的狀況注定不復從前。

就像羅馬帝國崩潰了那樣,雖然還有數不清的所謂“第二羅馬”、“第三羅馬”,終究是回不去了。

嘟嘟星雲

在站點成立之初的幾個月,這個站點一直是只有我一個人在用。雖然注冊用戶并不只有我一人,不過大部分人都是注冊完便離開了。

轉折點是 cmx.im 的一次運維事故。由於站長的粗心大意,cmx.im 一度無法訪問/於是有一個零星的用戶不知爲什麽就來到了這裏,并且常駐下來。除我以外的第一個用戶似乎是希兹露。在之後的一年裏,用戶的數量一直在緩慢增長,跨站時間軸逐漸開始出現陌生的内容。在用戶數到達70的時候,我關閉了公開注冊,改成了邀請制。這差不多就是這個站點現在的樣子了。

隨着用戶數量的增長,站點本身也在變化。一開始我在 DigitalOcean 每月五美元的服務器上用 Docker 運行實例。隨著用戶數量的增長,這種小服務器開始吃緊,我又升級到了10美元。圖片越來越多之後,我把媒體的存儲改成了 Amazon S3,這樣再也不用擔心硬盤不夠。爲了能夠方便的修改代碼定制,我嫌棄 Docker 構建太慢,又把 Docker 放棄了,自己維護了一個有少量修改的分支。我試過用 CloudFlare 的免費 CDN,但是這一 CDN 并未對中國有什麽優化,效果并不是太好。

我對 Mastodon 的貢獻

Mastodon 主要技術棧是 Ruby on Rails,對此我一竅不通。我的貢獻是中文本地化。

我開始使用 Mastodon 的時候,中文本地化工作已經很完善了。但是中文本地化工作并沒有得到良好的維護。隨着 Mastodon 的升級,中英混雜的情況開始出現。在一個無所事事的下午,我一口氣把 Mastodon 的中文本地化工作推進到了 100%,以致於後來管理員直接給了我中文的 proofreader 權限。現在的翻譯工作在 Crowdin 上進行,貢獻起來非常簡單,希望能有更多的人參與翻譯和校對。

此外,我還翻譯了 Mastodon 的官方宣傳視頻,並放到了 Bilibili 上。不過只有幾百的觀看量。

展望

目前,Mastodon 中文社區比較停滯,似乎很少有新人加入了。而且,整個 Mastodon 社區的規模也很有限,甚至還有點中心化。舉個例子,我所運行的這個只有七十人的小站點,發出的嘟文的數量在數千個 Mastodon 站點中,能排到第 297 位之高。

不過,Mastodon 的軟件開發一直很火熱,不斷有新功能加入,包括音頻、投票、公告、單欄模式等等。這些新功能也讓我在向別人宣傳 Mastodon 的時候更有底氣。畢竟,從功能上說,Mastodon 已經不輸給 Twitter 這些大公司的產品。

聯邦宇宙(Fediverse)中還有其它的軟件可以和 Mastodon 互通,如 Pleroma。Pleroma 比 Mastodon 更輕量,功能也更花哨。如果我早點知道 Pleroma 的話,或許會選擇用它來創建我的站點。這些軟件的出現,雖然有造成聯邦宇宙碎片化的風險,但是對於自由軟件來説,百花齊放絕對是一件好事。

一個 70 個人的站點意味着什麽呢?由於能和其它站點互通,它就像一個普通的社交媒體;在本站時間軸上,它又更像是即時通訊軟件上的群組。在個人隱私空間愈發被壓縮的“大數據”時代,Mastodon 對我來説是一塊具有黑客精神、自由精神的自留地。希望這片自留地可以盡可能地保留下去。