開放不等於自由,隨意使用開源軟件可能違規

開源軟件是提高生產力和軟件質量的關鍵因素,正確的使用開源軟件,可以提高產品的競爭力,但是在產品功能不斷更新,開發週期不斷縮短的壓力下,難以有效的對代碼中的開源軟件進行有效的識別和管理而失去管理的開源軟件可能會帶來開源許可證違規等多種風險。那麼,什麼是開源許可證違規?開原許可證違規會給我們帶來什麼負面影響?開源許可證又有哪些?怎麼有效地避免開源許可證違規呢?

1.開源許可證違規

大多數開源軟件都有其發佈許可,如果要使用這些開源軟件,應當遵守其許可證(License)的要求,如果在使用開源軟件時沒有遵守其許可要求的各項義務,就是違規使用開源軟件,會造成許可證合規性風險。開源許可證違規造成的影響可大小,嚴重時會導致法律訴訟,造成公司產品的召回,被迫開源自有知識產權代碼等等,而這些事件還可能對公司的聲譽,市場準入等造成長期的負面影響。

2.開源許可證

開源許可證,是一種允許源代碼、藍圖或設計在定義的條款和條件下被使用、修改和/或共享的計算機軟件和其他產品的許可證。目前經過OSI認證的開源許可證共有74種,而最重要的僅有6-10種(最最主要的2種:GPL、Apache)。在開源商業化的浪潮下,適度寬鬆的Apache等許可證更受歡迎這些許可證大致可以分為三類,

廣泛使用的開源許可證包括Apache-2.0, BSD-3-Clause, BSD-2-Clause, GPL,LGPL,MIT,MPL-2.0, CDDL-1.0, Eclipse 2.0.4

i. --GPL(GNU General Public License,GNU通用公共許可證):一種廣泛使用的自由軟件許可證,保證用戶可以自由的運行、學習、分享和修改軟件。許可證最初由自由軟件基金會(FSF)Richard Stallman為GNU項目所撰寫。GPL是一個非盈利版權許可證,要求衍生作品只能在相同的許可條款下發布。GPL的出發點是代碼的開源使用和引用代碼開源使用,不允許修改後和衍生的代碼作為閉源的商業軟件發佈和銷售。

ii. --LGPL(GNU Lesser General Public License,GNU寬通用公共許可證):一種由FSF頒佈的自由軟件許可證,允許開發者或公司在私有軟件中使用,不要求使用LGPL許可代碼的軟件以LGPL方式發佈。與GPL的強制性開源方式不同,LGPL允許商業軟件通過類庫引用的方式使用LGPL類庫而不需要開源商業軟件的代碼。

iii. --BSD (Berkeley Software Distribution):允許使用者修改和重新發布代碼,也允許使用或在BSD代碼上開發商業軟件併發布和銷售。

iv. --MIT License:允許開發者任意處置該軟件,包括使用,複製,修改,合併,發表,分發,再授權,或者銷售。唯一的限制是,軟件中必須包含許可提示。

v. --Apache License:一種由Apache軟件基金會發布的自由軟件許可證, 相對比較友好,被授權者可以發佈商業化軟件。

vi. --MPL (Mozilla Public License 1.1):MPL協議允許免費重發布、免費修改,但要求修改後的代碼版權歸軟件的發起者。

vii. --CDDL(Common Development and Distribution License):CDDL開源許可證,是MPL的擴展協議,它允許公共版權使用,無專利費,並提供專利保護,可集成於商業軟件中,允許自行發佈許可。

viii. --EPL (Eclipse Public License 1.0 ):EPL允許Recipients任意使用、複製、分發、傳播、展示、修改以及改後閉源的二次商業發佈。

開源許可證的共同點是保留版權,差別是商業兼容性或共享權限不同。那麼,該如何有效地避免開源許可證違規呢。

FOSSID 是一個軟件解決方案,能夠單獨部署使用,也可以與現有的開發流程進行無縫集成,能夠有效的檢測到您的代碼庫中任何的開源代碼痕跡,不論是整個開源組件的引用,還是僅僅引用了一小段代碼片段。FOSSID 可以幫您有效的發現並展示出您的軟件涉及到的開源License 及相關的合規性,也能夠發現並展示出這些開源軟件存在的安全漏洞,幫助公司從開源審查這種繁雜的工作中解脫出來,將精力更多的用於如何為用戶提供更有價值的產品。

開放不等於自由,隨意使用開源軟件可能違規


分享到:


相關文章: