今年來,開源的熱度持續(xù)快速上升。開源給各大企業(yè)、組織帶來了諸如迭代更快、成本更低、質(zhì)量更高的收益;然而,企業(yè)在合規(guī)使用開源軟件的過程中,也會面臨一系列知識產(chǎn)權(quán)風(fēng)險,這些風(fēng)險主要源于開源許可證的傳染性特征、不同開源許可之間可能存在的不兼容性,以及開源軟件使用規(guī)則中所蘊含的不確定性等因素。
01.什么是開源許可
開源許可是一種針對開源軟件使用者的約束,目的在于規(guī)范受著作權(quán)保護(hù)的軟件的使用或者分發(fā)行為。
常見的開源許可,如下圖1中所示。這些許可證,主要分為permissive license(寬松許可)和Copyleft許可(作者保留一定的版權(quán),在任何派生作品中繼續(xù)應(yīng)用相同的條款),它們對知識產(chǎn)權(quán)使用、修改和分發(fā)的場景作出相應(yīng)的約束。
這些不同的許可之間,上文已提及可能會存在不兼容、傳染性(即某個開源組件被某個應(yīng)用使用后,該應(yīng)用必須遵循該開源組件所使用的許可證或部分許可規(guī)則)差異等因素,如圖2中所示。因此,在企業(yè)或者組織中,使用開源組件或依賴時,往往會面臨各種合規(guī)性風(fēng)險。那么,如何在研發(fā)過程中提前識別并規(guī)避此類許可風(fēng)險呢?下文將接著展開論述。
02.怎么做來規(guī)避許可風(fēng)險
對于企業(yè)、研發(fā)組織或者個人而言,為了規(guī)避上文提到的許可風(fēng)險,應(yīng)該做好哪些工作呢?筆者從以下三點給出建議:
對于企業(yè)或者個人而言,要做到以上三點,實際上都需要借助一個工具或方案來識別實際研發(fā)過程中所使用的開源軟件是否合規(guī)。接下來,我們將進(jìn)一步詳細(xì)介紹開源制品的許可掃描的處理方案。
03.制品掃描的方案
在實際生產(chǎn)中,為了應(yīng)對許可風(fēng)險,我們可以借助類似Trivy、Murphysec等開源工具,來掃描項目中使用的依賴,這些工具能夠一鍵識別出項目中所有的開源組件,并且列出它們所對應(yīng)的許可證信息。
獲得掃描結(jié)果后,我們可以在許可證信息的基礎(chǔ)上,進(jìn)一步補充說明許可風(fēng)險信息。在這一步驟中,不同的組織或者團(tuán)隊會有兩種不同的處理方式:一種是明確標(biāo)記出許可證合規(guī)的風(fēng)險等級;另外一種則是不標(biāo)記等級,而是直接標(biāo)注是否合規(guī)。這樣,在項目中可以通過查看許可證合規(guī)風(fēng)險的提示信息,來判斷項目是否存在不合規(guī)的情況。
在項目實踐中,上述的掃描方案通常會被集成于制品庫產(chǎn)品中,與制品的安全掃描(即漏洞掃描)場景合為一個場景進(jìn)行處理。制品的掃描結(jié)果(涵蓋了漏洞安全掃描和許可證掃描)可以被整合為制品的質(zhì)量規(guī)范,依據(jù)該規(guī)范,可以指定制品的準(zhǔn)入或者準(zhǔn)出的門禁?;谶@樣的門禁機(jī)制,制品的合規(guī)性在很大程度上可以通過自動化的方式有效避免。
綜上所述,各企業(yè)和個人若能做到文中所述的幾點,那么在制品合規(guī)風(fēng)險上就不必再如履薄冰;此外,文中提及的制品掃描解決方案和實踐方式,在一定程度上能夠提升制品合規(guī)的生產(chǎn)效率和準(zhǔn)確性。
CMDB治理:CMDB數(shù)據(jù)消費與應(yīng)用指南
查看詳細(xì)
1分鐘解鎖開箱即用價值流:研發(fā)效率飆升實戰(zhàn)指南
查看詳細(xì)
CCI持續(xù)集成平臺:高效集成K8s集群,流水線容器構(gòu)建集群上線
查看詳細(xì)
嘉為藍(lán)鯨CCI持續(xù)集成平臺:Matrix Job 帶你開啟流水線編排 2.0 時代
查看詳細(xì)
告警管理:如何從零散事件中挖出關(guān)鍵信息
查看詳細(xì)
嘉為藍(lán)鯨CPack制品庫:全新ML模型管理功能,助力AI交付與企業(yè)級DevOps實踐無縫結(jié)合
查看詳細(xì)
申請演示