開源軟件license管理


項目當中遇到一些問題,需要排查所有的依賴的license信息,需要將所有的依賴的license信息都列出來,由於依賴的繼承和傳遞關系,依賴的數量非常龐大,因此手工來完成這個任務是不太現實,好在已經有很好的開源工具實現了這個功能.

java項目

修改gradle的配置,安裝插件Gradle-License-Report

plugins {
    id("com.github.jk1.dependency-license-report") version "1.16"
}

licenseReport {
    renderers = arrayOf<ReportRenderer>(InventoryHtmlReportRenderer("report.html","Backend"),com.github.jk1.license.render.CsvReportRenderer())
    filters = arrayOf<DependencyFilter>(LicenseBundleNormalizer())
}

這款插件會為你生成你項目所有依賴的license報表信息,可以支持多種報表格式,包括csv,html,pdf等.
安裝以后,會添加如下的task

Reporting tasks
---------------
generateLicenseReport - Generates license report for all dependencies of this project and its subprojects

執行./gradlew generateLicenseReport以后,就可以在build/reports/dependency-license里找到新生成的report了,新生成的report如下圖
license report

nodejs

npm里有一個license-checker可以很方便地查看每個依賴的license信息,使用前先進行全局安裝

npm install -g license-checker
npm install -g yui-lint

然后運行如下的命令就可以生成相應的csv報告,注意在執行前要先運行一下yarn install, 確保所有的依賴都已經正確安裝了

license-checker --production --csv > license.csv


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM