開源是近年來大火的詞匯。自2017年7月Facebook的React開源軟件被Apache基金會宣布禁止使用、百度也宣布全面停止使用以來,開源軟件的合規性使用引發了大家的關注。
我們以React為例,看看開源軟件的坑在哪里。
一、React的開源許可證
React最初的開源許可證為Facebook 在BSD許可證基礎上附加了專利防御保護條款,即BSD+Patents license。
1. 解讀
原許可證在著作權授權使用(BSD)的基礎上添加了防御性專利侵權條款(Patents),寫明在以下三種情況下Facebook授予被許可人的專利權將被撤回:
如果被許可人對Facebook及其子公司、關聯公司提出直接或間接的專利訴訟;
對其他方提起專利訴訟,且該專利訴訟全部或部分起因于Facebook、其子公司或者關聯公司的任何軟件、技術、產品或服務;
就React軟件相關發起專利訴訟,起訴其他方。
通俗的可以理解為:只要因為你提起專利訴訟,讓Facebook成為被告或者第三人,Facebook都可以撤回React的專利授權。
許可證及后續Facebook的答疑中明確專利權在以下情形下不會被撤回:
被許可人使用React創造了競爭產品;
被許可人就專利侵權之外的事項起訴Facebook;
Facebook作為專利訴訟(非因BSD+Patents license授權下的軟件相關)的原告,被許可人反訴的情形。
另外,Facebook也明確了專利授權的終止并不會導致著作權許可的終止。
2. 質疑漩渦
Apache基金會在2017年7月禁止Apache 產品中使用遵循BSD+Patents License的JAR包。質疑漩渦進一步發酵,社區激烈地質疑Facebook違背了開源的精神。
雖然并沒有現成的案例可以支持。然而,引起大家擔憂的是從許可證文本約定來看,如果某公司強依賴性使用React,則Facebook可以自由使用該公司的所有專利。因為只要該公司發起對Facebook的專利訴訟,該公司的React的專利授權就會被撤回。
在持續發酵的情況下,Facebook承諾更換許可證,并于9月26日遵守承諾在發布React16時更換為MIT許可證。然而,對Facebook還堅持使用原許可證的開源項目,仍然應該引起關注。總體而言,React許可證的更換不僅是開源社區的一次勝利,更是提高了企業、開發者對許可證重要性的認識、起到了警示作用。
二、如何正確使用開源軟件
1. 關注開源軟件使用的合規性
同開源軟件的廣泛使用相對應,開源許可證的遵守情況卻不容樂觀。從法律的角度來講,使用者自引入某開源軟件的時刻起,其開源許可證將自動適用。使用者如未履行許可證規定的義務(如加入版權說明),即構成侵權,或者違反契約(合同)的行為,并因此可能造成許可證的撤回并承擔相應的賠償責任。
例如Netfilter核心開發者團隊的 Patrick McHardy,以違反GPL許可證為理由,在德國威脅超過80家公司,并謀利約200萬歐元。事后Patrick McHardy被定義為“GPL謀利-版權謀利者”。2016年12月16日美國的軟件自由法律中心(Software Freedom Law Center)起訴包含三星在內的14家廠商違反GNU許可證。在中國國內,小米公司也因屢次違反開源協議而被社區指責。從以上案例中也可以看出國內外企業對開源許可證的義務、法律責任均認識不足。
綜上,未按照開源許可證約定使用開源軟件會引發潛在的法律糾紛,或者給企業帶來名譽損失。因此,企業在使用開源軟件時應建立審查制度。依據開發軟件的用途、目的、市場等情況判斷是否引入某開源軟件。
就軟件開發服務提供者而言,應首先關注同客戶的合同約定,在合同約定可以使用的前提和范圍下,盡到對客戶的通知義務或取得客戶的書面同意。以避免因為使用開源軟件導致的合同違約或者被追償。
2. 關注開源軟件使用的安全性
開源軟件由于貢獻者的能力不同導致可能存在安全漏洞。因此,開發者在享受開源軟件的便利時,應注意漏洞的識別,并采取相應的代碼安全審計,并將已披露漏洞及修復方案及時告知客戶。
3. 制定開源軟件使用政策
如果公司在業務中大量采用開源軟件,則制定并執行開源使用政策就變得尤為重要。根據公司業務的不同,政策可以涵蓋公司對開源的態度(是否支持,創建社區還是加入某社區)、哪些應用可以開源,哪些應用可以使用開源軟件;哪些許可證類型的開源軟件可以使用、審查流程等。從而最大限度的避免公司的知識產權侵權風險。
-
開源軟件
+關注
關注
0文章
210瀏覽量
15938 -
Facebook
+關注
關注
3文章
1429瀏覽量
54850 -
Apache
+關注
關注
0文章
64瀏覽量
12478
發布評論請先 登錄
相關推薦
評論