Posted on April 12th, 2006 at 19:18 by fr3@K
Free Software(Richard 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 是自由的追求,是個社會運動。
![]() |
|
| Previous Post « C/C++ Tips - The Marco Assert « |
Next Post » CUJ merged with DDJ » |








上週,從 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