Plurk FaceBook Twitter 收進你的MyShare個人書籤 MyShare
  顯示內嵌語法

OpenFoundry自由軟體充電報

OpenFoundry自由軟體充電報
2008.4.14/報主.自由軟體鑄造場

本期內容:
[OSSF新聞] 自由軟體授權法律與案例介紹 (演講摘要)
[OSSF新聞] 自由軟體授權條款的相容與不相容 (演講摘要)

[OSSF新聞] 自由軟體授權法律與案例介紹 (演講摘要)

這場演講是研討會的第一場,目的在於提供自由軟體法律面的基礎知識與案例介紹,讓與會者可以快速地瞭解接下來的五場演講內容。主要大綱包括了自由軟體的法律特性、授權條款種類、相關案例、GPL 的常見錯誤觀念以及專利侵權議題等五項。

自由軟體從法律的角度來看具有六項特性:將使用、重製、散布與修改等特定著作權權利授與出去;不收取授權金;授權對象不特定;授權地域不特定;不附隨擔保或保證;非專屬授權。這些法律特性來自於軟體的授權條款,而具有這些法律特性的條款相當多,在目前 OSI(Open Source Initiative)與 FSF(Free Software Foundation)整理的清單中可以查到約 60 份左右。這些條款可以分為 BSD 類、GPL 類、MPL 類與其他類等四大類。BSD 類條款的授權範圍大,幾乎沒有限制規定,所以這類條款授權的軟體運用起來相當自由;GPL 類有較強烈的限制規定,利用這類程式碼新開發出來的程式,大多必須繼續採用原來的條款授權;MPL 類條款限制規定的強度介於 BSD 類與 GPL 類中間,MPL 類程式檔的衍生程式必須繼續用原來的條款授權,自行另外撰寫的程式檔則可以隨意授權;無法歸到上述三類的授權條款就是數於其他類,其他類條款佔絕大多數,不過重要常見的條款都可歸到前三類中。這樣的分類法有助於分析商業模式與條款的相容性。

這些條款中,最被廣泛運用且重要的授權條款就是 GPL,不過許多人對 GPL 的認識並不正確。

首先,GPL 並沒有因為特殊的授權模式而喪失掉法律上的有效性,至少德國法院已經透過判決確認 GPL 在德國法下是有效的。與 GPL 相關的案件也逐漸浮上檯面,目前主要分為 SCO、BusyBox 與 Welte 三大案件群。SCO 案件群發生地在美國,以 SCO 在 2003 年控告 IBM 違反雙方的 UNIX 契約一案為主軸,控告 IBM 在未經 SCO 的許可下,將 UNIX 的原始碼寫入 Linux 中,造成這些 UNIX 原始碼公開,因此引發一傳串地以 SCO 為被告或原告的案件。因為是以違反 UNIX 契約為中心開展出來,所以這些案件並非是 GPL 直接相關的訴訟。去年,其中一案的法官裁定 UNIX 著作權仍在 Novell 手中,讓 SCO 在各案的勝算大幅下滑,目前整個案件群仍在膠著狀態中。BusyBox 案件群發生地一樣在美國,卻是真正的以違反 GPL 規定為控訴基礎的案件。目前共四起案例,皆為商業公司採用 BusyBox 程式碼卻未提供取得產品者原始碼而挨告,訴狀提出時間為 2007 年底至 2008 年初,四案最後皆以和解收場。Welte 案件群是以 Harald Welte 這位德國軟體工程師為中心展開的多起訴訟案件,這些案件爭端程式不盡相同,但大多為 Linux 核心小程式。其中 2006 年控告臺灣友訊在德國子公司一案,為全球第一起 GPL 法院訴訟案例。目前這些案例皆以定讞,Welte 皆獲勝,僅在法國控告 Iliad 一案尚在進行中。

其次,在判斷是否受 GPL 感染的標準上,目前還是相當模糊,理論上最嚴格的看法是,只要有用到 GPL 原始碼,新程式就必須繼續採用 GPL 授權,但是在實務上其實還有很多模糊的技術空間,因此在進行實際案例判斷時,仍然需要由專家來分析判斷。

