导语:开源许可证风险从"出事后审计"前移到"合并前拦截",并被写进了编码智能体的调用约束里。
摘要
GitHub 开源许可证合规正式 GA,企业现在可以用基于规则集的精细化检查,在规模化层面统一管理依赖的许可证,并强制执行集中策略。该功能面向 GitHub Enterprise Cloud 客户(含数据驻留版 GHEC)、且已开启 GitHub Code Security 的仓库。策略通过在规则集中启用新的"合并前要求许可证合规结果"条件来激活;开发者提交增删依赖的 PR 时,系统会自动检查每个新增或变更依赖的许可证是否可接受,并在 PR 上对不合规依赖作出标注。处理方式只有三种:移除或替换该依赖、修改许可证策略、或创建包例外。同时新增了 Enterprise Open-Source License Manager 这一预置企业角色。
正文(译文)
企业现在可以规模化地管理其依赖的许可证,用基于规则集的精细化检查来强制执行集中化策略。开源许可证合规现已在 GitHub Enterprise Cloud 客户中正式可用,包括数据驻留版 GHEC,适用于已开启 GitHub Code Security 的仓库。
工作原理
开源许可证合规在 dependency review action 的能力之上做了扩展,引入了企业级许可证策略。该策略通过规则集来定位仓库并激活,规则集使用一个新的条件――"合并前要求许可证合规结果",与既有的代码扫描条件类似。当开发者打开新增或修改依赖的拉取请求时,许可证检查会自动确保每个新增或变更的依赖都具备可接受的许可证。该功能会在拉取请求上就每个不合规依赖添加标注说明。这些标注必须通过以下方式处理:移除或替换该依赖、修改许可证策略,或创建包例外。
开源许可证合规引入了一个新的预置企业角色:Enterprise Open-Source License Manager(企业开源许可证管理员)。请把该角色分配给负责审阅与批准关闭请求个人或团队。策略管理员会收到关于待处理请求的邮件通知,并可在企业控制台中审阅这些请求。
新增与改进
自 6 月公开预览发布以来,我们做了若干改进:
许可证信息现在对 GitHub Enterprise Cloud 数据驻留客户可用。这不仅启用了许可证合规功能,也为依赖关系图和软件物料清单(SBOM)导出填充了许可证数据。
许可证策略变更现在会发出审计日志事件,便于与外部记录系统集成。
新增了用于下载、更新和替换企业许可证策略的 API 端点。
还新增了一个用于检查软件包是否符合策略的 API 端点。这使得编码智能体能够避免推荐或引入违反组织许可证使用策略的软件包。
如何试用
详细配置说明请参阅"关于开源许可证合规"。 API 端点信息请参阅 dependency-graph 的 REST API 端点。 欢迎加入 GitHub Community 参与讨论。
