使用者工具

網站工具


essays_and_articles:openfoundry_legal_column_selected_collections_2011:cddl_mpl_的衍生條款

這是本文件的舊版!


CDDL-MPL 的衍生條款

葛冬梅/文 2007-12-27

開放源碼促進會 (Open Source Initiative, OSI) 日前將自由開源軟體授權條款分為 7 大類(註一),第一類是屬於被廣泛應用或者是有堅強社群支持的授權條款,包括 GPL、BSD、MIT、MPL 等 9 份條款被歸在這一類,其中由昇陽公司(Sun Microsystems, Inc. 1982~2010,註二)草擬,於 2005 初為 OSI 通過認可的 CDDL-1.0 (Common Development and Distribution License 1.0) 也在第一類之列。而就條款內容來看,CDDL-1.0 目前使用的普及率雖然不高,但是其具有架構完整、用詞淺顯易懂、可重複被不同授權性質專案引用,且不致產生過大授權衝突的特性,是一份在授權規劃與文字表達上均相當成熟的授權條款,值得特文介紹來讓更多人能夠了解。

CDDL-1.0 是由商業公司聘任專職人員來起草,因此與 MPL-1.1、EPL-1.0、CPL-1.0 有著類似的產生背景,其適宜配合商業模式運作的法律邏輯架構亦相當完整。而 Sun Microsystems 當初是以 MPL-1.0 與 MPL-1.1 的內容做為 CDDL-1.0 的起草藍圖(註三),所以在運作模式與授權架構上,CDDL-1.0 與 MPL-1.0、MPL-1.1 有著許多相似的特質。

在授權拘束性方面,與 MPL-1.1 一樣,CDDL-1.0 僅具有部分的 Copyleft 特性,簡單來說、只有修改到 CDDL-1.0 授權元件所產生的結果,才會被 CDDL-1.0 授權條款所拘束!舉例來說、最基本的授權拘束範例包括直接對 CDDL-1.0 授權的檔案進行修改,或是將 CDDL-1.0 授權元件與其他程式碼包含在一個檔案內,這些都是較典型的直接修改,而會啟動 CDDL-1.0 授權拘束特性;然而、若是將自行獨立開發的程式元件,以不同檔案的方式,與 CDDL-1.0 授權元件放在同一個大型軟體專案 (larger work) 裡面進行互動,則此時自行獨立開發的部分,則可以不用受到 CDDL-1.0 授權條款的拘束,而可以採用與 CDDL-1.0 不同,但亦不會互相干擾的授權方式來進行散布。而在專利權的部分,CDDL-1.0 的專利授權條款與專利侵權終止條款,與 MPL-1.1 第 8 條第 2 項所規定的權利追索條款相當近似,只是 CDDL-1.0 的文字經過簡化,對於不具法律背景的程式開發者來說,較易閱讀與理解。而在可執行目的檔格式 (binary code) 的授權方式部份,其也與 MPL-1.1 一樣,允許這個目的檔可以適用非 CDDL-1.0 的授權條款,只要這個目的檔的授權方式,不會影響到使用者依照 CDDL-1.0 利用該元件程式源碼的權利。

除了上述相同的特質外,CDDL-1.0 還有些不同於 MPL-1.1 的其他規定,這些其他規定使得 CDDL-1.0 更具有彈性。以下即列舉管轄法院與準據法、版本選擇規定,以及較大授權客體範圍等其他條款,來觀察 CDDL-1.0 相關的彈性規定。

早期、不少自由開源軟體授權條款,都有特定管轄法院與準據法方面的規定,也就是當發生法律糾紛的時候,必須要適用條款所指定的管轄法院與特定區域的法律,來作為解決糾紛的依據。通常有此種規定的條款,都是為了符合草擬者的特定需求,例如 QPL-1.0 授權條款的草擬者為挪威 Trolltech 公司,所以 QPL-1.0 規定管轄法院為挪威奧斯陸地方法院,準據法的依據也是挪威法律;而 MPL-1.1 的草擬者為美國 Netscape 公司 (Netscape Communications Corporation),而 MPL-1.1 規定的管轄法院為美國加州北區地方法院,準據法亦為加州州法(註四)。這種特定管轄法院與準據法的內容,早期常出現在起草者為商業公司的自由開源軟體授權條款中,不過 Sun Microsystems 草擬的 CDDL-1.0 並未承襲這樣的架構,其條款內容並未特定管轄法院與準據法,而是交由開發軟體專案的權利人來自行決定,如果權利人願意,只要在條款之後加上一份聲明,說明該專案的管轄法院與準據法即可,然而,權利人也可以用不指定管轄法院與準據法的方式來散布這個專案。這樣的規定提高了 CDDL-1.0 的重複使用性與全球散布性,不同地域的開發專案都可以為自己的軟體選用 CDDL-1.0 來授權,而不必擔心日後涉訴得要舟車勞頓到其他司法管轄領域來進行訴訟,而專案的權利人在有需要的情況下,也只要附加上管轄法院與準據法方面的聲明,即可嗣後。

