跳至主要內容

為什麼開源很重要

日常生活中許多事物都依賴軟體,從你口袋裡的手機、家中的服務,到你每天使用的應用程式。當單一平台控制了這些工具,它就會獲得不健康的權力,並決定你該如何使用它們。

自由與開源軟體將這種權力交還給它應屬的地方:使用者,確保科技服務於你和你的社群,而非企業利益。

總結

  • 開源意味著底層技術是公開的,任何人都可以使用、複製、改進或在其基礎上進行建置。
  • 現代數位生活以你的主權換取便利。自由與開源軟體是奪回主權的實際途徑,為你提供隱私,並保護你免受金錢剝削。
  • 你不需要閱讀程式碼也能從中受益。開放意味著獨立專家可以檢查軟體的實際運作方式,而他們的審查保護了所有人。
  • 以太坊是公開建置的。它的規格、客戶端軟體,甚至這個網站,任何人都可以檢查和改進。

當你買的東西不再屬於你

你的大部分數位生活都由少數幾家大公司營運。你可能無法了解你的資料是如何被使用的、為什麼你的動態消息演算法會改變,而且當你依賴的功能消失時也無計可施。作為交換,一切都很方便。

這並非假設。

2009 年,Amazon 介入了客戶的 Kindle,遠端刪除了人們已經購買並付款的書籍。[1] 就在 2024 年,Spotify 停產了其 Car Thing 裝置,並遠端停用了客戶已購買的設備。[2]

這些案例顯示了封閉軟體的風險:當一個產品依賴於單一供應商控制的程式碼和伺服器時,該供應商就可以決定該產品是否能繼續運作。

開源改變了這種平衡。當產品背後的程式碼是公開的,且其授權賦予了實質的權利時,人們就可以檢查、執行、修復、改編它,並獨立地延續它。這與維修權運動對硬體提出的主張相同,只是應用到了硬體內部的軟體上。

「自由與開源」是什麼意思?

自由與開源軟體 (FLOSS,也寫作 FOSS) 是一種原始碼公開的軟體,任何人都可以執行、研究、分享和改進。想像一道附有完整食譜的菜餚:你可以檢查食材、自己烹飪、傳遞給他人或加以改良。封閉軟體則將食譜和食材保密,因此由一家公司決定裡面放了什麼、誰可以吃,以及你是否能知道真相。

你今天幾乎肯定在不知不覺中使用了開源軟體:

  • Linux,每支 Android 手機以及你造訪的網站背後大多數伺服器的基礎。
  • Firefox,少數擁有自己獨立引擎的主流瀏覽器之一。
  • Signal,一款通訊應用程式,其加密協定也保護著每一則 WhatsApp 訊息。
  • VLC,能開啟其他播放器都無法開啟之檔案的媒體播放器。
  • LibreOffice,一套能讀取你現有文件的完整辦公室套件。

這裡的「自由」指的是自由度,而不是價格。一個程式可以收費但仍然是自由軟體;一個免費的應用程式也可能是封閉且具限制性的。

這個概念很簡單:如果一家公司控制了程式碼,這家公司就控制了使用者。自由軟體顛覆了這一點。它在法律上永久保證軟體對你負責。用白話來說,它賦予了四種自由:[3]

自由使用

按照你的意願、為任何目的、以你自己的條件執行程式。

研究與修改

檢查原始碼以確切了解程式的運作方式,然後修改它以符合你自己的需求。

分享

將程式的精確副本提供給其他人,讓他們也能使用。

散佈修改版本

發布你修改後的版本,讓更廣泛的社群從你的變更中受益。

開源的好處

自由軟體是一個中立、普遍可用的工具,用於控制你自己的數位生活。它不屬於任何政治意識形態或運動,而且對每個執行它的人來說,運作方式都一樣。

可驗證的信任

開放的程式碼讓獨立人士可以檢查軟體的運作方式。關於安全性、隱私和無障礙功能的聲明可以被測試,而不是只能盲目相信。

離開的自由

開放軟體和開放格式可以讓你更容易轉移資料,避免被單一供應商綁定 (細節仍然很重要,因為開放產品也應該提供實用的匯出和遷移選項)。

比其創造者更長壽的軟體

當一家公司倒閉或轉移重心時,開放的程式碼讓任何人都能繼續維持其運作。

更好的合作方式

開源讓人們可以互相學習彼此的作品、回報錯誤、翻譯文字和圖片、撰寫文件、改善無障礙功能,並為商業路線圖可能忽略的個人需求建置工具。

維修權

一個裝置通常會隨著其軟體的消亡而報廢。更新停止、伺服器關閉,原本還能運作的硬體就變成了廢物。維修權運動在法律上對抗這種情況,要求你購買的硬體如果損壞必須可以維修;開源則是這場抗爭在軟體層面的另一半。當擁有該裝置的任何人都可以閱讀和重建程式碼時,它的壽命就會超過開發者想賣給你下一個版本的興趣。

發布的自由

發布程式碼是一種言論,而且必須作為言論來捍衛。發布加密軟體的權利是在 1990 年代透過法庭贏得的。反之亦然。當一家公司控制了一個工具,它就決定了可以用它來說什麼、讀什麼或建置什麼。任何人都可以複製和重新發布的軟體,是無法被悄悄關閉的。

分叉的權利

如果維護者將專案帶往不好的方向,社群可以複製程式碼並繼續走自己的路。像 LibreOfficeJenkinsOpenTofu 等受歡迎的工具之所以存在,都是因為當企業所有者改變方向時,社群行使了這項權利。分叉是防止被控制的保障。

如何轉換到開源應用程式

你不需要一次替換所有東西。從你常用的一個工具開始,探索該工具是否存在任何被廣泛採用的開源替代方案。不同的開源替代方案可能會針對對你最重要的結果進行最佳化,例如更好的隱私、更少的訂閱、本機控制、資料可攜性或貢獻的能力。

在全面轉換之前,請誠實地考慮權衡。自由與開源軟體 (FLOSS) 和保護隱私的軟體有時會以便利性換取控制權。反追蹤保護偶爾可能會破壞使用大量腳本的網站,未被追蹤的搜尋可能缺乏超在地化的預測,而拒絕追蹤你的地圖可能缺乏即時交通資料。你可以下載並試用開源替代方案,看看它是否符合你的需求,然後再完全從封閉的應用程式遷移出來。

開源應用程式

開源與 AI

AI 在這裡是一把雙面刃。大多數人使用的 AI 助理都是在別人電腦上執行的專有服務。但它們同時也是目前幫助你開始使用開源軟體的最佳工具之一。也有你可以自己執行的開放 AI 模型,它們永遠不會將資訊傳回給中心化的 AI 供應商。

幫助你入門的 AI 提示詞

轉換的困難之處很少在於軟體本身:而在於知道有哪些選擇、它們好不好用,以及當東西壞掉時該怎麼辦。AI 助理彌補了大部分的落差,它可以閱讀專案的程式碼並用白話回答,因此你不需要具備開發者的技能,也能檢查你擔心的那件事。

值得詢問的事情。點擊任何卡片即可複製,然後填寫空格:

一個值得更改的 AI 設定

「永遠優先考慮自由與開源選項,並告訴我授權條款」加入你的助理設定中,它就會成為未來每次對話的預設值。這樣一來,開放的替代方案就會出現在 AI 助理的回答中,而不需要你特別去問。

在你自己的電腦上本機執行 AI

大多數聊天助理都是服務。你的提示詞會離開你的裝置,由公司制定規則,而且存取權限隨時可能被更改、收費或終止。事情不一定要這樣運作。

發布了權重的模型可以下載並在你已擁有的硬體上執行。沒有帳戶。沒有 API 金鑰。沒有訂閱。沒有任何東西被傳送到任何地方,所以你可以拔掉網路線繼續工作。而且一旦檔案在你的磁碟上,它就是你的了。沒有人可以棄用你的本機 AI 模型、悄悄更改它或把它拿走。你今天下載的模型,十年後仍然會在那台機器上回答問題。

三種入門方式:

超越程式碼的開放

早在以太坊存在之前,人們就已經提出這些主張並贏得了勝利。他們編寫了本頁面描述的授權條款,贏得了使發布程式碼合法化的法庭案件,並建置了數百萬人賴以在不受監視下發言和閱讀的工具。隱私、所有權、維修、言論自由、閱讀權:以太坊秉持著相同的承諾,因為它源於相同的傳統,而以下的組織正是逐案、逐個工具地繼續捍衛這些陣地的地方。本頁面描述的許多內容都是因為他們而存在。他們獨立於以太坊並設定自己的優先事項,而且他們都值得支持。

捍衛數位權利的組織

也值得了解:

開放知識

網路上一些最有用的知識之所以免費,是因為建立它們的人選擇保持這種狀態,包括經過同儕審查的大學教科書、來自世界頂尖大學的課程教材、數百種語言的百科全書整個地球的地圖,或是原本會被鎖在付費牆後的研究

為什麼以太坊是開源的?

以太坊是一個透過開放規格和獨立開發軟體建置的公共網路。沒有任何一家公司擁有該協定或對人們如何存取它擁有獨占控制權。任何人都可以檢查程式碼、審查提議的變更、執行連接到網路的軟體,或建置使用該協定的應用程式。

  • 網路的規則由多個獨立團隊實作,因此沒有單一公司能控制它的運作。
  • 任何人都可以執行節點並獨立驗證網路。
  • 研究人員和開發者公開討論協定的變更。
  • 貢獻者可以改進程式碼、文件、翻譯、教育、工具和社群資源。

一個不同的未來是可能的,在這個未來中,開放性是內建的,而你所依賴的事物會繼續為你運作。

以太坊的開放性並不意味著建置在其上的每個應用程式都是開源、安全或值得信賴的。你仍然應該評估相關的軟體、合約、團隊和風險。但該協定本身的設計,使其基礎可以在公開場合被檢查和改進。

專有軟體、開源軟體和自由軟體:有什麼差別?

「開放」這個詞常被寬鬆地使用,但其中的差異很重要。以下四個家族涵蓋了你幾乎會遇到的所有情況:

典型授權條款: 完全沒有原始碼的授權

實際範例: Windows、iOS、Photoshop

典型授權條款: BUSL 1.1、SSPL、許多「開放核心 (open core)」授權條款。未經 OSI 核准 (在新分頁開啟)

實際範例: Terraform,在 2023 年 8 月從開放的 MPL 2.0 轉移到 BUSL 1.1。這項改變正是社群分叉出 OpenTofu 的原因。

典型授權條款: MIT、Apache 2.0、BSD、MPL 2.0

實際範例: 萊特豪斯、瑞斯、貝蘇、泰庫 (Apache 2.0);寧布斯 (Apache 2.0 / MIT);本網站 (MIT)

典型授權條款: GPL、LGPL、AGPL

實際範例: Linux (GPL-2.0);以太坊客戶端:go-ethereum (二進位檔為 GPL-3.0,其函式庫為 LGPL-3.0);普萊斯姆、奈瑟邁、Grandine、Solidity (GPL-3.0)

以太坊運行在著佐權 (copyleft) 之上,而不僅僅是「開放」這個詞

許多專案自稱是開放的。重要的是授權檔案,所以這是我們的。

以太坊最關鍵的基礎設施是在自由軟體基金會自己的著佐權授權下發布的:go-ethereum 是 GPL-3.0 搭配 LGPL-3.0 函式庫,而普萊斯姆、奈瑟邁、Grandine 和 Solidity 編譯器是 GPL-3.0,艾瑞貢則是 LGPL-3.0。其他客戶端採取寬鬆路線:萊特豪斯、瑞斯、貝蘇和泰庫是 Apache 2.0。

本網站採用 MIT 授權,且本頁面的每一次變更都是公開可見的。任何人都可以自由地檢查原始碼 (在新分頁開啟)建議變更 (在新分頁開啟)

客戶端多樣性本身就是分叉權利的應用。沒有單一實作能控制網路,而且其中任何一個都可以被更好的東西取代,而無需請求許可。

常見問題

「自由軟體」和「開源軟體」來自相關的傳統。自由軟體強調使用者的權利和自由。開源軟體通常強調實際的好處,例如協作、可靠性和更好的軟體。在實務上,兩者都描述了其授權賦予人們使用、研究、修改和分享的實質權利的軟體。

本頁面將這兩個詞彙合併使用,稱為 FLOSS,因為這種區別很少會改變你能對眼前的軟體做些什麼。

這是一個合理的問題,而答案並非絕對的否定。發布程式碼確實讓攻擊者可以研究它。但它也讓其他所有人都能研究它,而且保密作為一種防禦手段的記錄很差:封閉軟體有著相同的缺陷,只是較晚被發現、按照供應商的時間表揭露,並在適合他們的時候才修復。

誠實的說法是,開放是必要的,但還不夠。嚴重的錯誤曾在廣泛使用的開源專案中多年未被注意到,通常是因為關鍵基礎設施只由一兩個無薪的人員維護。開放所保證的是任何人都可以查看,任何人都可以修復;至於是否有足夠的人這樣做,則取決於專案的資金和人員配置情況。在你依賴某個東西之前,這是值得檢查的,而且這也是一件很容易詢問的事情。

大多數被描述為開放的 AI 模型發布了它們的權重,但沒有發布它們的訓練資料或產生它們的程式碼。你可以執行和改編它們;但你無法完全研究或重建它們。根據本頁面設定的定義,這更接近於「原始碼可用 (source-available)」,而不是自由軟體。

與封閉的替代方案相比,這仍然是一個很大的進步。你下載的開放權重模型無需許可即可執行、無法被撤銷、在背後的公司改變方向或消失時仍能繼續運作,並且可以由任何想檢查其行為的人進行獨立測試。這些好處,也就是離開的自由和比其創造者更長壽的軟體,正是本頁面其餘部分所探討的。開源促進會 (Open Source Initiative) 的 Open Source AI Definition (在新分頁開啟) 闡明了完全開放需要什麼條件,而少數模型 (如 AI2 的 OLMo 和 EleutherAI 的 Pythia) 已經符合這些條件。

延伸閱讀

  1. Amazon 執行長表示刪除歐威爾的書是「愚蠢的」 (在新分頁開啟) - 紐約時報 (存檔)
  2. Spotify 正式終止 Car Thing,剩餘裝置不再運作 (在新分頁開啟) - 9to5Google
  3. 自由軟體定義 (在新分頁開啟) - GNU 專案

尋找替代方案