登入  |  English
感謝您對「自由軟體鑄造場」的支持與愛護,十多年來「自由軟體鑄造場」受中央研究院支持,並在資訊科學研究所以及資訊科技創新研究中心執行,現已完成階段性的任務。 原網站預計持續維運至 2021年底,網站內容基本上不會再更動。本網站由 Denny Huang 備份封存。
也紀念我們永遠的朋友 李士傑先生(Shih-Chieh Ilya Li)。
電子報總覽

開放原始碼的十項定義

一般中文所謂的自由軟體 (free software),真正的意涵是指符合 Richard. M. Stallman 所訂定的四大自由的軟體(註一)。此外還有所謂的開放原始碼軟體 (Open Source Software),指的是符合開放源碼促進會 (Open Source Initiative, OSI) 所訂定開放源碼定義 (Open Source Definition, OSD) 的軟體。

開放源碼定義由 Bruce Perens 所擬,其曾經為 Debian 開發計畫的領導人,並為 Debian 草擬「Debian 自由軟體指導綱要(The Debian Free Software Guidelines, DFSG,註二)」,用來判斷 Debian 計畫中的程式是否為自由軟體,之後裴倫斯將 DFSG 加以修改成為開放源碼定義的第 1 版。目前開放源碼定義由 OSI 維護,最新版本為第 1.9 版,共有十項要件(註三):

  1. 自由再散布 (Free Distribution):允許自由再散布程式,並且不可以因此而收取授權金,不過仍然可以收取授權金以外的費用。
  2. 原始碼 (Source Code):為了使程式可以被修改,所以必須允許程式以原始碼形式散布。散布原始碼的形式不拘,可以透過電子媒介,也可以透過紙本。而除了直接提供原始碼外,也可以先單獨散布程式的執行檔,若收到執行檔之人想要原始碼時,可以再向散布執行檔著索取原始碼,現行常見的做法,是將程式執行檔與原始碼的下載連結置於同一網頁上,於固定網址中提供他人自行下載。
  3. 衍生著作 (Derived Works):必須允許他人可以修改原程式,並且允許他人散布修改過的程式。授權條款可以要求修改過的程式必須採用與原程式相同的授權內容,不過此並非是這項定義中強制性的要求。
  4. 原創作者程式原始碼的完整性 (Integrity of The Author's Source Code):為了保持原作者原始碼的完整性,授權條款可以要求修改版本冠以不同的版本編號,用來和原程式做區別,或者是要求以修正檔 (patch files) 附加於原程式的形式來散布修改程式。這項定義並不是強制性。
  5. 不得對任何人或團體有差別待遇 (No Discrimination Against Persons or Groups):為了讓開放源碼軟體可以廣泛地散布,授權條款內容不得歧視任何人或團體。不過某些國家對於特定種類的軟體設有輸出限制,授權條款中可以提醒使用者可能有這樣的規定必須遵守,不過條款本身則不可以有輸出限制的內容。
  6. 對程式在任何領域內的利用不得有差別待遇 (No Discrimination Against Fields of Endeavor):基於和第五項定義同樣的理由,授權條款內容不得限制程式僅可以或不可以在特定領域中運用,當然也不得限制程式在商業領域中的運用。
  7. 散布授權條款 (Distribution of License):授權條款中的權利繼續適用於收到程式的所有使用者。這項要件的重點並非在於,修改過的程式仍然必須適用相同的授權條款,因此像 GPL 這樣的授權條款也符合這項要件。
  8. 授權條款不得專屬於特定產品 (License Must Not Be Specific to a Product):這一項定義是防止開放源碼軟體的程式被封閉起來。若多個程式一同以一個開放源碼套裝軟體 (package) 的形式散布時,若其中一個程式單獨被拿出來散布時,授權條款不可以限制這個程式繼續以開放源碼授權條款散布。
  9. 授權條款不得限制其他軟體 (License Must Not Restrict Other Software):一個開放源碼程式與其他程式在透過同一個散布媒介體散布,例如 CD-ROM,此時開放源碼授權條款不得限制其他一同散布的程式也必須是開放源碼的。
  10. 授權條款必須技術中立 (License Must Be Technology-Neutral):授權條款必須技術中立,必須使程式可以在非網際網路環境以及在非圖形化使用者環境 (non-GUI) 下散布。若是授權條款規定「點選即視為同意 (click-wrap)」的程序作為使用者接受條款的要件,這樣的規定會阻礙程式透過紙本散布,就不符合技術中立要件的要求。

一份程式的授權條款若是經開放源碼促進會審核通過,符合開放源碼定義,就可以在程式散布時標明為經過開放源碼促進會認證通過的開放源碼軟體。

這十項要件在邏輯架構與文義表達上並非十分嚴謹,所以在判斷一份授權條款是否為符合開放源碼定義時,會有文義之外的解釋產生,或者根本就涉及一項要件是否具有存在必要性的質疑。即使如此,在經過了許多授權條款的審查,以及反覆地公開討論,目前開放源碼促進會對於各項要件均已經有相當具體的審查標準以為依據。


註一:有關四大自由的介紹,請參見「葛冬梅,充滿烏托邦理想的四大自由」:https://www.openfoundry.org/index.php?option=com_content&task=view&id=501&Itemid=56,自由軟體鑄造場電子報,第 35 期。

註二:DFSD的介紹請參見右列網址:https://en.wikipedia.org/wiki/Debian_Free_Software_Guidelines

註三:開放源碼促進會進一步的介紹與開放源碼定義,請參見網站:https://www.opensource.org

註四:給大眾的延伸閱讀:Bruce Perens,「The Open Source Definition」: https://www.oreilly.com/catalog/opensources/book/perens.html。給法律人的延伸閱讀:Andrew M. Laurent, Understanding Open Source and Free Software Licensing (2004), O’Reilly, p. 8~11;Lawrence Rosen, Open Source Licensing (2005), Prentice Hall, p.2~9。



自由軟體鑄造場電子報 : 第 42 期 第二屆台灣自由軟體開發者問卷調查

分類: 法律專欄