文 / 潘亮
開源軟件通常指授權人遵循某種開源許可證,將源代碼向公眾公開,并允許用戶在許可證約定的條件內自由使用、修改和分發。其所倡導的“自由共享、開放協作”精神不僅促進了軟件產業的交流融匯與創新發展,還為我國軟件企業學習西方先進技術提供了一個開放的環境?,F今,經開放源代碼首創行動組織(Open Source Initiative Association簡稱OSIA)認證的開源許可證已成為國際上普遍認可和遵守的契約文本,履行相關契約義務亦是誠實信用原則的體現。只有信守開源許可證的約定,才能確保開源軟件像光源一樣迅速傳播出去,讓社會公眾分享到開源軟件帶來的技術革新與發展成果,不至于被私人占有導致公眾利益受損。與此同時,建立一個能融入我國現行法律體系的開源軟件司法保護制度,才能更好保障與發展我國的信息產業。目前,司法保護主要涉及開源軟件許可證的法律性質、維權主體及違反開源軟件許可證的法律責任等問題。
開源軟件許可證和商業軟件許可協議都是維護和規范軟件發展秩序的有效工具,只是在保護目的、保護方式和授權許可范圍上有所區別。開源軟件許可證主要解決著作權的專有性與源代碼共享之間的矛盾。
開源軟件的奠基者Richard Stallman(理查德·斯托曼)認為“知識產權并不是一種固有的權利,現行的各種知識產權都是立法機關通過專門立法賦予的權利,現行的各種知識產權都是社會給予的許可”。1張平、馬驍:《開源軟件對知識產權制度的批判與兼容(二)—開源軟件許可證的比較研究》,載《科技與法律》2004年第2期,第46頁。據此斯托曼先生認為,法律賦予權利人知識權利,那么權利人有權以契約方式來要求使用自己知識產權的用戶遵照一定的行為準則?,F今對于計算機軟件的保護,主要還是依賴于著作權。開源軟件雖采用“copyleft”(開放式著作權2參見王韜:《copyleft及其譯法》,載《科技資訊》2008年第32期。)的概念、提倡自由共享的理念;但開源軟件與傳統商業軟件作為軟件作品的根本屬性并無區別。開源軟件依賴于現有著作權的保護,授權人僅在享有著作權的情況下,其通過許可證將權利有條件進行許可或讓渡才有法理依據。若開源軟件完全變成為無權利的自由軟件,則會因為缺乏相應的激勵,逐漸走向消亡。因此開源軟件以許可證的方式承認開發者的著作權,并對后續的使用行為以許可證模式進行法律約束,即無論通過何種方式利用開源軟件均應嚴格遵循許可證約定的義務。3參見肖建華、柴芳墨:《論開源軟件的著作權風險及相應對策》,載《河北法學》2017年6月第35卷第6期。
開源軟件許可證具備合同特征。第一,從形式上看:開源軟件許可證以電子文本方式表現其內容,而電子文本是一種有形的表現方式,因此許可證屬于以書面形式訂立的合同。4《中華人民共和國民法典》第四百六十九條。第二,從內容上看:開源軟件許可證屬于發生私法上效果的意思表示,而意思表示是民事法律行為的核心要素,因此開源軟件許可證是一種民事法律行為。許可證授予用戶復制、修改、再發布等權利,實際上在權利人和用戶之間形成了權利變動,屬于設立、變更、終止民事權利義務關系的民事法律行為。初始授權者采用許可證發布軟件源代碼,將自己的部分著作權授予不特定用戶,完全是出于自愿。5參見李旭:《開源軟件的著作權保護研究》,蘭州大學2019年碩士研究生學位論文。用戶在許可證下復制、修改或再發布源代碼,通過行為對許可證作出承諾,也是出于自愿。
此外,由于開源軟件許可證具有根據特定開源項目開發而預先擬定的特點,用戶無權對條款進行修改,只能選擇是否接受,這符合我國《民法典》第四百九十六條對格式合同的規定。6《民法典》第四百九十六條規定:“格式條款是當事人為了重復使用而預先擬定,并在訂立合同時未與對方協商的條款。采用格式條款訂立合同的,提供格式條款的一方應當遵循公平原則確定當事人之間的權利和義務,并采取合理的方式提示對方注意免除或者減輕其責任等與對方有重大利害關系的條款,按照對方的要求,對該條款予以說明。提供格式條款的一方未履行提示或者說明義務,即使對方沒有注意或者理解與其有重大利害關系的條款的,對方可以主張該條款不成為合同的內容?!遍_源軟件許可證所設定的被許可人義務主要包括:(1)標明著作權信息及必要的修改信息(修改人、修改時間及修改內容);(2)發布時附許可證;(3)提供完整的源代碼;(4)發布無擔保聲明;(5)未經允許不得使用開源軟件的商標或著作權人的名稱。前述所設義務是實現開源軟件自由傳播目的的工具或媒介,并不屬于我國《民法典》第四百九十七條格式合同條款無效的情形。7《民法典》第四百九十七條規定:“有下列情形之一的,該格式條款無效:(一)具有本法第一編第六章第三節和本法第五百零六條規定的無效情形;(二)提供格式條款一方不合理地免除或者減輕其責任、加重對方責任,限制對方主要權利;(三)提供格式條款一方排除對方主要權利?!本C上所述,開源軟件許可證是一份具有合同效力的法律文件。
根據GPL3.0許可證第8條“終止授權”的約定,授權人許可用戶在遵守許可證規定的前提下行使某些權利,但用戶必須承擔相應的義務。若用戶違反GPL3.0協議的使用條件來復制、修改或傳播受保護的作品,其通過GPL3.0協議獲得的授權將會自動終止。若僅將開源軟件許可證設定的義務認定為合同約定的內容,則對未遵守該義務的行為人只能適用違約救濟方式。德國慕尼黑地區法院在Harald Welter訴D—Link案中首次提出:可將開源軟件許可證認定為附解除條件的合同(如顯著標明著作權信息、修改信息和發布時附許可證等理解為合同的“解除條件”),一旦用戶違反了這些條件,就意味著許可證合同在當事人之間自動解除,用戶基于許可證獲得的授權將會自動終止。用戶之前根據授權已經或正在實施的復制、修改、發布行為便失去了法律依據,違約行為就演變為侵權行為。我國《民法典》第一百五十八條規定:“民事法律行為可以附條件……附解除條件的民事法律行為,自條件成就時失效”。由此可見,德國法院的做法在我國依然有適用的環境,我國法院應當借鑒并采用。
“初始授權者”遵循某種開源許可證,將源代碼向公眾公開之后,用戶可將該源代碼不斷復制、修改并再對外發布,像光源一樣迅速擴散開來。在此期間,開源軟件亦由“初始授權者”提供的一份原始代碼,經持續修改、補充、完善后形成日趨穩定、成熟的版本或經改編或轉換為其他編程語言后形成若干派生作品。前述成果的取得,初始授權者、后續修改者皆為開源軟件最終版本或演繹版本的形成做出了貢獻。發生開源軟件違約或侵權糾紛時,維權主體如何認定,不僅事關權利人的權益;而且影響司法保護的力度與成效;甚而關乎開源軟件的生態環境。根據《著作權法》第十一條的規定,著作權屬于作者,創作作品的公民是作者。由法人或者非法人組織主持,代表法人或者非法人組織意志創作,并由法人或者非法人組織承擔責任的作品,法人或者非法人組織視為作者。鑒于開源軟件源代碼處于變動之中且所涉貢獻者可能身居各地、人員不定等情形,開源軟件的維權主體應是對案涉源代碼整體作出主要和實質性貢獻的組織、個人或經其授權的集體管理組織。
鑒于開源社區中權利人可將編寫完成的源代碼單獨發布或將尚未編寫完成的源代碼以“開發項目”的方式發布,相關源代碼及其演繹作品的貢獻主體與各主體的貢獻程度均存在區別,由此影響到不同情形下維權主體的認定。
1.“集市開發模式”下開源項目的維權主體
“集市開發”開源是項目發起人常用的模式,即讓軟件愛好者互相檢查與改進,并將其修改意見匯集起來,使整個項目在開發中實現集思廣益、高效快捷又低成本運行。通常,項目發起人在開源社區內提供一份原始代碼作為項目開發的基礎代碼,同時提供項目的規劃(包括項目計劃和要求);項目發起人還會選擇一個開源軟件許可證進行許可,希望世界各地的愛好者共同開發、貢獻智慧。有興趣的志愿者會參與修改原始代碼或添附新代碼、修復系統漏洞、提供系統錯誤信息等。修改意見被項目發起人認可后,項目發起人便將其合并為新的項目軟件版本,作出該修改意見的志愿者即為項目的貢獻者。8付娜:《開源軟件相關知識產權問題研究》,載《電信網技術》2017年第1期,第3頁。若發生違反開源項目許可證的糾紛,維權主體該如何認定?筆者認為開源項目發起人應為適格主體,理由為:其一,項目發起人不僅提出了項目計劃和要求,而且提供了項目開發的基礎代碼。其二,任何人對源代碼作出修改、補充后,若要將相關內容并入項目發起人的最終版本中,則需符合項目發起人的開發意圖并由其做出取舍。項目發起人對最終版本的形成起到了決定性作用,貢獻者的相關內容未對項目發起人享有涉案軟件著作權產生實質性影響。其三,貢獻者選擇在發起人的項目中上傳自己的源代碼,貢獻者亦將按照許可證許可其貢獻,即視為同意將貢獻內容許可給項目發起人及其他用戶使用。最后,開源項目的貢獻者往往人數眾多、互不相識又可能身居世界各地;且隨著項目內容的不斷修訂、完善,貢獻者的數量亦處于持續增加、變動之中。若開源項目的起訴維權需經全體貢獻者一致同意或授權,實則導致維權行為無從提起。綜上所述,項目發起人維權無需貢獻者同意或授權。
2.開源軟件被用戶修改后再發布版本的維權主體
針對此種情形,筆者認為應視用戶的修改是否構成派生作品而區別對待(構成派生作品將另行闡述)。因開源軟件的“初始授權者”系將其享有的部分著作權授予不特定的用戶行使,并未將維權事項授予他人。若開源軟件的用戶僅系對開源代碼作個別或少部分改動,未增加新的顯著功能,則尚未形成新的作品;用戶不能取代“初始授權者”成為該開源軟件的著作權人。
在著作權獨占許可的情形下,被許可人可以作為原告提起訴訟。再發布版本的用戶作為非專有使用權人,能否作為原告提起訴訟?根據《民事訴訟法》第一百二十二條的規定,9《民事訴訟法》第一百二十二條規定:“起訴必須符合下列條件:(一)原告是與本案有直接利害關系的公民、法人和其他組織;(二)有明確的被告;(三)有具體的訴訟請求和事實、理由;(四)屬于人民法院受理民事訴訟的范圍和受訴人民法院管轄?!痹媸桥c本案有利害關系的公民、法人和其他組織。因此被許可使用人是否可以作為原告起訴需要審查其與被訴行為是否具有直接利害關系。2020年度中國法院50件典型知識產權案例之一,(2018)最高法民再417號案件引起了較大的反響。該案從一審、二審到最高院再審,爭議的焦點之一就是“在著作權非專有許可情形下,被許可人能否作為原告起訴”。最高院認為,即便系著作權非專有被許可人,著作權被侵害時其利益亦直接受損,并與被訴侵權行為有直接利害關系。考慮到在非專有使用許可情形下,著作權人也可以使用作品,而且被許可人可能有多個,為維護正常訴訟秩序,參照《最高人民法院關于審理商標民事糾紛案件適用法律若干問題的解釋》第四條的規定,10《最高人民法院關于審理商標民事糾紛案件適用法律若干問題的解釋》第四條的規定:“商標法第六十條第一款規定的利害關系人,包括注冊商標使用許可合同的被許可人、注冊商標財產權利的合法繼承人等。在發生注冊商標專用權被侵害時,獨占使用許可合同的被許可人可以向人民法院提起訴訟;排他使用許可合同的被許可人可以和商標注冊人共同起訴,也可以在商標注冊人不起訴的情況下,自行提起訴訟;普通使用許可合同的被許可人經商標注冊人明確授權,可以提起訴訟。”在經著作權人明確授權的情況下,被許可人亦可以提起訴訟。開源軟件許可證違約或侵權糾紛發生時,由于取證困難、訴訟時間長,大部分權利人可能望而卻步。若無視開源軟件許可證違約或侵權行為的蔓延,將導致眾人的智慧成果被少數違約者占有和利用,終將惡化“自由、協作、共享”的開源生態環境。鑒于此,用戶修改后再發布版本的糾紛,該用戶在經開源軟件“初始授權者”明確授權的情況下,可以自己名義提起訴訟。
3.開源軟件被用戶修改后形成派生作品再發布版本的維權主體
派生作品又稱演繹作品。派生作品要求在保留原作品基本表達的情況下,在新作品中加入獨創性的表達,即有兩個要件:一是保持原作品的基本表達;二是加入自己新的獨創性表達。開源軟件作品的演繹方式主要包括改編和翻譯(即轉換成其他編程語言)兩種。11參見蔡楠:《對開源軟件著作權歸屬的思考》,載《知識經濟》2012年第20期。開源軟件的開發系在初始源代碼的基礎上進行的修改或補充,保留了源代碼的基本表達,因此符合第一個要件。若改編后的源代碼增加了新的顯著功能或將編程語言轉換成另一種編程語言予以表達,則已符合第二個要件。前述修改版本便構成原有作品的派生作品。如丁丁地圖就是在開源軟件谷歌地圖基礎上創作的一款派生作品,即保留了谷歌地圖源代碼的基本表達,又讓改編后的源代碼增添了不少新功能,從而形成一款更為便民的地圖軟件。根據《著作權法》相關規定,12《著作權法》第十二條。演繹作品是改編、翻譯、注釋、整理已有作品而產生的作品,其著作權由改編、翻譯、注釋、整理人享有。演繹作品的作者在行使其演藝作品的著作權時,不得侵害原作者的著作權。開源軟件的“初始授權者”通過許可證授權用戶修改、發布源代碼,即已授權用戶創作開源軟件的派生作品。若該派生作品發生許可證糾紛,創作派生作品的用戶可起訴維權。
著作權集體管理制度自產生到現在,已具有二百多年的歷史。在發展歷程中,集體管理組織管理的作品范圍從文字作品、音樂作品擴大到美術、攝影、電影、多媒體等作品,管理權利的范圍也在不斷擴大,現已延伸到廣播權、出租權和信息網絡傳播權。13張健飛:《網絡教育與知識產權保護》,《社會科學戰線》,2007年,第246頁。許多開源軟件權利人具有不愿爭訴的特點。一方面,他們缺乏必要的時間、精力、物力與法律技能去追究未履行許可證義務者的法律責任;另一方面,發生糾紛時,開源軟件權利人無直接經濟利益損失,維權熱情不高。面對開源軟件權利人的維權困境,亟需集體管理組織代替開源軟件權利人來守衛“自由、協作、共享”精神。美國的自由軟件基金會、軟件自由法律中心,德國的GPL—violations.org、Moglen Ravicher LLC 等組織鼓勵開源軟件權利人把著作權授權給他們進行管理的做法,提供了比較好的借鑒。一方面,集體管理組織參與糾紛解決、積極應訴,以一個實體的名義對各種違反許可證約定義務的行為進行斗爭,從而有效維護開源軟件著作權人的權益。另一方面,發揮專業性優勢,集體管理組織在長期處理類似事務中積攢了大量經驗,這使得它既在面對技術問題時駕輕就熟,又在是否符合許可證約定及法律規定上有專業的見解,有效彌補個體應對能力不足的缺陷。根據我國《著作權法》第八條的規定,著作權人可以授權集體管理組織與各種侵權行為進行斗爭,維護著作權人的合法權益。因此,我國應成立由國家知識產權局等相關政府部門管理,行業協會、開源社區牽頭組建的開源軟件集體管理組織,讓權利人專注于創作,不必為維權費心,從而維護開源軟件的良好生態環境。
作為開源精神的發祥地,美國法院對違反開源軟件許可證法律責任的認定,歷經了一個發展過程。初期,美國法院傾向于將開源軟件許可證認定為一種著作權授權條款。對違反開源軟件許可證的行為人,權利人可依據許可證向法院申請禁令,以停止他人侵害著作權的行為。稍后時期,一些法官逐漸修正了最初的觀點,認為開源軟件許可證屬于契約條款,違反許可證則構成違約。如Jacobsen訴Katzer案一審舊金山聯邦地區法院的判決:Jacobsen采用開源軟件許可證發布軟件,就等于放棄了著作權,在許可證項下只存在契約關系,而不存在侵權。再后來,美國聯邦巡回上訴法院駁回了Jacobsen訴Katzer案一審法院的判決,認為開源軟件許可證是一種著作權協議,違反開源軟件許可證可界定為違約,亦可構成著作權侵權。這樣的救濟方式在我國同樣有適用的土壤,我國《民法典》第一百八十六條規定:“因當事人一方的違約行為,損害對方人身權益、財產權益的,受損害方有權選擇請求其承擔違約責任或者侵權責任”。綜上,我國對許可證違約行為的救濟,應當采用違約和侵權二選一的方式。兩種救濟方式各有利弊,允許當事人根據實際情況選擇符合自身利益的救濟方式,以助于其經過權衡達到“利益最大化”的目標。
我國《民法典》第五百七十七條規定:“當事人一方不履行合同義務或者履行合同義務不符合約定的,應當承擔繼續履行、采取補救措施或者賠償損失等違約責任”。由于開源軟件許可證一般沒有違約金條款,所以違反開源軟件許可證難以采用違約金責任。對于許可證的違約行為,只能考慮賠償損失或者實際履行的責任。
違約損失賠償額限于因違約所造成的損失,包括合同履行后可以獲得的收益,但不得超過違反合同一方訂立合同時預見到或者應當預見到的因違反合同可能造成的損失。雖然開源軟件的發布者也可對其提供的服務收取一定的費用,但大部分開源軟件都是免費的;況且從技術層面上看,許可證的違約行為所造成的損失數額亦難以計算。因此,對于許可證違約的處理,將繼續履行作為承擔違約責任的首要方式,可有力貫徹和保障開源軟件的“自由、協作、共享”精神。特別對于性能優良、應用價值高的派生作品,通過主張違約責任,可要求用戶繼續履行許可證義務,將相關派生作品繼續開源。
侵權責任的法律救濟措施包括停止侵害、消除影響、賠禮道歉、賠償損失等;此外,還包括臨時禁令救濟措施。明確違反開源軟件許可證的行為構成侵權 ,能夠促使使用者盡到審慎注意義務,有效預防開源軟件傳播時可能發生的諸多失信或不正當行為。在侵害開源軟件著作權的情況下,停止侵權行為應為首選。違反許可證規定將導致授權許可自動終止,侵權行為人必須停止對開源軟件的復制、修改和再發布等行為。臨時禁令救濟對于及時制止知識產權侵權行為,減少權利人損失方面起到了非常重要的作用,在制止開源軟件的侵權行為時亦是利器。關于侵權賠償,侵權人應賠償權利人全部損失,包括權利人因維權所支出的合理費用。在符合法律規定的情況下,權利人還可以主張懲罰性賠償。
筆者認為,鑒于開源許可協議締約方式和締約主體的特殊性,導致違約或侵權行為更具隱蔽性,相應法律責任的承擔應有助于敦促締約方誠信履行開源義務,確保開源社區規范、持久地發展。開源軟件雖然大多都是免費的,但授權人付出的開發成本是必然存在的,通常按照侵權獲利來承擔賠償責任更為公平、合理。此外,消除影響與賠禮道歉作為侵權責任承擔方式,在開源軟件司法保護中具有至關重要的作用與威懾力。違反開源軟件許可證的行為系出爾反爾、誠信缺失的表現。強制違反者在行業人員關注的開源社區上發布消除影響或賠禮道歉的聲明,無疑會給自身形象、聲譽造成相當程度的負面影響;有效警示開源軟件的使用者信守誠信、犯規后及時糾正,自覺履行開源許可證的義務。
開源軟件所追求、倡導的“自由、協作、共享”精神在軟件技術革新及造福大眾上已令世人矚目。開源軟件獨特的著作權保護機制,在公眾和權利人之間巧妙地構建了一個平衡態勢,亦對互聯網行業發展以及傳統知識產權制度產生了深遠影響。法律試圖跟上技術的發展,而結果總是技術走在了前頭,這幾乎是一個永恒的規律。14【美】西奧多·羅斯扎克:《信息崇拜:計算機神話與真正的藝術思維》,苗華健等譯,中國對外翻譯出版公司1994年版。當前通過明確開源軟件許可證的合同性質、確定維權主體及對違反許可證的行為采取違約與侵權二選一的救濟方式,有助于強化開源軟件的司法保護?,F實迫切需要法律界深化對開源軟件相關法律問題的研究,為司法保護開源軟件著作權提供理論支持。