自由與開放...之爭?

(刊載於 2001 年 5 月號 Linuxer 雜誌)
(2004 年 4 月更新)


不是軟體分類之爭

長期使用 Linux 的朋友, 大概都聽過 Richard M. Stallman 先生所倡導的 「自由軟體」 一詞 [1], 以及 Eric S. Raymond 先生所倡導的 「開放原始碼軟體」 一詞 [2]。 單單要理解 "free software" 中的 free 究竟是自由還是免費, 就要花費一番工夫了; 現在還得了解 "開放原始碼"。 而 rms 與 esr 兩位大老之間不時為 「自由」 與 「開放」 背後的理念所做的激辯, 更令大家看得一頭霧水。 [軟體分類圖]

「那麼自由軟體與開放原始碼軟體的差別到底在哪裏呢? 」 啊, 請注意您的問題。 您要問的果真是 這兩類軟體 的差別嗎? 那麼不必把這篇文章看完, 我現在就可以很肯定地回答您: 兩者幾乎沒有差別。 不論是創辦自由軟體基金會的 rms, 或是倡導開放原始碼運動的 esr, 所要推廣的軟體都是像 linux 或 freebsd 這類允許使用者自由拷貝, 修改 (當然要有原始碼) 分送, 販售的軟體。 從軟體分類上來說, 這兩個名詞幾乎可說是同一類軟體的兩個名稱。 右圖為自由軟體基金會 (Free Software Foundation, FSF) 所認可的 軟體分類圖; 開放原始碼運動 (Open Source Initiative, OSI) 似乎也從來沒有反對過這張圖, 應該可以算是共識。 圖的左側有兩個大長方形, 藍色是開放原始碼軟體, 白色是自由軟體, 二者幾乎完全重疊, 幾乎沒有差別。 (至於右邊的斜線部分, 下文再談。)

當然嚴格地來說, 既是由兩個機構所定義出來的名詞, 多少會有一些細微的差別; 不過對於我們一般人 (非訓詁學者) 而言, 去探究其間的差別似乎沒有太大的意義。 筆者個人對這個問題, 就像對 「"辭" 與"詞" 兩字的差別」 這個問題一樣, 沒有研究, 也沒有興趣深究。 等到哪一天有一位版權法律專家舉一個 "是自由軟體, 但不是開放原始碼軟體" 的例子, 又舉一個 "是開放原始碼軟體, 但不是自由軟體" 的例子, 並且撰文闡釋這兩套軟體的授權聲明之間的差異時, 我或許會真正了解這兩者的不同; 但即使我一輩子都分不出這兩者的差別, 也無礙於我在文章當中交替著使用這兩個詞 (還是 ... 辭? 饒了我吧! ) 因為到目前為止我所知道的軟體, 不是同時符合兩者的定義, 就是同時不符合兩者的定義。

是政治立場之爭

兩位大老的爭議, 不在於我們社群內所有人共同要推廣的軟體究竟是哪些軟體 (根本就是同一群軟體!), 而在於要怎麼稱呼這些軟體才恰當。 兩位都認為 「名不正, 則言不順; 言不順, 則事不成」; 但對於什麼樣的名字有利於推廣, 甚至對於 要成就的究竟是什麼事, 兩人則有很大的歧見。

rms 認為我們應該要多用 「自由軟體」 一詞來向社會大眾強調自由的重要性, 教導使用者珍惜自由軟體所帶來的自由。 他認為即使大家都使用了 GNU/Linux, 但只知道它開放原始碼的好處, 而不知道自由的重要性, 那麼仍舊不能算是自由軟體運動的成功 -- 因為不懂得珍惜自由的社會, 它所享受的自由隨時都有再度被剝奪的可能。 [3]

esr 則認為我們應該要多用 「開放原始碼軟體」 一詞來爭取商業界的支持, 避免 free 一詞在英文中所帶的 "免費" 涵義讓商業界誤以為無利可圖, 因而卻步。 他認為 Linux 的原始碼開放, 造就了它的技術優勢, 而多向商業界解釋開放原始碼軟體成功的原因, 比試圖將自由的理念推銷給商人, 更有助於我們推廣 Linux。 [4]

您是自由一族, 還是開放一族?

