5大常見開源軟體問題及解決方法
近幾年,開原始碼的使用熱度持續上升,各類公司都習慣於使用開原始碼來構建自己的系統和平臺。開原始碼帶來的便利是大家有目共睹的,但巨大利益的背後往往存在著挑戰,開源在方便大家的同時,其隱患也不容忽視。
Synopsys2018開源安全風險分析軟體Black Duck對1100多個商業程式碼庫進行了掃描,結果發現,96%的商業應用中都融入了開源元件,平均每個應用有257個開源元件。開原始碼庫的平均百分比從2017年的36%上升至57%。
很多的開源專家已經預料到了這種趨勢。專家們表示,開源大趨勢下,各種各樣的問題也是接踵而至,很多的企業也一直在尋找解決和維護的辦法。下面是五大開源問題及解決方案,可供企業參考。
1.瞭解開源
開源軟體易獲取、易使用的特點吸引了很多企業為之青睞,但同時也讓很多企業為之頭疼,因為沒有相關的管理政策去限定開源使用,例如規定哪些開源可以被使用以及何時可以使用。
國際律師事務所Mayer Brown律師Paul Chandler表示,很多公司對他們今天使用的開源軟體並不瞭解,甚至連自己生態系統或者產品組合中有這些開源都不知道,更不用說解決漏洞問題。
Paul Chandler建議,企業CIO應該使用掃描工具來查詢企業中執行的開原始碼。要求其商業產品供應商註明產品中的開原始碼,並承擔開源風險。另外,採購合同的人員必須瞭解開源,因為開原始碼最終將以商業產品的形式出現在使用者面前,需承擔很大的風險責任。每個公司的CIO應該建立一個戰略計劃,計劃好什麼時候使用開源,以及在什麼情況下可以使用。另外,還要根據企業需求制定出開源安全效能和許可檢測策略,並且確定好OSS管理和維護人員。
2.遵守許可證的要求
Open Source Initiative(開源計劃),是一個提倡開源的非營利組織,它列出了已被批准的80多個開源許可證,並且每一個許可證都有單獨的規則和要求,使用OSS的企業必須遵守相應許可證的規則和要求。
Mayer Brown的合夥人Robert Kriss表示,儘管開源是免費的,但也會有很多附加資訊。開源許可證的要求是不一樣的,例如一些許可證要求開發人員共享他們對開原始碼的更改,但其他的可能就不需要。對於一些專利程式碼,則不允許更改。還有一些規則限制了開源軟體對於商業產品的應用。此外,在產品中使用多個OSS的開發人員會發現這樣一個問題,一個開原始碼元件的許可條款與另一個與之相關聯的開源元件許可條款之間互相矛盾。很多開源軟體的許可條款表達的並不明確,導致企業在遵循時出現很多問題。但許可條款在開源風險的控制上還是作用很大的,許可證上會標明語言風險,您 只有閱讀完之後才能預估隱患。
3.設立開源服務級別
OSS的主要優勢就是可以免費獲取程式碼而不需要支付任何費用。但這並不意味著開源沒有成本。Gartner副總裁兼研究總監Mark Driver表示,企業經常無法正確計算出他們使用的開源軟體的總成本,並且總是會低估開源維護和管理的時間。
Driver說到;“很多的企業選擇非商業路線,因為他們認為這樣才會獲得更大利益,並只使用企業內部資源來進行維護工作。但是在這樣的觀念裡,企業很容易誤估他們實際的花銷能力。”
為了避免這種情況,Driver建議,IT需要設立應用程式中使用的開原始碼所需的服務級別。這樣企業便很容易評估開源成本,以及潛在故障成本,有助於企業對淨利潤和商業替代方案進行對比。
Driver強調:“企業對開源的熱情並不是其經營業務的方式,認清開源的價值才是業務的真正實現。”
4.關注可用性
目前,開發人員都在使用OSS為使用者提供應用程式中所需的功能和特性。但G2 Crowd Inc.的首席研究官Michael Fauscette表示,很少的開發人員會考慮其開源軟體的參與是否會影響應用程式的可用性。即使開源軟體在應用程式中所佔的比例很小,但可用性不匹配,也能很顯著的降低整個產品的特性或使用者體驗。所以開發人員在選擇開源軟體之前,應該衡量好開源軟體與其產品可用性的利益對比。
Michael Fauscette補充到:“今天的員工對使用不易使用的東西的容忍度往往很低。”
5.維護和管理開源組合
經驗豐富的開發人員都知道,尋找生產中開源軟體的更新和漏洞補丁是他們該有的責任,但是他們卻往往沒有很好的做到這一點。
Snyk對開源專案維護者的調查發現,44%的開源專案從未進行過安全審計,僅17%的專案表示有高水平的安全專業技能。開源專案的安全記錄方式也沒有標準可循。並且,即便問題被修改,也無法通知老版本的使用者。並且即便漏洞被發現並推出了補丁,使用該程式碼的公司也可能不會注意到自己需要補丁,或者找不出需要補丁的例項。
Driver表示,開源資產在IT組合中往往沒有得到妥當的管理。公司的技術主管應該實施治理程式,確保企業作業系統得到充分管理,保證應用程式在企業環境中正常運作。
Driver建議,技術主管應該建立一個多層的管理系統,嚴格管理關鍵程式中執行的OSS。這是一項很艱鉅的任務,但逃避的後果也將是災難性的。2017年Equifax資料洩露事件就是一個警鐘。其所用 Apache Struts 開源元件的補丁早在資料洩露發生前2個月就推出了,且Equifax也注意到了有補丁可用,但依然沒能及時打上補丁。
Welty表示,企業在使用開原始碼的時候,必須設立一個管理過程來監控和引入更新。當監控到開原始碼沒有得到定期更新和提供補丁時,應及時解決。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31542119/viewspace-2214723/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Nacos 常見問題及解決方法
- 4 個常見的軟體安全開發問題及其解決方法
- As常見問題解決方法
- Git常見問題及解決Git
- WordPress:常見問題及解決方案
- UltraEdit常見問題及解決教程
- Flink生產環境常見問題及解決方法
- Kafka常見的問題及解決方案Kafka
- 爬蟲常見問題及解決方式爬蟲
- 快取常見問題及解決方案快取
- 客戶服務常見問題及解決方法介紹
- 如何入行軟體開發——常見問題及崗位分工
- git常見問題解決Git
- 問卷調查中常見問題及解決方法
- 【FAQ】推送服務常見問題及解決方案
- 物聯網路卡常見問題及解決方案
- CrashSight 接入上報常見問題及解決方案
- Android應用安全常見問題及解決方案Android
- Windows共享資料夾常見問題解決方法Windows
- git 常見問題及操作方法Git
- 開發微信小程式之HTTPS報錯常見問題彙總及解決方法微信小程式HTTP
- keepalived 1.3.5常見配置以及常見問題解決
- RabbitMQ訊息佇列入門及解決常見問題MQ佇列
- Windows 安裝 MySQL 5.7.20 教程(及常見問題解決)WindowsMySql
- Firefox 使用常見問題和解決方法Firefox
- Python爬蟲程式設計常見問題解決方法Python爬蟲程式設計
- 【Debian】更換軟體 源出現的Certificate問題解決方法
- 解決常見介面跨域問題跨域
- 【FAQ】整合分析服務的常見問題及解決方案
- SAP質量管理模組常見問題及解決方案
- SQL Server常見問題介紹及快速解決建議SQLServer
- react 記憶體洩露常見問題解決方案React記憶體洩露
- 如何入行BC軟體開發——網站搭建常見問題及崗位分工網站
- 大快發行版DKhadoop安裝與配置常見問題及解決方法整理Hadoop
- 手機APP測試之ADB常見問題解決方法APP
- 【知識分享】伺服器常見異常問題及解決辦法伺服器
- 軟體測試面試常見問題面試
- web開發技巧-網頁排版佈局常見問題及解決辦法Web網頁