文/北京市集佳律師事務(wù)所 周丹丹 曹陽(yáng)
近幾年,開(kāi)源軟件的使用合規(guī)越來(lái)越為國(guó)內(nèi)企業(yè)所重視。盡管進(jìn)入公眾視野的開(kāi)源軟件訴訟案件并不太多,但開(kāi)源軟件使用人遭遇開(kāi)源軟件權(quán)利人的維權(quán)行動(dòng)卻早已屢見(jiàn)不鮮,其中,最為多見(jiàn)的就是Qt開(kāi)源軟件權(quán)利人向使用Qt開(kāi)源軟件的企業(yè)發(fā)送侵權(quán)警告函、向各地版權(quán)局、文化執(zhí)法大隊(duì)、證監(jiān)會(huì)、銀監(jiān)會(huì)等機(jī)構(gòu)持續(xù)不斷投訴的維權(quán)行動(dòng)。誠(chéng)然,開(kāi)源軟件權(quán)利人基于自身合法正當(dāng)權(quán)利進(jìn)行維權(quán)無(wú)可厚非,開(kāi)源軟件使用人進(jìn)行商業(yè)使用時(shí)遵守開(kāi)源協(xié)議條款也是應(yīng)盡義務(wù)。但現(xiàn)實(shí)情況是,一方面存在部分維權(quán)代理機(jī)構(gòu)罔顧開(kāi)源軟件的特殊性,采用商業(yè)軟件的維權(quán)套路,避而不談開(kāi)源協(xié)議條款本身,而一味要求企業(yè)購(gòu)買(mǎi)Qt商業(yè)版實(shí)現(xiàn)“正版化”;另一方面,也存在開(kāi)源協(xié)議條款復(fù)雜,企業(yè)難以判斷自身是否存在違反開(kāi)源協(xié)議的行為,導(dǎo)致雙方陷入商談僵局,不但企業(yè)不堪其擾,行政監(jiān)管部門(mén)也無(wú)所適從。本文意在為企業(yè)應(yīng)對(duì)Qt開(kāi)源軟件權(quán)利人的維權(quán)警告,提供一些解決問(wèn)題的思路和方法。
一、Qt軟件簡(jiǎn)介
Qt軟件是由Qt公司開(kāi)發(fā)的跨平臺(tái)C++應(yīng)用程序開(kāi)發(fā)框架和工具,廣泛用于開(kāi)發(fā)應(yīng)用程序和設(shè)備。Qt產(chǎn)品主要包括軟件開(kāi)發(fā)框架Qt Framework(含基本模塊Qt Essentials和擴(kuò)展模塊),開(kāi)發(fā)工具如Qt Creator(用于應(yīng)用程序開(kāi)發(fā)的跨平臺(tái)IDE)、qmake或CMake(構(gòu)建工具)等,設(shè)計(jì)工具如Qt Design Studio(UI設(shè)計(jì)構(gòu)成工具)等。【1】 Qt軟件的大部分模塊采用商業(yè)許可證+開(kāi)源許可證的雙重許可模式,主要開(kāi)源許可證為L(zhǎng)GPLv3,用于Qt核心庫(kù)和部分?jǐn)U展庫(kù);【2】部分模塊僅以GPL許可證(主要為GPLv3)授權(quán),所有以LGPL授權(quán)的Qt模塊也均適用GPL?!?】
二、Qt軟件維權(quán)警告的警告內(nèi)容及途徑
?。ㄒ唬㏎t軟件維權(quán)警告的主要內(nèi)容
1、要求在產(chǎn)品的每一個(gè)副本中進(jìn)行GPL/LGPL協(xié)議聲明、無(wú)保修聲明,并附上協(xié)議文本;
2、要求開(kāi)放源代碼、開(kāi)放硬件接口;
3、要求靜態(tài)鏈接LGPL庫(kù)只能用商業(yè)版;
4、禁止商業(yè)許可和開(kāi)源許可混用;
5、認(rèn)為使用GPL/LGPL協(xié)議開(kāi)發(fā)的產(chǎn)品相關(guān)知識(shí)產(chǎn)權(quán)將會(huì)失效。
?。ǘ㏎t軟件維權(quán)警告的主要途徑
Qt軟件權(quán)利人主要通過(guò)如下兩種途徑進(jìn)行維權(quán):
1、發(fā)送警告函
Qt軟件權(quán)利人往往會(huì)先向企業(yè)業(yè)務(wù)或法務(wù)發(fā)送警告函,同時(shí)或在與業(yè)務(wù)或法務(wù)溝通未果后,向企業(yè)領(lǐng)導(dǎo)層、投資人或控股股東等發(fā)送警告函。
2、行政投訴
在Qt軟件權(quán)利人警告函件中,往往會(huì)聲稱(chēng)要向版權(quán)局、文化執(zhí)法大隊(duì)、證監(jiān)會(huì)、證券交易所、銀監(jiān)會(huì)或者相關(guān)行業(yè)主管部門(mén)投訴舉報(bào)、申請(qǐng)查抄等等。如果與企業(yè)的直接溝通未果,部分維權(quán)代理機(jī)構(gòu)會(huì)向上述行政監(jiān)管部門(mén)進(jìn)行大范圍投訴。
三、企業(yè)應(yīng)對(duì)Qt軟件權(quán)利人維權(quán)警告的幾點(diǎn)建議
在收到Qt軟件維權(quán)警告后,建議企業(yè)在正式啟動(dòng)溝通前“知己知彼”,在充分了解Qt軟件授權(quán)方式、厘清認(rèn)知誤區(qū)的基礎(chǔ)上,盡快進(jìn)行內(nèi)部核查,充分進(jìn)行法律風(fēng)險(xiǎn)的評(píng)估;若確實(shí)存在違約行為,盡快予以糾正,并與對(duì)方進(jìn)行積極的商務(wù)溝通及投訴應(yīng)對(duì)。
(一)充分了解Qt軟件授權(quán)方式和相關(guān)開(kāi)源協(xié)議規(guī)定,厘清認(rèn)知誤區(qū)
如果企業(yè)對(duì)于Qt軟件授權(quán)方式和相關(guān)開(kāi)源協(xié)議規(guī)定不夠了解,在部分Qt維權(quán)代理機(jī)構(gòu)完全按照商業(yè)軟件維權(quán)套路,要求核查清點(diǎn)使用數(shù)量,并購(gòu)買(mǎi)商業(yè)版授權(quán)進(jìn)行“正版化”的情況下,企業(yè)難免自亂陣腳。如下針對(duì)企業(yè)可能面臨的典型認(rèn)知誤區(qū),進(jìn)行初步厘清。
1、即使使用GPL協(xié)議發(fā)布的Qt庫(kù),在屬于聚合體的情形下,其他代碼不受GPL協(xié)議傳染,無(wú)須開(kāi)源
Qt軟件維權(quán)函件中往往會(huì)絕對(duì)性地提出只要使用了GPL模塊就必須提供全部源代碼。這實(shí)際上是一種誤區(qū)。
GPL協(xié)議中明確約定了聚合體情形下不需要對(duì)整體軟件進(jìn)行開(kāi)源。雖然程序究竟怎樣組合才屬于聚合體最終依賴(lài)于法律判斷,但企業(yè)在日常使用中,如遇到必須使用GPL協(xié)議發(fā)布的Qt庫(kù)的情形,最好由技術(shù)人員配合內(nèi)外部法律團(tuán)隊(duì),按照GPL協(xié)議中關(guān)于“衍生作品”和“聚合體”的原則性規(guī)定,分析軟件與其調(diào)用的Qt庫(kù)之間的通信機(jī)制、調(diào)用關(guān)系,評(píng)估構(gòu)成聚合體的可能性。在有充分的理由評(píng)估認(rèn)定屬于聚合體的情形,那么,無(wú)須對(duì)整體代碼進(jìn)行開(kāi)源。
2、靜態(tài)鏈接LGPL庫(kù),在履行了提供最小對(duì)應(yīng)源碼等協(xié)議義務(wù)的情況下,可以正常使用開(kāi)源版,并非必須購(gòu)買(mǎi)商業(yè)版
對(duì)于必須靜態(tài)鏈接的Qt庫(kù),例如QtMain,Qt公司是以BSD開(kāi)源許可證進(jìn)行許可的。對(duì)于LGPL協(xié)議發(fā)布的Qt庫(kù),若沒(méi)有特別需求,應(yīng)盡量動(dòng)態(tài)鏈接調(diào)用。但即便是靜態(tài)鏈接調(diào)用此類(lèi)Qt庫(kù),根據(jù)LGPLv3協(xié)議第4d0項(xiàng),靜態(tài)鏈接情形下在履行了提供“最小對(duì)應(yīng)源碼”等協(xié)議義務(wù)的情況下,即可正常使用,而非只能使用Qt商業(yè)版。
3、企業(yè)在購(gòu)買(mǎi)了Qt軟件商業(yè)授權(quán)的情況下,仍然可以使用開(kāi)源Qt軟件
開(kāi)源Qt軟件使用的GPL、LGPL開(kāi)源協(xié)議本身既不限制軟件的商業(yè)性使用,也不限制與商業(yè)版Qt軟件混用。部分維權(quán)代理機(jī)構(gòu)會(huì)將Qt商業(yè)許可協(xié)議中禁止在同一個(gè)產(chǎn)品中同時(shí)使用商業(yè)Qt許可證開(kāi)發(fā)的代碼和Qt開(kāi)源許可證開(kāi)發(fā)的代碼,曲解為只要購(gòu)買(mǎi)了商業(yè)許可,則在公司的任何產(chǎn)品中即不得使用Qt開(kāi)源版。事實(shí)上,《Qt許可協(xié)議》(Qt公司的商業(yè)許可協(xié)議)中定義的“Prohibited Combination”(禁止組合)指的是在一個(gè)軟件中,將商業(yè)Qt軟件與使用開(kāi)源 Qt 軟件創(chuàng)建的軟件,一起使用、合并、鏈接或集成,或者使用商業(yè)Qt軟件開(kāi)發(fā)此類(lèi)禁止組合軟件的行為。也就是說(shuō),Qt公司并沒(méi)有要求企業(yè)一旦購(gòu)買(mǎi)過(guò)商業(yè)版,在整個(gè)企業(yè)范圍內(nèi)、授權(quán)期間內(nèi)就完全不允許再使用任何開(kāi)源Qt軟件。
4、即使存在違約行為,若在一定期限內(nèi)及時(shí)糾正,則授權(quán)恢復(fù)
GPLv3第八條“終止授權(quán)”條款明確約定了權(quán)利恢復(fù)期,包含三種情形:第一種,第一次收到版權(quán)所有人的維權(quán)警告,收到通知后30日內(nèi)改正,授權(quán)永久恢復(fù);第二種,停止違反協(xié)議,權(quán)利暫時(shí)恢復(fù),直到版權(quán)所有人明確終止授權(quán)許可;第三種,停止違反協(xié)議,如果版權(quán)所有人沒(méi)有在停止違約后的60天內(nèi)以合理方式指出違約行為,授權(quán)永久恢復(fù)。
5、即使存在違約行為,也不會(huì)導(dǎo)致使用開(kāi)源軟件開(kāi)發(fā)的軟件相關(guān)知識(shí)產(chǎn)權(quán)權(quán)利失效
部分維權(quán)代理機(jī)構(gòu)會(huì)提及,如果不遵循開(kāi)源協(xié)議,又不購(gòu)買(mǎi)商業(yè)版,可能導(dǎo)致使用開(kāi)源軟件開(kāi)發(fā)的軟件喪失相關(guān)知識(shí)產(chǎn)權(quán)權(quán)利。此種表述十分容易引起企業(yè)的焦慮。在“國(guó)內(nèi)GPL抗辯成功第一案”中,【4】一審判決支持了被告的GPL抗辯,即認(rèn)為原告權(quán)利軟件中使用了GPLv2開(kāi)源代碼,但未按照協(xié)議要求進(jìn)行開(kāi)源,違反GPLv2協(xié)議構(gòu)成違約,就不得再向其他行為人主張軟件侵權(quán)。這一判決的出現(xiàn),或許更加重了軟件權(quán)利人的不安,對(duì)于在開(kāi)發(fā)過(guò)程中使用GPL開(kāi)源軟件存在的權(quán)利瑕疵是否會(huì)導(dǎo)致未來(lái)維權(quán)困難,產(chǎn)生極大的疑慮。
近日,最高人民法院在最新判決中對(duì)前述誤區(qū)進(jìn)行了澄清。最高人民法院在(2021)最高法知民終51號(hào)案判決中明確指出“即便假定X公司因違反GPLv2協(xié)議導(dǎo)致涉案軟件存在權(quán)利瑕疵,該假定瑕疵亦不影響X公司在本案中針對(duì)被訴行為尋求侵權(quán)救濟(jì)”“軟件開(kāi)發(fā)者自身是否違反GPLv2協(xié)議和是否享有軟件著作權(quán),是相對(duì)獨(dú)立的兩個(gè)法律問(wèn)題,二者不宜混為一談,以免不合理地剝奪或限制軟件開(kāi)發(fā)者基于其獨(dú)創(chuàng)性貢獻(xiàn)依法享有的著作權(quán)。”【5】
因此,企業(yè)使用開(kāi)源Qt軟件開(kāi)發(fā)完成自己的軟件,就其獨(dú)創(chuàng)性的部分仍然依法享有著作權(quán),不會(huì)因違反開(kāi)源協(xié)議而導(dǎo)致其權(quán)利喪失。當(dāng)然,如果未來(lái)Qt公司就違反開(kāi)源協(xié)議的行為提起違約或侵權(quán)之訴,企業(yè)是否需要承擔(dān)違約或侵權(quán)責(zé)任,應(yīng)另當(dāng)別論。
至于專(zhuān)利權(quán),顯然也不會(huì)因?yàn)殚_(kāi)源軟件使用不合規(guī)而失效。專(zhuān)利有效與否,仍然應(yīng)當(dāng)按照《專(zhuān)利法》的相關(guān)規(guī)定予以判斷。
(二)內(nèi)部全面核查,對(duì)違約行為進(jìn)行糾正
企業(yè)法務(wù)部門(mén)與技術(shù)部門(mén)應(yīng)盡快協(xié)同進(jìn)行內(nèi)部核查,排查公司對(duì)Qt開(kāi)源軟件的使用情況、對(duì)應(yīng)的開(kāi)源協(xié)議、是否遵循了開(kāi)源義務(wù)、是否購(gòu)買(mǎi)過(guò)商業(yè)授權(quán)、軟件使用量等。如果無(wú)法確定涉及的開(kāi)源軟件及相應(yīng)的開(kāi)源義務(wù)遵守情況,建議找專(zhuān)業(yè)外部律師團(tuán)隊(duì)進(jìn)行咨詢(xún)。如果確實(shí)存在違約行為,則盡快予以糾正。
?。ㄈ┓e極的商務(wù)溝通及投訴應(yīng)對(duì)
在核查自身對(duì)開(kāi)源義務(wù)遵循情況并進(jìn)行評(píng)估后,企業(yè)可以與Qt軟件維權(quán)代理機(jī)構(gòu)展開(kāi)積極的溝通,就企業(yè)核查及開(kāi)源協(xié)議義務(wù)遵循情況進(jìn)行說(shuō)明、解釋。即便雙方對(duì)于開(kāi)源協(xié)議的某些條款存在各自不同的解讀,也應(yīng)當(dāng)秉持著尊重開(kāi)源協(xié)議、尊重開(kāi)源軟件權(quán)利人的基本立場(chǎng),有理有據(jù)地進(jìn)行善意溝通。
(四)對(duì)過(guò)度維權(quán)進(jìn)行合理反制
在處理Qt開(kāi)源軟件合規(guī)糾紛的案件中,筆者發(fā)現(xiàn),部分維權(quán)代理機(jī)構(gòu)在沒(méi)有任何侵權(quán)、違約實(shí)證的情況下,僅僅依據(jù)企業(yè)使用了Qt軟件(例如招聘信息中要求應(yīng)聘者熟練使用Qt,或開(kāi)發(fā)人員通過(guò)工作郵箱注冊(cè)、登錄Qt網(wǎng)站的記錄等),武斷地推斷企業(yè)必然違反了開(kāi)源協(xié)議義務(wù)。也有部分維權(quán)代理機(jī)構(gòu)自身對(duì)開(kāi)源協(xié)議缺乏了解,只是套用一些模板,對(duì)于具體應(yīng)當(dāng)遵循何種開(kāi)源協(xié)議義務(wù)、究竟違反了哪條開(kāi)源協(xié)議條款語(yǔ)焉不詳,往往還會(huì)刻意、過(guò)度夸大侵權(quán)/違約后果。當(dāng)維權(quán)代理機(jī)構(gòu)向產(chǎn)品的終端用戶(hù)、上下游合作商、投資人、競(jìng)爭(zhēng)對(duì)手等進(jìn)行無(wú)理由、無(wú)根據(jù)進(jìn)行投訴、警告,給企業(yè)造成商業(yè)機(jī)會(huì)損害或商譽(yù)損失,涉嫌商業(yè)詆毀或者其他不正當(dāng)競(jìng)爭(zhēng)行為時(shí),建議企業(yè)及時(shí)固定相關(guān)證據(jù),進(jìn)行合理的法律手段反制。
(五)加強(qiáng)內(nèi)部開(kāi)源軟件使用的制度管控
開(kāi)源軟件的使用,當(dāng)然不僅僅涉及Qt軟件。企業(yè)應(yīng)當(dāng)加強(qiáng)內(nèi)部開(kāi)源軟件使用的制度管控,包括但不限于:制定合規(guī)使用開(kāi)源軟件的相關(guān)制度;樹(shù)立合規(guī)意識(shí),將開(kāi)源協(xié)議知識(shí)產(chǎn)權(quán)培訓(xùn)納入入職培訓(xùn)或者專(zhuān)項(xiàng)培訓(xùn)中,面向技術(shù)人員普及開(kāi)源協(xié)議的核心權(quán)利義務(wù),明確企業(yè)使用開(kāi)源軟件的底線和具體要求;針對(duì)開(kāi)源軟件進(jìn)行全流程、全生命周期的管理、跟蹤監(jiān)控,引入新的開(kāi)源軟件時(shí)做好風(fēng)險(xiǎn)評(píng)估,掌握企業(yè)內(nèi)部存量開(kāi)源軟件使用情況,發(fā)現(xiàn)問(wèn)題及時(shí)處置等。
注釋?zhuān)?/strong>
【1】https://www.qt.io/product
【2】自2016年發(fā)布Qt 5.7開(kāi)始,Qt公司不再使用LGPLv2.1,全面更新為L(zhǎng)GPLv3,以確保嵌入式設(shè)備的終端用戶(hù)能夠自由地修改并在設(shè)備上部署和運(yùn)行其修改版,避免設(shè)備生產(chǎn)商鎖定其設(shè)備。https://www.qt.io/blog/2016/01/13/new-agreement-with-the-kde-free-qt-foundation; https://www.ics.com/blog/changes-qt-licensing
【3】Qt模塊和工具對(duì)應(yīng)的開(kāi)源許可證可通過(guò)官網(wǎng)頁(yè)面查詢(xún):https://www.qt.io/product/features。
【4】江蘇省南京市中級(jí)人民法院(2021)蘇01民初3229號(hào),裁判日期:2022年9月19日。
【5】最高人民法院(2021)最高法知民終51號(hào),裁判日期:2023年10月12日,關(guān)于本案的報(bào)道及判決書(shū)原文可訪問(wèn):https://mp.weixin.qq.com/s/z6WQz_brabalpQMxXgKDYA