在條款版本的選擇上,CDDL 原則上是採取類似 GPL 的規定:沒有特別聲明情況下,一旦有新的 CDDL 版本發佈,使用者可選擇新版 CDDL 來適用,若權利人只想適用特定的 CDDL 版本來授權,那麼就必須要加上聲明,讓使用者知曉這樣的條款版本限制。相對於特定與完全不規定的兩種極端,CDDL 對於授權條款版本的選擇,也提供了軟體權利人相當大的自主選擇彈性。

在授權客體上,不少授權條款的客體只有針對程式碼,並不涉及與程式相關的文件,但是 CDDL 的適用客體及於「包括在或者付隨於程式碼的相關文件(註五)」,這對於準備將相關文件隨著程式一起散布出去的權利人來說,可以因此不需要另行為文件準備授權條款,算是一種相當便利的規定。

大部分接觸自由/開放源碼的人知道 GPL、BSD、MPL 與 Apache 等知名的授權條款,這些條款各有其特點,因為各自的特點,所以這些條款有如明星般廣為人熟知,但也正因為這些特點,讓這些條款不見得可以適用於每一個開發專案,所以才會有人在這些明星條款外陸續地擬出了數十份內容不盡相同的自由/開放源碼授權條款,這樣的現象演變到今天,造成軟體開發上面一定程度的阻礙,因為當想要擷取不同授權條款程式碼開發一個軟體的時候,必須要先面對授權條款是否相衝突的問題-也就是要確定各程式碼的條款是相容的,而要解決或避免這個問題並非易事。最好的方法當然就是減少授權條款數量,如此可以降低分析條款相容性的複雜程度,而若是在必須重新草擬一份條款的時候,將內容設計成可以被不同專案重複使用,也是一個努力的方向。昇陽當初草擬 CDDL 時,就是將可重複使用當作是條款草擬的原則之一,在這樣的原則之下,CDDL 的用詞淺顯易懂,再加上部分 copyleft 的感染力、不特定管轄法院與準據法,以及著作權人擁有明確的條款版本選擇權等等的特性,都大大地增加了不同專案對這份條款的接受度。

目前使用 CDDL 的開發專案以昇陽的產品為主軸發散開來,主要包括 OpenSolaris、NetBeans、GlassFish 等,使用普及度並不高,但因為昇陽在背後有力的支持這些社群,所以 CDDL 在自由/開放源碼領域仍佔有不可忽視的地位。就個人的觀察,相較於 MPL、EPL 與 CPL 等同樣具商業因素在內的授權條款,筆者相當喜歡 CDDL 這樣深入淺出又具有彈性的內容,因此也期待這份條款可以廣為人知,並且被採用。若是開發者準備將自己的程式以 MPL 類的條款釋出,不妨考慮一下 CDDL,尤其又不想受到 MPL 特定管轄法院與準據法拘束的時候,CDDL 的彈性規定正好發揮它因地制宜的作用,提供開發者另外一個彈性的選擇。


註?:CDDL 全文:http://www.sun.com/cddl/cddl.html;中文翻譯簡體版:http://www.opensolaris.org/os/licensing/open_solaris_license_chinese.pdf

註一:http://www.opensource.org/licenses/category

註二:昇陽 VS Oracle

註三:有關MPL 1.1的介紹請參見:葛冬梅,從封閉到開放的副產品-MPL:http://www.openfoundry.org/index.php?option=com_content&task=view&id=517&Itemid=56,自由軟體鑄造場電子報,第 48 期。

註四:參見:QPL 最後一條 “Choice of Law”,MPL 第 11 條。

註五:CDDL 1.12. “Source Code” means (a) the common form of computer software code in which modifications are made and (b) associated docu,\mentation included in or with such code.

註六:文中提及授權條款時,大多直接以縮寫稱之,各授權條款的全名,請參考開放源碼組織網頁:http://www.opensource.org/licenses/

essays_and_articles/openfoundry_legal_column_selected_collections_2011/cddl_mpl_的衍生條款.1331798733.txt.gz · 上一次變更: (外部編輯)