GitHub开源套件相依检查工具Licensed,助开源社群管理专案授权许可

GitHub开源自家用来检查套件相依的工具Licensed,以帮助开源社群能用同样的方式,简化授权程序。
GitHub表示,在实务上,列举专案的相依关系可能是一件困难的事。最理想的情境,套件管理器会提供一份可解析的专案相依关系列表档案,方便开发者追踪或是产生后续的授权文件,但是比较复杂的情况,可能还需要用使用命令列工具,跨不同语言套件取得其个别的授权文件。
而Licensed原本是用来帮助GitHub工程师在开发周期时,发现潜在的相依授权许可问题的工具,并确保在专案开发的同时,能持续更新相依关系授权文件。Licensed能用在任何的Git仓储库,对多个专案多语言类型和套件管理器,查询、快取以及检查相依关系的授权许可元资料(Metadata)。
Licensed读取配置文件,决定相依关系的存放的位置以及方式。一个配置文件可以指派给单个或多个Licensed应用程序,根据配置文件的内容,Licensed会搜寻路径寻找并列举每一个来源的相依关系,包括名称、版本与首页等资料。
一旦找到了相依关系的元资料,Licensed会将其快取于指定的资料夹中。GitHub表示,将相依关系资料放在程式码仓储库中,检查相依关系便能成为开发工作流程的一部分,还能与CI工具组合使用,在专案开发过程随时进行维护,只要相依关系发生变化,便立即更新授权许可资料,以维持资料的正确性。
而且将相依关系资料放在程式码仓储库中,同时代表着以版本控制的概念,纪录相依关系的变化历程,这能使未来追踪特定的相依关系更加容易。
GitHub提到,不少套件的授权许可要求后续专案发布相依关系文件,使用Licensed可以加速这件事,自动化建立与发布授权许可,并且为专案提供详细的开源资源列表。当然,Licensed也能用来检查专案与套件的任何相依关系,并自动产生报告,警告使用者应该注意或是违反授权许可的部分。