最後一個 GPL 常為人所誤解的地方是「開放原始碼」的說法,正確的說法應該是「提供原始碼」,因為只有在散布 GPL 程式的時候,才需要提供原始碼給取得程式者,所以只有當符合 GPL 散布要件的行為產生時,散布者才負有提供原始碼給取得者的義務,並非是將原始碼「公開給所有人」知道。

自由軟體專利議題近幾年開始熱絡的,主要是擔心自由軟體容易引起專利侵權爭端,對於這樣的疑慮目前並沒有一個明確的解答,因此自由軟體支持者一方面開始在新修定或草擬的授權條款中加入專利權行使抑制條款,另外一方面集結自由軟體商業公司,將這些公司擁有的專利權開放使用,承諾不會對自由軟體開發社群主張這些專利權。此外,也有些自由軟體公司取得其他公司的不主張專利承諾,以增加其產品的安全性,例如 Novell 與微軟簽訂的合作契約中就規定,微軟將不會對 Novell 的特定產品提出專利侵權主張。


[OSSF新聞] 自由軟體授權條款的相容與不相容 (演講摘要)

許多開發者下載自由軟體程式碼來利用開發新的程式,卻沒有注意這些程式碼是採用什麼樣的內容來授權,等開發到一半的時候才發現這些授權條款間的內容彼此間相衝突、無法相容,尤其當利用的程式條款要求新程式原始碼必須提供給他人,但是礙於程式中有他人授權程式碼,此部分無法提供他人原始碼時,就產生條款的衝突了。此外,所下載程式碼條款之間也會有衝突的可能。

講者分析自由軟體相容性的方式,是以第一場演講所提到授權條款四分法中的前三類為基礎:BSD 類、GPL 類與 MPL 類。

GPL 類條款規定修改程式仍然必須採用原條款授權,所以限制較多,也因為這樣的限制規定,所以 GPL 類條款之間並不相容,而只能與限制少的條款類型相容,例如 BSD 類或者像放在公共領域 (Public Domain)中無著作權的程式。這類條款中最重要的 GPL 在去年發佈第三版,但是第二版與第三版並不相容,原因除了 GPL 原本就具有的不相容特性外,兩版條款在實際的授權內容上也有不少差異。不過若是在採用二版授權時聲明,該程式採用 GPL2 或其後版本授權的話,使用者可以選擇第三版作為程式的授權條款,在這種特殊的情況下,GPL 第二版與第三版相容。此外,在 Linux 核心上所開發的專屬軟體,目前是普遍接受可以不將其原始碼提供出來,除了 Linux 精神領袖 Torvalds 所採取的寬容態度外,Linux 核心的著作權人範圍尚未釐清則是另一大主因。不過這些現狀在未來是否改變,仍需觀察。另外值得一提的是 LGPL,雖然屬於 GPL 類的程式,但只要沒有修改過 LGPL 函式庫,而是單純地利用連結 LGPL 函式庫的話,新程式可以不用採用 LGPL 授權。

BSD 類條款限制少,使用者甚至可以不提供原始碼,並以收取授權金的方式來再次散布 BSD 類程式,所以這是一類相當隨和的授權條款,幾乎可以跟任何其他內容的條款相容,即使是專屬軟體也可以,甚至 BSD 類條款授權的程式也可以轉變為專屬軟體。而 MPL 類條款的規定則是介於上兩類中間,自 MPL 類程式檔衍生出來的程式檔必須採用原條款授權,但若他人自行撰寫的程式檔開發者就可以採用其他的內容任意授權,所以原則上可以與 BSD 類條款以及專屬軟體條款相容,與 GPL 類條款不相容,而 MPL 類條款之間則是相容的。其中,MPL 1.1 規定有特殊的多重授權模式,可以讓 GPL 與 MPL 1.1 並存在同一個程式,而不會導致整個程式都必須採用 GPL 來授權,本期電子報的法律源地文章對此有進一步的說明。

「預防勝於治療」,想要根本地避免條款衝突的問題,最好的方法就是在規劃程式之初將這樣的議題納入考量:究竟要利用或不利用自由軟體?若要利用的話,應該採用或避用哪些條款授權的程式?若未加以預防,結果發現條款相衝突的問題時,可以嘗試將衝突的程式碼重寫或置換成相容,此外,也可以嘗試與這些自由軟體著作權人接觸與溝通,取得其額外的授權同意,以解決不相容的問題。


報主的話:
本電子報為摘要版,若欲訂閱全文版請按此