GitHub 正式推出「Open Source License Compliance(開放原始碼授權合規)」功能,提供給 GitHub Enterprise Cloud 的客戶使用。這個功能解決的是企業在使用開放原始碼套件時常見的難題:專案裡用到的依賴套件可能帶有各種不同的授權條款,有些授權條款其實並不符合公司的法務或商業政策,但開發者在寫程式、安裝套件的當下很難一一檢查,直到問題被發現時往往已經上線很久了。
技術上,這個功能是透過 ruleset(規則集)機制來運作。當開發者送出 pull request,裡面新增或修改了依賴套件時,系統會自動比對這些套件的授權條款,看是否符合企業事先設定好的授權政策。如果出現不符合規定的授權,系統會在 PR 上加上標註提醒,開發者接下來可以選擇移除該套件、換成別的套件、調整政策,或是替特定套件申請例外。使用這個功能的前提是,相關的 repository 要先啟用 GitHub Code Security。GitHub 也新增了「Enterprise Open-Source License Manager」這個角色,專門給負責審核授權政策的人使用。
這個功能原本是以預覽版(preview)形式推出,這次轉為正式版時也補上了幾項企業實際使用時會在意的細節,包括資料駐留(data residency)客戶也能取得授權資料、政策變更會留下稽核紀錄(audit log),以及新增的 API 可以用來下載、更新套件的合規狀態,方便企業串接自己的系統或是 AI 程式碼助理。這類「開放原始碼使用合規化」的需求,反映出越來越多企業把開放原始碼套件的授權風險,當成和資安漏洞同等級的管理項目。
這則新聞比較偏向企業端的治理與法務流程,對正在學程式的孩子來說不是立刻會碰到的東西,但很適合用來說明一個重要觀念:每個開放原始碼專案都附有一份授權條款,決定了別人可以怎麼使用、修改、甚至拿來賣錢。孩子以後在用別人寫好的程式庫(library)或套件時,養成順手看一下授權條款的習慣,會是一個很好的長期習慣。
開源開發工具平台功能