GitHub 推出授權合規工具,封鎖不合規程式碼 - Open Source For You
GitHub 推出授權合規工具,封鎖不合規程式碼
GitHub 新推出的 License Compliance(授權合規)功能,會自動掃描直接與巢狀相依套件,在軟體進入正式環境前,先阻止代價高昂的開源法律違規問題。
GitHub 已正式推出新的 GitHub License Compliance 功能,目前處於公開預覽階段。這項功能提供給 GitHub Advanced Security(GHAS)客戶使用,GitHub Enterprise Cloud 組織只要在儲存庫中維持有效的 GHAS Code Security 授權,就能使用。
它就像是軟體供應鏈的自動化檢查清單,讓企業團隊能大規模自動管理開源相依套件、識別授權風險,並在有問題的程式碼合併到正式環境前,防止代價高昂的合規或法律違規事件。當開發者開啟或修改一個新增或更新相依套件的 pull request 時,這項工具會自動根據公司的內部合規政策,評估直接與間接(傳遞)相依套件的授權條款。如果系統發現某個套件含有不尋常、缺漏,或明確被禁止的授權條款,就會在 pull request 的對應行項目上直接加上專屬警示註記,並標示出它在相依關係樹中的確切路徑。
這項工具讓公司可以透過組織層級的規則集推行強制執行機制;在「Evaluate」模式下,系統會產生 pull request 註記提醒相關人員,但不會阻擋合併。這可用來讓開發者的工作流程逐步熟悉合規規則。當切換到「Active」模式執行強制管制後,在該相依套件被移除、替換,或取得正式政策豁免前,程式碼都無法被合併。儲存庫管理員可以透過特定的儲存庫屬性,在 Active 與 Evaluate 狀態之間順暢切換,讓團隊在審查授權問題的同時,暫時降低強制執行規則,好讓關鍵安全修補或緊急 hotfix 先通過。
GitHub 內部的 Open Source Program Office(OSPO,開源計畫辦公室)是主要的早期採用者;在公開預覽前,OSPO 先在內部測試這項工具兩個月,用來管理自身複雜、牽涉多重相依項目的合規網絡。最初的防護規則建立在預先定義的允許清單上,清單包含 MIT、Apache 2.0、BSD-3-Clause 等標準、授權限制高度寬鬆且合規風險低的授權條款。
如果開發者認為某個被標記的相依項目是必要的,就可以提交正式的例外申請。這些申請會直接送交被指派為新導入的 Enterprise Open Source License Policy Manager(企業開源授權政策管理員)角色的人員。核准豁免時,這些管理員可以透過組織層級規則、特定儲存庫規則,或萬用字元規則來套用豁免,以便同時處理相關的內部套件或供應商套件。
