Free Software vs Open Source
Posted on April 12th, 2006 at 19:18 by fr3@K

Free SoftwareRichard Stallman 於二十多年前離開MIT開始推廣的運動)常被許多人與 Open Source(於1998年由 Free Software 分支出來的運動)混為一談。

Free Software 強調的是行使自由的權利。這裡指的是言論自由(free speech)的自由,而非免費喝到飽(free beer)的自由。這運動主張所有 Free Software 的使用者有權利行使 四種自由

  • 不論目的使用 Free Software。
  • 研究 Free Software 如何運作,並可因應使用者需求修改。使用者必須能取得源碼,為達成這自由的一個前提。
  • 重新發布 Free Software。讓使用者也能幫助他人。
  • 改進 Free Software,對公眾發布修改過的版本,讓整個社群都能受益。使用者必須能取得源碼,為達成這自由的一個前提。

Free Software 運動主張的是使用者的自由/權力,而不是使用者行使該自由/權力所需付出代價(或是$$$)。Free Software 的作者大可對一個使用者收取高額的源碼發布費用,但不能阻止這使用者免費對大眾發布原始或修改後的源碼。或許跟許多人對 Free Software 的刻板印象有不小的出入,但這就是 Free Software 的哲學。至於是否強制使用者將修改過的源碼對外發布,則因不同 Free Software license 而異。部份 Free Software license 允許使用者無條件或滿足特定條件下,不對外發布修改後的源碼。

GPL 是最為人知的 Free Software license 之一。概略的說,除了 Free Software 主張的使用者自由/權利之外,GPL 還加上了保護社群及回饋公眾的機制:

  • 一個軟體必須是 GPL 才能使用 GPL 的源碼或 link GPL 的 library。這主要是為了限制 non-free software 不能站在 GPL 軟體的肩膀上與 GPL 軟體競爭,並鼓勵其他與 GPL 相容 的 Free Software 加入 GPL 社群。
  • 任何人以任何形式發布 GPL 軟體(包含源碼),就必須將該軟體以 GPL 授權給所有的人。被授權並不代表可以向發布者要求一份免費的複本,發布者依然可以向你收費。若沒對外發布過,則不需要滿足任何發布源碼的要求。

LGPL 可說是 GPL 的子集。把上列 GPL 機制的第一項拿掉,再把第二項中的 `GPL’ 字眼換成 `LGPL’ 就差不多了。

不論對 Free Software 哲學認同與否,Free Software 代表的是一種價值觀,一種信仰。相對的,Open Source 運動的訴求則簡單許多 – 就是開放源碼,與使用者的自由/權力無關,有時源碼開放的程度也相對的比 Free Software 少許多,少到近乎好笑的地步。有個 真實故事 大概是這樣子的。1998年,有個以 所謂 Linux 為主題的商展,一位知名公司的高級主管被邀請為主講者,會中他說:

我們不可能公開我們產品的源碼,但我們有可能會對 “公司內部” 開放源碼,例如對客服部開放…..

聽起來幾近不可思議,對公司內部能算開放源碼!?但其實上述情況卻是符合 Open Source 運動精神的。也就是要讓除了(原始)開發人員外,能有更多人能看到軟體的源碼,進而找出更多源碼中的問題,提高軟體品質。

Open Source 只是一種方法,一種軟體開發的方法。而 Free Software 是自由的追求,是個社會運動。

del.icio.us:Free Software vs Open Source digg:Free Software vs Open Source spurl:Free Software vs Open Source newsvine:Free Software vs Open Source furl:Free Software vs Open Source Y!:Free Software vs Open Source 黑米共享書籤:Free Software vs Open Source 推推王:Free Software vs Open Source
Previous Post
« C/C++ Tips – The Marco Assert «
Next Post
» CUJ merged with DDJ »

5 Comments »

Comment #2

上週,從 Google Video 下 載了 Richard Stallman 於2004年10月在澳大利亞首都坎培拉 Australian National University,題為 The Free Software Movement and the GNU/Linux Operating System 的演講錄影(240MB)。

看完之後,更清楚自己對 Free Software 與 Open Source 之間的差異了解得實在是太少了,以為這兩個幾乎是同義詞。光聽一段 speech,即使講者是大師級人物如 Richard Stallman,不但沒能滿足自己對這個題目的好奇心,反而是激發了更大的好奇心。所以就決定找出足夠資料,用寫的方式讓自己對這主題有更多的認識。

從聽演講–>找資料–>blog–>到現在,我的觀點一直在變(或是漸漸成型?)。“不論對 Free Software 的哲學認同與否 ‘ ‘ 這句話是我當時想法的 snapshot。從開始時想這傢伙會不會太極端了,到現在的漸漸了解他想說的是什麼(可能是我遲鈍,或 Stallman 那天沒講好)。我想,我準備好了,會認真思考,自己決定是否被他說服。

Comment by fr3@K — April 14, 2006 @ 14:11


Comment #3

感謝分享,這是我看過最好的中文描述文章之一。

Free software 與 Open source 雖然行徑相似,但核心想法卻迥異,好似理想派與務實派的爭論,至於落差細節,我就不贅言置喙了。

在準備「Evil software:逃避 GNU GPL 的途徑」[1] 時,我心中很掙扎,無論是 Free software 與 Open source,我都打從心中地支持,然,現實社會存在太多灰色模糊地帶,而我能做的,至少是把一些負面的資訊整理起來,作為參考,畢竟這些不過只是「作法」,最重要的還是人類社會中,資訊力量的累積。

期許我們有更美好的明天。

[1] http://blog.linux.org.tw/~jserv/archives/001612.html

Comment by jserv — April 15, 2006 @ 0:23


Comment #4

感謝 jserv 給這篇 blog 這麼高的評價,我打從心底感到開心。

不知道jserv有沒有注意到我的另一篇 blog,你是我會開始 blog 的原因之一。

晚了,明天一大早跟同事約了去逛中關村(北京的光華商場),明晚再去拜讀你的大作。希望能多有機會交流。

Comment by fr3@K — April 15, 2006 @ 1:35


Comment #6

Well, even more confusing are the top selling books titled as “Open Source Licensing…”. Will try to dig this topic more. Thx for ur sharing.

Comment by xchild — April 21, 2006 @ 17:49


Pingback #94

[...] fr3@K 寫了一篇短文 [Free Software vs Open Source],澄清這兩者常被混淆的誤解,細節這裡忽略,不過可以發現這兩者在情境上截然不同的觀點 [...]

Pingback by 從 DRM 看 Free Software 與 Open Source 的差異 — April 19, 2006 @ 5:37


Comments RSS TrackBack URI

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>