GPL(General Public License)公用授權

 

主講人:葛冬梅、林誠夏 of 中研院自由軟體鑄造場http://www.openfoundry.org/

2007.12.18 by brad

 

GPL是事先單方宣告的法律文件,如果願意接受,才可使用以GPL保護的軟體,同時也代表一使用即表示同意GPL的約束(開放原始碼)。若違反GPL,則視為自始不受授權,亦即侵權行為。

 

GPL草擬者RMS(Richard M. Stallman)始創自由軟體的概念,回歸過去共享的時代。倡導基於開放原始碼而成立的四大自由的精神:使用、研究、改良、散佈 的自由。

 

(原始碼是相對於目的碼、機器碼而言,是可以讓人閱讀的程式碼。)

 

GPL雖主張不可收取權利金,但GPL3有提到兩種收費方式:一、可收取散佈的工本費。此乃為形成法律概念上的責任限制條款,畢竟是無償提供,那就可以卸責。就像餐廳免費提供的牛肉湯沒有牛肉,消費者也不會多說什麼。但就故意、重大過失而言,仍不可免責。如同免費的牛肉湯還是不可以讓人喝了生病。

二、提供擔保,以獲取價金。

 

可用何種方式營利?

1.     提供服務(例如教學)

2.     軟硬體結合

3.     雙重授權,社群依GPL,商用則收費(例如MySQL),商用則後手不受感染。此為開發者、社群、使用者三贏。

 

著佐權

 

GPL是著作權概念的衍申。有人將此copy left的概念翻譯成「著佐權」,相對來說,copy left是基於copy right著作權的觀念來發展,主要特性在於1.前手對後手的拘束 2. 感染性(授權攫取)。因此GPL可說是一種著作權的授權,但並非專利的授權。(GPL3有涉及專利授權的條款)

 

(所謂前手是指軟體的提供者,後手是收受軟體的人。)

(感染性是指凡新軟體有使用到受GPL保護的軟體,例如修改,或部份包含,或附加成組,則此新軟體亦自動受GPL保護/限制,必須開放原始碼。在法律基礎上,感染相當於原作者釋出改作權所要求的對價,否則視為侵權)

 

除了GPL這種很嚴格的約定,另有BSD,前手對後手幾無限制,只要求揭示原作者名字(顯名主義),以及責任免責的聲明。而介於極硬的GPL和超軟的BSD之間,另有調和式的約定,例如SUN CDDL1.若有取用或修改,則感染 2.獨立附加成組,則不感染

 

GPL2定義的感染

 

1.     修改感染

2.     結合感染

「結合」意指做為一個整體一起散佈。這部分有爭議。原文有兩個情形:1. dynamic link v.s. static link, 2. with/without well defined interface但並未明確定義,因此在灰色地帶只能討論「感染風險的高低」,而不能忽視、掉以輕心。

 

若要使用,如何避免感染?

 

1.     dynamic link

2.     另行發送用到GPL的部份,使其成為使用者自行取用的行為

3.     (非正當)拖、提供過期碼、面目全非的混亂碼

 

若有GPL感染情形,應如何處理?

 

1.     標示出修改的地方

2.     保留GPL的聲明,並且附上GPL的文字說明(不可以只提供GPL網頁的連結)

3.     提供原始碼

4.     表列權利人的識別資訊(顯名主義)

 

而所謂提供原始碼,又是什麼意思呢?何時?如何?對誰來提供?

 

時間:有散佈事實時,就要提供原始碼

對象:提供給被散佈者(合法得到目的碼時)、並不是提供給每個人

方式:GPL2未定義。GPL3:隨附、經要求就提供(可經由實體(例如光碟)、或網頁下載、P2P的連結

地域:不限,但原作可排除對GPL不友善的地區

 

GPL3GPL2的差別?

 

1.     自動復權。若未依規定利用程式,被授權人取得的授權將自動終止。GPL2沒有自動復權的規定,GPL3則規定自動復權的方法

2.     專利阻礙排除。必須將寫入程式內的相關專利授權。(GPL2僅涉著作權)

3.     提供原始碼期間:GPL2規定3年,而GPL3再加上so long as you offer spare parts or customer service

4.     ASP (Application Service Provider)除外條款,例如GoogleGPL的軟體提供服務但並未散佈,則不必提供原始碼。(Affero GPL 則對此規範)

5.     在一定範圍內可附加條款,例如LGPL3

6.     必須提供安裝資訊、編譯腳本,讓後續使用者有修改的機會

 

LGPL

 

為減低GPL的感染性,以促進利用,LGPL提出感染的「例外」。1. work based on…->感染(請自行主張微量取用以除外) 2. work that use…不感染。

 

(LGPL2GPL2互相獨立不隸屬,因work that “use”,故僅函式庫(library)可用LGPL2)

(LGPL3GPL3的選擇性附加條款,若函式庫僅用GPL3,則只要有連結就會感染,若加上LGPL3附加條款,則可不感染)

 

LGPL3尚有個案例示:例如若A程式以特殊呼叫方法(不公開方法)來利用B函式庫,則A程式自動被感染。又如果是結合的情形,應提供Corresponding Application Code,使Library修改後亦可用於原程式。(TiVo條款)

 

GPL3還未被完全接受,爭議仍多,社群多以GPL2為主。例如Linux kernal是依照GPL2,而GNU packages則是GPL3

文章標籤
全站熱搜
創作者介紹
創作者 Brad 的頭像
Brad

生活筆記

Brad 發表在 痞客邦 留言(0) 人氣(5,515)