您好,登錄后才能下訂單哦!
如何發現并解決開源帶來的風險呢?那就需要對所使用的開源代碼進行有效的管理,要實現有效的管理,有幾個重要的環節必不可少:
一、 增強開源管理意識,制定開源管理策略
所謂謀定而后動,在沒有開源管理策略的情況下盲目的使用或參與開源,會有很大的風險。一個公司在使用開源軟件或者參與開源項目之前,應該提高全員的開源管理意識,并制定相應的開源管理策略,這些策略至少應包括:使用或參與開源的基本原則、對開源軟件的管理方法、對使用開源或參與開源過程中可能出現的問題的解決方法或預案等。
制定一套開源管理策略,并在該策略的指導下去使用開源軟件,才能更加安全和高效的使用開源軟件,讓開源為公司帶來更大的價值。另一方面,沒有一套通用的開源管理策略,每個公司應根據自身的需求和具體情況來制定策略,而且這些策略還需要在具體實踐中,根據實際情況進行完善和調整。
二、 及時、有效的發現所使用的開源軟件及其風險
清楚的了解您所使用的開源軟件,是對開源軟件進行管理的前提。了解您所使用的開源軟件有兩層含義:一是了解您的軟件代碼中都用到了哪些開源代碼;二是了解這些開源代碼本身的情況及其可能造成的風險。
很多情況會導致公司無法完全了解其軟中究竟引入了哪些開源代碼,比如:代碼的重用、開發人員隨意從網絡借鑒來的代碼、外來代碼、有些開源軟件本身嵌套的其它開源代碼、有時甚至是人為隱瞞了某些開源代碼等等。
要發現這些潛在的隱含的開源代碼,需要使用專業的開源代碼檢查工具對軟件代碼進行檢查。開源代碼檢測工具的檢測精度非常重要,不僅要能夠準確的檢測出您的軟件中使用的整個開源組件,還要能檢測出您的軟件中使用的具體的開源文件、甚至是開源代碼片段。在保證檢測精度的前提下,檢測的速度也很重要,速度太慢會影響到軟件版本的發布和迭代速度。
僅僅了解到使用了哪些開源還不夠,還要了解這些開源代碼本身是否存在風險,如果使用開源檢測工具,檢測工具要能夠發現這些開源軟件的風險,包括許可證合規風險和安全漏洞風險等。對于許可證合規風險,通過開源軟件名稱及版本等信息,就可以索引到該開源軟件的License,通過分析License 是否符合公司的開源管理策略,就能知道是否存在許可證違規風險;對于安全漏洞風險,可以通過開源軟件名稱、版本等信息,從安全漏洞庫(比如NVD)中索引出相應的安全漏洞,安全漏洞通常是由于軟件中的部分代碼造成的,所以如果能夠在代碼片段級別識別安全漏洞,而不是僅僅從整個開源組件級別去識別,精確度會更高,也不容易產生誤報。
三、 讓開源管理成為研發流程的一部分
對大多數軟件公司來說,開源審查和管理是一項長期而持續的工作,進行這項工作最有效的方式就是將其融入到日常的研發流程中。在研發的早期就引入開源審查和管理,可以從源頭上避免開源帶來的風險,減少“返工”所帶來的高昂成本。
開源管理通常要借助專業的工具,如何在研發的過程中有效的使用開源管理工具,而又不對研發流程和開發周期造成不良的影響,這是對開源審查和管理工具提出的要求。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。