include NOTICE and LICENSE in libraries (jar) and agent (jar)
re-opens closed PR due to making the project public: #128
Implementation details:
In addition of the project License (Apache2), two extra licenses are included to cover dependencies (they are linked from the /NOTICE file)
/licenses/LICENSE_asm_bsd-3-clause
/licenses/LICENSE_mpl-2
In source code:
the /LICENSE contains a copy of the Apache 2 license
the /NOTICE is generated from a template
the /licenses/ folder contains:
one more-licenses.md file that contains the list of dependencies and their licences with links to sub-folders
one sub-folder per embedded dependency of the project with license and notice if they are packaged in the dependency
In packaged artifacts (in particular for the java agent):
the /LICENSE file is copied to /META-INF/LICENSE
the /NOTICE file is copied to /META-INF/NOTICE
the /licenses folder from the upstream agent is copied as-is to /META-INF/licenses
the /licenses folder content is copied to /META-INF/licenses, hence it complements what is included in the upstream agent.
two markdown files describe the dependencies /META-INF/licenses/more-licenses.md (from this project) and /META-INF/licenses/licenses.md (from the upstream agent), some overlap is expected but there is no harm for duplication here.
To update:
the update-license-and-notice gradle task updates the /NOTICE and /licenses/more-licenses.md + sub-folders.
re-opens closed PR due to making the project public: #128
Implementation details:
In addition of the project License (Apache2), two extra licenses are included to cover dependencies (they are linked from the
/NOTICE
file)/licenses/LICENSE_asm_bsd-3-clause
/licenses/LICENSE_mpl-2
In source code:
/LICENSE
contains a copy of the Apache 2 license/NOTICE
is generated from a template/licenses/
folder contains:more-licenses.md
file that contains the list of dependencies and their licences with links to sub-foldersIn packaged artifacts (in particular for the java agent):
/LICENSE
file is copied to/META-INF/LICENSE
/NOTICE
file is copied to/META-INF/NOTICE
/licenses
folder from the upstream agent is copied as-is to/META-INF/licenses
/licenses
folder content is copied to/META-INF/licenses
, hence it complements what is included in the upstream agent./META-INF/licenses/more-licenses.md
(from this project) and/META-INF/licenses/licenses.md
(from the upstream agent), some overlap is expected but there is no harm for duplication here.To update:
update-license-and-notice
gradle task updates the/NOTICE
and/licenses/more-licenses.md
+ sub-folders.