Open Source(開放原始碼、開放源代碼、開源)的許可證(License)議題,開源許可證的授權範圍與限制長期以來困擾著開發團隊,如何正確選用開源套件和對應許可證也是軟體開發的一大課題,若採用不當的開源授權將為開發團隊帶來法律訴訟等困擾,甚至被迫調整軟體原始碼、運作邏輯架構,造成對軟體使用者的困擾。
藉由使用開源許可證的合規性(Compliance)管理工具,開發團隊可將原始碼與現有的開源許可證和存放庫(Repository)進行比對,選用正確的開源授權條款和原始碼,讓開發團隊和產品使用者獲得保障,減少開發的時間成本與商用開發工具授權費用,並有利於產品上線前後的版本控管,提升維護和改版的效率。
【開源合規性管理工具介紹】
隨著開放原始碼的普及化,使軟硬體開發團隊能用低成本、低門檻的方式,並配合開發專案之需求,將開放原始碼進行軟硬體的客製化和最佳化;同時不同的開源社群也藉由對外公布許可證,來約束開源社群所貢獻的原始碼不被濫用,同時保障開放原始碼的完整性。
為符合開放原始碼許可證規定的合理使用原則,軟體開發業界也推出了各項開源許可證合規性管理工具,藉由將原始碼與線上開源資料庫比對的方式,確認原始碼是否符合開源使用條款;本研究將介紹開源合規性管理工具,包含如下:
資料來源:https://alternativeto.net/software/black-duck-software/
圖1 BlackDuck開源比例分析報表
資料來源:https://alternativeto.net/software/whitesource-open-source-management/
圖2 WhiteSource開源比例分析圖
資料來源: (Smith, 2017)
圖3 RougeWave開源資材清單
【開源合規性管理工具之應用價值】
軟體開發維運團隊藉由導入開源合規性管理工具,除了能對軟硬體專案的原始碼進行全面檢視以外,也能依據開源合規性檢視,確保原始碼符合開源使用條款,並減少商用專有原始碼的授權議題。
但對於更依賴開源程式碼的新創、中小型開發維運團隊而言,若能善用開源合規性管理工具,將開發過程所利用的開源程式碼妥善管理,也能在開源條款合理使用範圍內進行客製化,以期發揮開源程式碼的效能和潛能。