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

究竟包含多少的GPL程式碼才算……?

對於 GPL(註一)有所了解的人都知道,一旦一個程式包含 GPL 程 式碼,所開發出來的程式也必須要採用 GPL。GPL 第 0 條第 1 段中 相關的原文是這樣寫的:“... that is to say, a work containing ... or a portion of it, ...”。這樣的規範內容相當模糊,究竟包 含多少 GPL 程式碼行數才可以算是這裡的“portion of it”?若無 行數上限標準,這樣的規定又顯得過於嚴苛。因此各方對於這一段文 字的詮釋總是眾說紛云。

依照 GPL 草擬者 Richard Stallman 所表示的最嚴格標準,即使是 一行 GPL 程式碼,也構成“portion of it”。這樣嚴格的解釋為許 多人所無法接受。

不過因為 GPL 這一項規定內容尚未接受過法院程序的檢驗,因此到 如今也只能眾說紛云,重點就回歸到程式著作權人身上。目前著作權 制度賦與著作權人很大的權限,除非在授權中有寫明,否則著作權人 他可以隨時收回原有的著作權授權內容,改換另外一套完全不同的授 權內容,因此無論大家如何詮釋「包含 GPL 程式碼」的意涵,只要 著作權人念頭一轉,就可以將原有的著作權授權內容改變,直接寫明 為「即使包含一行的GPL程式碼」。

這樣聽起來真是沒有安全感,還好這種事尚未發生在現實生活當中。

不過不安全感依然存在,因此有人開始在技術上做各種規避的嘗試。 其中引起熱烈討論就是,動態連結 GPL 程式碼的方式是否構成 GPL 的“portion of it”。

若是採取靜態連結 (static link) GPL 程式碼,因為在編譯時 GPL 程式碼會被直接一起編譯為目的碼,因此這種情況下所開發出來的程 式,許多人認為是構成 GPL 的“portion of it”。若是採取動態連 結 (dynamic link) GPL 程式碼的方式,因為 GPL 程式碼在編譯時 不會被一併編譯入目的碼,而是在執行時才被載入記憶體中運作,因 此有人認為採用這種方式所開發出來的程式不構成 GPL 所規定的 “portion of it”,在沒有其他限制內容的前提下,程式著作權人 可以自由制定程式授權內容(註二)

而除了靜態、動態連結的區分標準外,就筆者所知,針對 GPL 的 “portion of it”尚未有其他類似或具體的區分標準,因此對於這 項議題有所認識的程式開發者,不是避用GPL程式碼,就是一旦採用 就一定依照 GPL 的遊戲規則來授權所開發出來的程式。

目前 Stallman 所提出的第三版 GPL,對於引起這樣爭論的文字並未 有所修改,因此在可預見的未來,相同的問題、爭論以及不安全感還 是會繼續下去。

註一:有關GPL介紹,請參見:葛冬梅,讓人既愛又頭痛的 GNU/GPL ,自由軟體鑄造場電子報第33期
註二:有關於動態連結的討論可參見此




OSSF Newsletter : 第 54 期 Wikipedia 創辦人 4/7 公開演講
Tags: 授權拘束性,   GPL,  
Category: Legal Column