善用自由軟體資訊清單有效降低法律糾紛的風險
Created at Friday, 22 July 2011 17:54 Last Updated on Wednesday, 30 May 2012 14:41
Written by 葛冬梅
在協助處理各式各樣自由軟體授權問題的過程中,常常發現有許多廠商是在接到侵權警告信之後,才開始著手整理產品中所利用到的自由軟體元件,以及清查這些元件是採用哪一份授權條款來授權,這種事後的清整一來是非常耗時費工的,再者,這中間若有損害賠償的費用產生,廠商還可能因此必須負擔額外的金錢支出。其實這些額外的時間、人力與金錢支出,都可透過一些事前的措施來加以預防,並降低被認定為惡意侵權行為的風險,自由軟體資訊清單就是一個簡單而有效的方法。
【清單的內容】 顧名思義,自由軟體資訊清單記載了一個軟體專案中所利用到的自由軟體元件與授權相關資訊,在有需要的時候可以透過這份清單,讓他人快速而清楚地了解軟體專案所採用的自由軟體元件與授權資訊,有效運用的話,甚至可以降低未來法律糾紛發生的風險。清單的主要內容包括:自由軟體元件名稱與版本號、元件下載網址、授權條款名稱與版本號、商業應用相關資訊等。
1、自由軟體元件名稱與版本號元件名稱必須正確而完整的記錄下來,若是元件有慣用縮寫的話,清單中除了縮寫之外,也必須將元件全名完整登載,以避免可能產生的混淆。而由於自由軟體在改版的同時可能會更改授權條款,因此即使是同一個元件,不同版本間的授權條款也可能不同,因此軟體元件的版本號也必須一併記錄。
2、元件下載網址這部份的資訊可以只記錄一個直接下載元件的網址,也可以記錄下載連結所在的頁面網址,重要的是,其他人可以循著這個網址,再次下載到軟體專案中所利用到的這個自由軟體元件。
3、授權條款名稱與版本號也就是記載元件採用到哪一份自由軟體授權條款,可以記錄授權條款全名,不過由於自由軟體授權條款的全名大多很長,再加上許多常見條款都有統一的縮寫方式,因此可以記錄條款的縮寫即可,而若是不清楚授權條款縮寫名稱的話,建議可以參考 SPDX 標準(註一)的規格書,規格書中訂有簡單而清楚的授權條款名稱縮寫表。此外,自由軟體授權條款承襲了程式開發的版本控制觀念,因此條款內容也會因為修改而產生新的條款版本,不同版本號的授權條款,內容差異可能相當大,所以授權條款的版本號也必須詳實的加以記錄。
4 、商業應用相關資訊若是所開發出來的軟體未來可能被商業化運用,例如成為嵌入式裝置中的韌體加以販賣、技術移轉給商業公司利用等等,在整理這個清單的同時,就可以將一些與商業運用相關、重要的額外資訊一併記錄下來。例如:某某利用到的自由軟體元件同時亦有商業授權版本可以購買;某某元件的商標已被登記註冊,必須要另外支付商標授權費用才可商業散布等等相關資訊。
除了以上的主要內容之外,這份清單還可以包括其他與授權相關的重要內容,例如:元件所採用的授權條款與一般常見條款的不同之處;軟體專案自行開發的部份,是採用哪些另行標註的授權內容;註記不提供原始碼的私有軟體、第三方軟體,其與自由軟體元件之間的互動方式。這些額外的登載資訊,開發團隊可以視軟體專案的性質與個案狀況,來自行決定要如何微調清單的內容,同時,在一併登載非自由軟體元件的授權資訊後,這份清單也因此可以改為「XX專案軟體元件資訊清單」等符合實際內容的名稱。
然而,這份清單的內容建議是隨著軟體開發的過程來建立,也就是一邊開發、一邊記錄所利用到的自由軟體元件與授權資訊,尤其現在許多軟體專案的結構龐大,開發時程長達數年,若是沒有隨著開發過程適時地建立資訊清單,則事後可能需要花費更多的時間與人力來蒐集、整理這些過往的資訊。
【清單的運用】 這樣一份自由軟體資訊清單可以作為善盡法律上告知義務的證明文件,同時預防未來所可能引發的法律糾紛與損失,以下將舉個簡化的例子來說明。廠商甲委託廠商乙開發軟體專案 A,乙在開發 A 的時候,結合許多自由軟體元件,之後甲在市場上銷售 A,但是卻接到自由軟體元件 C 的著作權人丙的侵權警告信,甲轉而要求乙來承擔相關的責任與損失,由於的確是乙將 C 元件結合到 A 裡面,但是卻沒有告知甲相關的授權資訊與必須遵守的義務,因而導致甲遭遇到侵權糾紛,此時乙便極有可能因為其與甲之間的商業契約,而被要求一概承擔甲因侵權糾紛而後續肇生的一切賠償責任;然而,若乙在開發過程中,有仔細地整理其所負責開發的相關自由軟體資訊清單,並在清單中明列 C 元件的授權狀態與使用規則,且在交付 A 專案的同時,也將清單交給甲,透過這種清單編列與移交的方式,乙已經善盡告知義務,未來若仍然發生侵害 C 智慧財產權的法律糾紛,那麼相關的損失就必須由甲自己來承擔。由這個例子可以知道,這份清單可以作為善盡告知義務的證明,這樣甲乙雙方的責任範圍便可因此被切割的很清楚:若是有在清單上的元件未來發生問題,就由甲來負擔責任,反之,則是由乙來負擔責任。
除了應用在廠商委託、承包軟體的狀況外,一個利用到自由軟體元件的政府補助計畫,若是準備將計畫成果技術移轉給廠商,進行商業化運用的話,在交付計畫成果的同時,也可以給予廠商一份自由軟體資訊清單,以善盡告知義務,未來若發生自由軟體元件侵權的話,一旦權利受到侵害的自由軟體元件是在清單之列,那麼這個侵權責任就必須由接受技轉的廠商來自行來承擔(註二)。
當然,以上為簡化後的範例,實際業界的責任分擔關係往往更為複雜,而無法單純地透過這樣一份清單就將所有的責任釐清,但是在一般的原則下,這份清單確實是一個可以有效降低法律糾紛的實用方法。此外,在遇到使用者要求提供 GPL 類原始碼的時候,開發團隊可以透過清單快速了解,要提供的是哪些元件的原始碼,而適時整理清單的過程,會讓開發團隊利用自由軟體元件的行為變得較有意識,對於自由軟體與相關授權的知識也必然會有所增長,例如:開發團隊可以透過編列清單的工作,進一步了解哪些條款互相衝突,哪些條款授權的元件不可以直接結合利用,因此清單的建立也將可以間接降低開發團隊侵權利用自由軟體的機率。
【隨時記錄清單帶來長遠的良性利益】 記錄與整理自由軟體資訊清單的工作,同時也會耗用開發團隊額外的工時與精神,所以有些開發者或廠商可能覺得這是個擾人的方法,不過這樣的改變卻可以在利用自由軟體進行開發時,同步釐清與合作伙伴之間的責任分擔,同時還可以降低開發團隊因過失而侵權利用自由軟體元件的機率,因此長遠來看,這其實是一個利大於弊的方法。自由軟體的授權模式不同於以往傳統的軟體,在利用到這種新興軟體來進行商業營利的同時,當然也必須認知並適用到相對應的調整與應用模式,自由軟體資訊清單的整理是其中一個非常簡單的因應措施,透過這樣一個簡單的措施,可以導引出長遠的良性利益,因此除非已經有了非常完善的相關制度,筆者建議開發團隊或者是利用廠商都應該要循序建立清單的標準記錄流程,並且在移轉軟體的同時,附上這份清單,以有效降低不當利用自由軟體所可能衍生的相關法律風險。
註一:SPDX (Software Package Data Exchange) 是一套標示自由軟體授權資訊的標準,透過這套標準,使用者可以簡單快速地了解一個自由軟體元件的授權內容以及相關的資訊,如此將可減少自由軟體授權標示不清所引發的侵權利用問題。關於 SPDX 進一步的資訊請見:
https://www.linuxfoundation.org/collaborate/workgroups/spdx/。
註二:若是政府補助計畫利用到自由軟體元件,並且有著後續商業應用的規劃,其他的相關注意事項可以參考:葛冬梅,運用自由軟體元件於政府補助計畫的後續商用建議,
https://www.openfoundry.org/tw/legal-column-list/8174-2010-10-25-18-33-28。