使用者工具

網站工具


essays_and_articles:openfoundry_legal_column_selected_collections_2011:讓人既愛又頭痛的_gnu_gpl

這是本文件的舊版!


讓人既愛又頭痛的 GNU GPL

葛冬梅/文 2005-05-27

GNU General Public License(以下簡稱 GPL)是第一份以「軟體自由 (Software Freedom)」為號召目標而成文的「自由軟體授權條款 (Free Software License)」,也是目前最廣被使用的自由開源軟體授權條款 (Free and Open Source Software License) 之一。它的誕生緣由,是因為自由軟體之父 Richard M. Stallman(以下簡稱 Stallman),為了其所推動的自由作業系統開發計畫-GNU Project (The GNU Operating System) 尋找適當的授權方式,於是在 1989 年草擬出 GPL-1.0,其後並於 1991 年發布目前最為人通用的 GPL-2.0。從規劃內容來說,GPL 授權條款整個架構與理念,就是源自於 Stallman 所宣示的軟體使用者四大自由(註一):

  • 【自由 0】使用的自由:可以不受任何限制使用該軟體。
  • 【自由 1】研究的自由:可以研究該軟體的運作方式,並使其符合個人需求。
  • 【自由 2】散布的自由:可以自由地複製該軟體並散布給他人。
  • 【自由 3】改良的自由:可以自行改良該軟體並散布改良後的版本,以嘉惠眾人。

為了實現上述進階的研究自由與改良自由,使用者必須可以取得軟體的程式原始碼 (Source Code)。而任何一個符合上述四大自由的軟體就可以被稱為自由軟體。而要落實這四大自由,Stallman 接著設計了一套不同於當時既有模式的著作權授權機制-Copyleft。Stallman 為 GNU Project 建立的 Copyleft 機制的最大特色有二:

  1. 使用者可以免授權金地執行、重製與散布這些程式,並且同樣以免授權金的條件,取得其程式原始碼;
  2. 任何基於這些程式原始版本所開發出來的修正版本 (modification) 或衍生版本 (derivative work),於再散布時、仍然必須採用完全相同的授權方式。

透過 Copyleft 這種預告後向後循環拘束的機制,GNU Project 轄下、以及其他著作權利人以 GPL 授權條款釋出的軟體專案,不僅僅最初原始程式版本是以免授權金、開放原始碼的方式進行散布,就連之後所產生出來的修改版本也一樣。所需要特別注意的是,所謂 Copyleft 的授權模式仍然是奠基在著作權制度 (copyright) 之下,要將作品以 Copyleft 機制散布出去,首要條件就是這個散布人本身即為此作品的原始創作人或是合法被授權人,可以說、自由開源軟體仍然是享有著作權保護的客體。

Stallman 為 GNU Project 所推行的 Copyleft 授權機制,落實為書面的條款文字內容,就成為了 GPL 授權的條款內容,它的要點項目包括:

  1. 散布 GPL 程式目的碼 (object code) 之人(例如:燒成光碟給他人),便有責任提供同一程式之原始碼。倘若使用者先行散布了該程式的目的碼,則得到目的碼之人、即可在取得目的碼之時向其另外索取程式原始碼,而此程式原始碼的提供行為,僅能收取傳送與提供上必要的工本費用。
  2. GPL 授權程式不論是原始版本或是修改版本,於再散布時一律僅能使用 GPL 授權條款來進行散布。
  3. 散布 GPL 程式時,須以不收取授權金的方式讓後手使用者能自由執行、重製、修改與散布程式。不過授權金名目之外的費用是可以合理的收取,例如重製或散布時所需的工本費用,將程式客製化調整或是優化的服務費用,又或者是為後續使用者提供擔保而收取的擔保費用。
  4. 不附隨擔保(no warranty)。因為不收取任何費用,所以 GPL 原則上不對使用者提供任何擔保,不過如上所述,使用者可以自行提供擔保。

GNU/GPL 因為基於 copyleft 所發展出來,再加上條款當中規定, 對於就算是僅僅擷取一小段原始碼來使用,因此而開發出來的程式 也必須要透過 GNU/GPL 來授權,所以有人稱 GNU/GPL 像是病毒一般 (viral license),會將其他的程式原始碼也感染成為開放狀態。這種病毒的感染特性,雖然維持了 Stallman 對於自由軟體自由開 放的理念,卻剝奪了一些使用者對於軟體授權條款內容的選擇權利,所以 GNU/GPL 是集毀譽於一身的授權條款。 這樣的特性對於認同自由軟體理念的程式開發者以及單純的程式使用者來說,是相當受到歡迎的,但是對於那些想要使用 GNU/GPL 程式原始碼,卻不願意將所開發程式原始碼公開出來的人來說,卻是相當頭痛的,因為他們必須割愛去另外尋找合適的替代程式。此外,還有一些人使用了 GNU/GPL 程式原始碼,卻不清楚其中的規定,之後才知道必須開放原始碼,卻礙於一些理由無法將原始碼公開,這種情況在承接政府計畫開發軟體時,就有可能發生,因為依據相關規定,接受政府經費補助所開發出來的軟體,原則上必須在我國境內使用,雖然有例外規定可依循,但是礙於既有行政作業程序的僵化與繁複,依據例外規定並非易事。 GNU/GPL 目前最新的版本為第二版,其中當然有許多適用上的問題,因此由 Stallman 所創辦的自由軟體基金會(註二)正在著手草擬第三版,期待修改出來的版本更為完善。不過上述 GNU/GPL 令人既愛又頭痛的特性,應該還是會繼續被保留,因為就是這些特性使得自由軟體得以廣泛地流通,並且受到越來越多人的認同與支持。

註一:有關 GNU 計畫的緣起與 GPL 產生背景請參見:http://www.gnu.org/

註二:自由軟體基金會 (Free Software Foundation, FSF):http://www.fsf.org/

essays_and_articles/openfoundry_legal_column_selected_collections_2011/讓人既愛又頭痛的_gnu_gpl.1328769315.txt.gz · 上一次變更: (外部編輯)