我們應該怎樣使用開源軟件

我們以React為例,看看開源軟件的坑在哪裡。

我們應該怎樣使用開源軟件

React的開源許可證

React最初的開源許可證為Facebook 在BSD許可證基礎上附加了專利防禦保護條款,即BSD+Patents license。

解讀

  1. 如果被許可人對Facebook及其子公司、關聯公司提出直接或間接的專利訴訟;
  2. 對其他方提起專利訴訟,且該專利訴訟全部或部分起因於Facebook、其子公司或者關聯公司的任何軟件、技術、產品或服務;
  3. 就React軟件相關發起專利訴訟,起訴其他方。

許可證及後續Facebook的答疑中明確專利權在以下情形下不會被撤回:

  1. 被許可人使用React創造了競爭產品;
  2. 被許可人就專利侵權之外的事項起訴Facebook;
  3. Facebook作為專利訴訟(非因BSD+Patents license授權下的軟件相關)的原告,被許可人反訴的情形。
我們應該怎樣使用開源軟件

質疑漩渦

Apache基金會在2017年7月禁止Apache 產品中使用遵循BSD+Patents License的JAR包。質疑漩渦進一步發酵,社區激烈地質疑Facebook違背了開源的精神。

在持續發酵的情況下,Facebook承諾更換許可證,並於9月26日遵守承諾在發佈React16時更換為MIT許可證。然而,對Facebook還堅持使用原許可證的開源項目,仍然應該引起關注。總體而言,React許可證的更換不僅是開源社區的一次勝利,更是提高了企業、開發者對許可證重要性的認識、起到了警示作用。

如何正確使用開源軟件

1. 關注開源軟件使用的合規性

綜上,未按照開源許可證約定使用開源軟件會引發潛在的法律糾紛,或者給企業帶來名譽損失。因此,企業在使用開源軟件時應建立審查制度。依據開發軟件的用途、目的、市場等情況判斷是否引入某開源軟件。

我們應該怎樣使用開源軟件

就軟件開發服務提供者而言,應首先關注同客戶的合同約定,在合同約定可以使用的前提和範圍下,盡到對客戶的通知義務或取得客戶的書面同意。以避免因為使用開源軟件導致的合同違約或者被追償。

2. 關注開源軟件使用的安全性

開源軟件由於貢獻者的能力不同導致可能存在安全漏洞。因此,開發者在享受開源軟件的便利時,應注意漏洞的識別,並採取相應的代碼安全審計,並將已披露漏洞及修復方案及時告知客戶。

3. 制定開源軟件使用政策。


文/朱偉燕,ThoughtWorks中國總法律顧問


分享到:


相關文章: