GPL-2.0 相關產品釋出機制的自我評量
建立日期 2007-11-25 08:00 最近更新在 2012-05-23 16:17
作者是 林誠夏
此文的適用客體是以 GPL-2.0 釋出的商用產品,建議欲將 GPL-2.0 軟體應用於商業販售的廠商,可依此於產品販售前進行簡單的自我評量。原始參考文字取自歐洲自由軟體基金會(Free Software Foundation Europe, 以下簡稱為 FSFE)編著之 Useful Compliance Tips for Vendors 一文。本譯文摻雜了許多原文所無的贅字以幫助讀者得其真意,所為者乃提供簡單的中文說明及引論,有意參訪原文者可參照註解所附連結(註一)。而承繼 FSFE 編撰此文的目的,所謂的自我評量清單僅為便利 GPL-2.0 程式的商業利用者,快速掌握 GPL-2.0 程式商用的相關釋出機制,若更有契約條款及法律上的疑問,則廠商應自行徵求法律從業人員尋求其進一步協助。
一、廠商取用 GPL-2.0 程式須注意的基本注意事項
- 檢查產品的買受人能否取得相關 GPL-2.0 軟體的程式原始碼 (Source Code):廠商須存有 GPL-2.0 相關軟體的程式原始碼,以備軟體目的碼 (Object Code) 的收受者提出程式原始碼的索取要求時,能夠即時的予以供給。須特別注意的是、GPL-2.0 程式原始碼的供給義務,乃針對「合法收受 GPL-2.0 軟體程式目的碼之人」而言,產品廠商並非對於不特定公眾皆有提供程式原始碼的義務,許多人就 GPL-2.0 此項提供程式原始碼義務的解釋、普遍上存有相當程度的誤解,誤以為程式原始碼須向不特定公眾為散布,其實 GPL-2.0 授權條款的論理邏輯並非如此,程式的作者以 GPL-2.0 授權條款釋出其軟體程式時,其仍居於著作權人的法律地位而保有其著作財產權,並非軟體程式一經 GPL-2.0 授權釋出即認其劃歸為公共財 (Public Domain) 領域而任不特定眾人皆可取用。論以自由軟體基金會撰寫 GPL 各版授權條款的理念核心,可說都在如何達致「軟體自由 (Software Freedom)」這個中心思想打轉,而「軟體自由」指涉的範圍,自來不同角度解讀的範疇有寬狹的差異,但若以 GPL-2.0 授權條款的實際內容進行闡釋,其可簡化為一句話,那就是「取得程式目的碼之人,即有權取得程式原始碼」,是以 GPL-2.0 軟體程式的相關產品並非不可商業化販售,前提是取得程式目的碼之人,其亦有權利要求產品供應商交付程式原始碼供其深化運用。
- 清楚表列 GPL-2.0 軟體程式作者及貢獻者的顯名權及相關資訊:如廠商釋出的軟體產品中包括著作權人為第三方的自由軟體,其須釐清此一 GPL-2.0 軟體的著作權歸屬關係,如在程式中摻雜了他人編著的自由軟體程式碼,須僅記善盡尊崇原始著作權人的「顯名主義」,透過聲明或其他布告手法表彰其顯名上的權利。一般來說、談到自由軟體裡的「顯名主義」,首會聯想的對象多為 BSD 類的學術顯名條款,但並非表示 GPL-2.0 授權條款便不注重此類彰顯原著作權人及貢獻者的著作顯名聲明,前亦明述、軟體程式以 GPL-2.0 授權條款進行授權,並不表示原始著作權利人放棄其著作權利,是以保留 GPL-2.0 軟體程式原作者的著作權聲明,亦為其授權條款拘束程式散布者的重要義務性要求之一環。
- 檢查散布的原始碼版本是否正確:確認欲釋出的程式原始碼版本是否正確,散布的程式原始碼與目的碼間須有完全的對應關係,從出能夠精準地編譯出程式的目的碼格式;並且不是從權地散布陳舊的原始碼版本,或者根本給予他人錯誤或不相關的原始碼檔案。
- 檢查原始碼公開的範圍是否與 GPL-2.0 授權條款的要求完全相合:確定散布產品開放原始碼的範圍、是否善盡提供 GPL-2.0 相關程式及其衍生作品「完整」原始碼的義務。因 GPL-2.0 授權條款於程式編寫上有其「授權攫取性 (License Capture)」,亦即若程式修改者取用了部份的 GPL-2.0 軟體程式碼,則整個作品皆須以 GPL-2.0 為其日後再行散布之授權條款,故此處所指的提供「完整」原始碼義務,非僅止於結合作品中第三人本以 GPL-2.0 釋出之自由軟體,更包含至此結合作品中修改者另行編寫的其他部份。
- 檢查公開原始碼的資料範圍是否包括了控制編譯和安裝過程的完整資訊:釋出 GPL-2.0 軟體相關產品的廠商,須確定已方是否提供有具體翔實的編譯腳本及安裝流程資訊予收受程式的後手使用,依 GPL-2.0 的規定、提供程式原始碼的義務並非僅是粗糙地將原始碼檔案未經修整的散布出去即可滿足,其要求散布者亦須提供程式詳盡的編譯及安裝資料方可稱之。
- 檢查釋出程式原始碼範圍的完整性:如廠商釋出產品的標的包括其他附屬性的 GPL-2.0 程式(如 GCC 編譯器此一使用率極高的 GPL-2.0 程式),其須注意除了釋出產品的主要應用程式須服膺在 GPL-2.0 授權條款的諸般義務性要求之下,亦不可忽略附屬程式的授權關係亦須依 GPL-2.0 授權條款的內容進行,其雖為附屬性的程式、一經釋出仍須依足 GPL-2.0 預設的遊戲規則,亦即附帶提供這些附屬性軟體的程式原始碼予收受程式的後手。
二、實際散布 GPL-2.0 程式相關產品之前的自我檢測
- 檢查採購合約中是否要求上游軟體供應商揭露其 GPL 相關軟體的使用資訊:出貨廠商須確認承包其軟體編寫的上游供應商,是否已經由明示的書面契約,承諾其善盡取用 GPL-2.0 程式的揭露義務,這項要求是為了釐清責任歸屬,現今許多公司其產品取用了 GPL-2.0 軟體程式之程式碼而不自知,若日後發生相關的法律爭訟,無異陷已於不利的法律地位,是以與軟體承包商諮商契約之初,即應要求上游軟體供應商須善盡其告知義務,及早了解已方產品實際的軟體授權狀態,以對 GPL-2.0 授權程式可能帶來的「授權攫取效應」預做防範。
- 檢查上游的軟體供應商是否提供日後踐履 GPL-2.0 義務性要求所需的所有資料:承上所述、若承包軟體編寫的上游供應商、已明示其於編寫過程中確實採用了部份的 GPL-2.0 軟體程式碼,則此時產品釋出廠商須確保自己能夠從軟體承包商處,取得對應 GPL-2.0 各項義務性要求的充足資料,以協助其可於產品釋出時滿足 GPL-2.0 的各項義務性條款,不致陷已方於 GPL-2.0 授權條款實踐不足的爭議及批評。
- 與上游軟體供應商簽訂書面契約以釐清 GPL-2.0 侵權責任歸屬:若承包軟體編寫的上游供應商,認其編寫的作品與他人的 GPL-2.0 軟體程式完全無涉或不受拘束,那麼對於自由軟體產品販售廠商更為慎重而有保障的作法是,商請此一軟體編寫供應商簽署正式的保證協定,要求其以書面允諾擔保,若日後此一產品釋出後涉及 GPL-2.0 相關爭議,則相關的賠償及開放程式原始碼的補正責任,悉由軟體編寫供應商負責擔當,意即軟體編寫供應商須允諾於最短合理期間內修正 GPL-2.0 軟體程式授權不當的爭議狀態,以避免產品販售廠商釋出的產品受到 GPL-2.0 授權條款實踐不足的批評。
三、散布 GPL-2.0 程式相關產品後所須特別確認的事項
- 確認 GPL-2.0 授權條款的併行散布:產品釋出時須附隨一份 GPL-2.0 授權條款全文,此份文件的附隨散布亦為 GPL-2.0 授權條款的重要義務性要求之一。
- 確認軟體程式原始碼的併行散布:傳統的作法是將產品的程式目的碼與原始碼包裹併行散布,但亦有若干權宜作法。若產品販售廠商採取收受程式目的碼之人,嗣後要求方才提供程式原始碼的作法,則需以一紙正式聲明隨同產品釋出,此份聲明的內容,講述程式目的碼的取得者,得經由何種管道索取相關的軟體程式原始碼,須注意的是、此嗣後單獨提供程式原始碼的服務,僅得收取散布時的工本費用,如燒錄資料光碟片及寄送郵資等成本費用,GPL-2.0 授權條款如此要求的原因仍在於「軟體自由」此一理念的推廣,前已述及、「取得程式目的碼之人,即有權取得程式原始碼」,是以對於已經合法取得程式目的碼之人,此一程式原始碼單獨散布的服務不可要價過高,否則即不符合前述旨趣。
- 確認原始碼下載機制的妥善性:簡單來說、若是商業性的散布行為,GPL-2.0 授權條款特別言明原始碼的提供義務,並不能僅以片面公布一行連結網址供人下載,即認為已為散布廠商充份的實踐。較正規穩當的作法是、將此原始碼資料載於有形的散布媒體之上(如 CD 光碟片),然後與販售產品同時併行散布;當然、產品廠商仍然可在一定條件下,利用網際網路提供下載的機制來完遂此項義務,須特別注意的是、此時因為是商業性的販售行為,原始碼下載連結的說明文件須併隨產品一同傳遞至產品的買受者手上,其並非任意片面的公告、而是得到產品之人同時可資查照並具有保証效力的慎重文件。
- 確認原始碼下載機制的完善性:若是 GPL-2.0 軟體相關產品的販售廠商,從頭至尾皆是利用網路下載的方式提供產品散布,那麼依照 GPL-2.0 授權條款的規定、其須將產品原始碼的下載連結點置於產品目的碼左近,方便下載程式目的碼的使用者,日後若更有需要、便可輕易尋得程式原始碼的下載節點。
譯解此份評量清單的目的、乃是為了協助自由軟體應用廠商,解決、避免一些關於 GPL-2.0 相關產品釋出的常見爭議,且能夠簡便的了解、掌握 GPL-2.0 程式商業面的散布流程。若是讀者有意深入了解相關議題,其全面及官方註解的運作方案,仍請參照自由軟體基金會編著的「GPL 常見問答集(註二)」,及其歷年發布的相關運用指南等,此等說明文件通常言簡易賅、並常以實例說明 GPL 授權條款運用上各式的權利義務關係。
註一:Useful Compliance Tips for Vendors,其原文出處可參照:
https://www.fsfeurope.org/projects/ftf/useful-tips-for-vendors.en.html;正體中文翻譯版本的連結如下:
https://www.fsfeurope.org/projects/ftf/useful-tips-for-vendors_zh_tw.pdf。
註二:Frequently Asked Questions about the GNU GPL,其原文請參照:https://www.fsf.org/licensing/licenses/gpl-faq.html。
您也許有興趣閱讀以下文章: