探討開源許可證合規性管理工具的重要性與效益


Open Source(開放原始碼、開放源代碼、開源)的許可證(License)議題,開源許可證的授權範圍與限制長期以來困擾著開發團隊,如何正確選用開源套件和對應許可證也是軟體開發的一大課題,若採用不當的開源授權將為開發團隊帶來法律訴訟等困擾,甚至被迫調整軟體原始碼、運作邏輯架構,造成對軟體使用者的困擾。

藉由使用開源許可證的合規性(Compliance)管理工具,開發團隊可將原始碼與現有的開源許可證和存放庫(Repository)進行比對,選用正確的開源授權條款和原始碼,讓開發團隊和產品使用者獲得保障,減少開發的時間成本與商用開發工具授權費用,並有利於產品上線前後的版本控管,提升維護和改版的效率。 

【開源合規性管理工具介紹】

隨著開放原始碼的普及化,使軟硬體開發團隊能用低成本、低門檻的方式,並配合開發專案之需求,將開放原始碼進行軟硬體的客製化和最佳化;同時不同的開源社群也藉由對外公布許可證,來約束開源社群所貢獻的原始碼不被濫用,同時保障開放原始碼的完整性。

為符合開放原始碼許可證規定的合理使用原則,軟體開發業界也推出了各項開源許可證合規性管理工具,藉由將原始碼與線上開源資料庫比對的方式,確認原始碼是否符合開源使用條款;本研究將介紹開源合規性管理工具,包含如下:

  • Black Duck:業界代表性的商用開源合規性管理工具之一,藉由掃描原始碼中的開源元素,並核對線上開源資料庫,依據開放原始碼條款提醒使用者正確使用,並隨著開源函式庫的漏洞更新提醒使用者同步更新。

 BlackDuck開源比例分析報表

資料來源:https://alternativeto.net/software/black-duck-software/

圖1 BlackDuck開源比例分析報表

 

  • WhiteSource:跟Black Duck一樣主打開源合規性檢測,除了提供原始碼開源比例分析以外,還能從分析結果協助使用者選用合適的開源函式庫,並在開源程式碼有漏洞時發出警示並提醒使用者更新。

 WhiteSource開源比例分析圖

資料來源:https://alternativeto.net/software/whitesource-open-source-management/

圖2 WhiteSource開源比例分析圖 

  • RogueWave:用途與WhiteSource類似,但開源合規性報告可針對原始碼和原始檔中的「軟體釋出型態(Software model)」、「軟體許可證型態(License model)」,建立一份「資材清單(Bill of material)」,了解原始碼和原始檔中開源程式碼的使用比重。

 RougeWave開源資材清單

資料來源: (Smith, 2017)

圖3 RougeWave開源資材清單 

【開源合規性管理工具之應用價值】

軟體開發維運團隊藉由導入開源合規性管理工具,除了能對軟硬體專案的原始碼進行全面檢視以外,也能依據開源合規性檢視,確保原始碼符合開源使用條款,並減少商用專有原始碼的授權議題。

但對於更依賴開源程式碼的新創、中小型開發維運團隊而言,若能善用開源合規性管理工具,將開發過程所利用的開源程式碼妥善管理,也能在開源條款合理使用範圍內進行客製化,以期發揮開源程式碼的效能和潛能。

參考來源:

  1. (2017). What is an open source audit report? Retrieved July 30, 2020, from RogueWave: https://www.roguewave.com/sites/rw/files/documents/datasheets/rw-open-source-audit-report-example.pdf
  2. Smith, S. (2017, May 8). Top 10 Open Source Audit Management Software. Retrieved July 30, 2020, from Small Business Software Reviews, Services Insight and Resources: https://cloudsmallbusinessservice.com/blog/top-10-open-source-audit-management-software.html
  3. 鉅晶國際. (2019年3月27日). Black Duck(黑鴨)軟體組成分析. 2020年7月30日 擷取自 鉅晶國際: https://www.jjnet.com.tw/downloads/file_download/10000/1000/201/20190327221146.pdf
延伸閱讀