所以對於我們社群內的大多數人而言, 問題不在於軟體的分類, 而在於人的分類 (分陣營) -- 在於用詞者的立場差異。。 您支持 rms 呢, 還是支持 esr 呢? 呃, 這麼問有點以人領黨, 不是很理性的思考方式。 應該這樣問才對: 您支持 "自由" 說帖的理念呢, 還是支持 "開放" 說帖的理念呢? [社群人口的組成: rms 與 esr 的觀點]

顯然, rms 的答案是前者; 而 esr 的答案是後者。 然而 rms 與 esr 都同意: 不論您支持那套理念, 我們共同屬於同一個社群, 我們的對手都是版權私有軟體。 不僅如此, esr 甚至說: 不論你同意與否, 只要你是社群的一份子, 其實也都是 "開放" 的支持者。 當然這麼說是不太公平的, 要支持哪個理念, 應該由每個人自己決定。 所以在作民意調查之前, 應該假設有五個陣營的存在, 像圖示這樣。 至少我們知道支持 "自由" 但不支持 "開放" 與支持 "開放" 但不支持 "自由" 的這兩個集合都是非空集合。 (rms 與 esr 分別是其中的元素) 然而我們不應掉入二分法的迷思: 這兩個集合也可能有交集, 而它們的補集也可能有交集啊! 所以社群的朋友們: 當我們遇到另一位社群的朋友支持我們自己所不支持的一方時, 請別急著說傷感情的話, 說不定他同時也支持我們所支持的這一方呢!

事實上果真要細分下去, 還真個沒完沒了。 社群內有些朋友之所以愛用 這些軟體, 可能既不是因為自由, 也不是因為開放, 純粹只是為了好玩 -- Linux 核心的作者, 也是 "Just for Fun" 一書的作者 Linus Torvalds 正是如此。 如果他跳出來提倡一個新的名詞, 叫做 「亂改好玩軟體」, 難道我們就必須再分出一個流派, 畫分出 9 個陣營, 彼此之間再繼續鬥爭下去嗎? 自由軟體/開放原始碼軟體有那麼多吸引人的優點, 如果有 n 位大老跳出來各挑一個優點堅持以這個優點來命名, 會分出幾個陣營呢? 天啊!

彩色的世界, 多元的價值觀

在一黨獨大 (呃, 我是說一家公司獨大) 數十年之後, 我們好不容易 「在隧道的盡頭看到一線曙光」, 也許我們該期盼的, 不應是用另外一個一統江湖的作業系統, 及另一套不容質疑的價值觀, 來取代現在這一套作業系統, 這一套價值觀。 在即將退流行的版權私有軟體時代 (叫我無可救藥的樂觀主義者吧! ), 大家的思考模式是黑白的: 包裝好的套裝軟體 vs "免費" 軟體。 在自由軟體/開放原始碼軟體的時代, 我們不妨打開心胸, 接受「世界是彩色的」這個事實。[社群人口的組成: 沒有壁壘分明的陣營, 只有漸層混合的色彩]

我把上面的圖重畫一遍, 用一個 rgb 色彩方塊來比喻我們的社群。 與其硬是要把社群內每一位朋友, 以二分法歸類為 "自由" 派或 "開放" 派, 不如請每位朋友在這個連續的彩色方塊上自己選一個落點。 您是為了自由願意稍微犧牲軟體品質的粉紅色嗎? 還是認為軟體品質與好玩一樣重要的青色呢? 當然您也可能是認為 「很多因素共同造成您支持自由軟體/開放原始碼軟體運動」 的白色..。

甚至是對版權私有軟體的使用者乃至生產者, 只要他不違反法律或有意/無意藉著有問題的法律侵犯他人的自由, 我們也應該加以尊重 -- 彩色的世界上, 就是有人喜歡黑色和灰色; 民主時代, 就是有人堅持要選擇不自由的政黨啊! 一套蠟筆, 怎能獨缺黑色與灰色; 自由社會, 怎能剝奪選擇不自由的自由?

更仔細探究, 自由軟體/開放原始碼軟體的定義, 我們會發覺這些好處其實是同時存在的。 對很多社群朋友來說, 被迫就 「自由軟體陣營」 與 「開放原始碼軟體陣營」 二選一, 就像喜歡彩色電視勝過黑白電視, 卻被逼迫要做一個選擇: 「你喜歡彩色電視, 是因為它比黑白電視多出了紅色, 還是因為它多出了藍色? 單選題!」 我們覺得非常無奈, 只能說這個問題非常滑稽。

紅綠藍紫我都喜歡, 中間選民拒選邊站

筆者個人偏好 「自由軟體」 一辭, 因為在中文裏 "自由" 本來就沒有與 "免費" 混淆的問題, 又比 「開放原始碼軟體」 簡潔。 而且在國內 「開放原始碼軟體」 反而有另外一個更難解釋的混淆問題: 最近在臺灣, 完全自由開放的 「開放 原始碼 軟體」 經常被拿來與可能只有一半自由的 「開放 (介面) 軟體」 混為一談。 事實上 「開放軟體」 談的只是介面公開而已。 它允許消費者自由接駁資訊, 不像斜線部分的 「鴉片軟體」 採用封閉的檔案格式/通訊協定/... 等等。 按照自由的程度畫一條光譜, 最左邊的藍色部分是最自由的 自由軟體/開放原始碼軟體; 最右邊的斜線部分是最不自由的鴉片軟體; 至於 「開放介面, 但不開放原始碼的部分自由軟體」 則居於其間。 [5] 順便一提, 個人對於這類軟體採取三不政策: 不認同, 不看好, 不敵視。 自由光譜圖

但是請不要誤以為我反對開放原始碼軟體陣營。 在需要強調原始碼特性的場合, 或是需要解釋開放原始碼與開放介面不相等的場合, 我也不吝使用 「開放原始碼軟體」 一詞。

對於實用主義者而言, 文字是表達觀念的工具, 因此基於避免混淆, 以前筆者建議中文用 「自由軟體」 英文用 "Open Source Software"。 不料後來卻害一些朋友被指責彼冒此名。 仔細想想這樣的指責也有道理: 對於重視名號者而言, 不同的用辭代表用詞者不同的政治立場, 特別是這個用辭放在網站或機關組織名稱時, 更難逃中英譯不一致的最基本指責。

因此建議負責為網站或機關組織命名的朋友, 如果要嚴守政治正確, 避免爭議, 有幾個方式:

  1. 採用國外現在通用的名詞: FL/OSS (Free Libre / Open Source Software) 為求翻譯忠實故, 兩個 "自由" 都應該翻譯出來; 不然就把 Free 或 Libre 拿掉一個字。 (因而造成任何 "損失", 筆者恕不負責 ;-)
  2. 公開徵求建議與投票 -- 程序上雖然最麻煩, 但因為透過公開程序, 將來最沒有爭議。
  3. 學 「軟體自由協會」 兩個名詞都不要用, 改用第三個名詞。 (筆者當初直覺地建議不要與自由軟體基金會名稱相同, 事後看來, 果然是一個可以避免許多爭端的決定。)

至於個人的文章言語, 倒沒有那麼嚴重; 此詞與彼辭交替使用, 也許反而正可以表白作者講者無意選邊站。 紅綠藍紫我都喜歡, 我以身為一個沒有立場的騎牆派為榮! 經過這次總統選舉, 相信您也會同意臺灣需要多一點這種只問道理不問政黨, 合理前提下兩面討好的人, 而不是假自由之名行暴力之實的破門撞牆偏激份子 ;-)

不要戰爭要彩繪

「自由軟體」 陣營與 「開放原始碼軟體」 陣營之間有戰爭嗎? 筆者認為這兩個 "陣營" 究竟是否存在都是一大問題, 更遑論戰爭! 「我們共同喜歡的這些軟體」 之所以優於版權私有軟體, 正是因為它同時在自由, 原始碼, 趣味, 價格... 等等許多方面都提供了版權私有軟體所沒有的選擇空間。

我們從黑暗的世界走出來 (再見, 帝國!) 初次面對繽紛的世界, 不免一時眼花撩亂; 不過等我們習慣彩色世界的美妙之後, 自然就能體會到, 多元的價值觀正是這個社群最可貴的特色之一。 學習尊重別人的選擇與價值觀, 同時也檢視自己的選擇是否符合自己的價值觀, 這應是社群成員的重要修養之一。 且讓我們停止無謂的爭辯, 各自選用各自喜歡的顏料, 共同去彩繪猶在黑暗之中的帝國領土, 共創彩色的未來!

參考資料

  1. http://www.gnu.org/philosophy/free-sw.html
  2. http://www.opensource.org/docs/definition.html
  3. http://www.gnu.org/philosophy/free-software-for-freedom.html
  4. http://www.catb.org/~esr/writings/shut-up-and-show-them.html
  5. http://www.cyut.edu.tw/~ckhung/a/c010.php#opium