The drafter release tarballs, and the releases and installations of Protagonist and Drafter.js don't always clearly specify their vendored dependencies license files.
Many of the licenses require that the copyright notice is with source and binary copies of the dependencies. Both the Homebrew package and the Archlinux AUR package should be updated to ensure that THIRD_PARTY_LICENSES.txt is present upon installation of Drafter when we make the next release.
To create the file, I've followed the format that our "black-belt" tool would generate using ---------separator--------- as a separator and package name (and version if possible). I have written a script which verifies that the committed state is correct in CI so that we will catch when it comes out of date, the script will print a message in the CI failure on what a user can do to continue. These scripts are similiar in design and naming to the existing make-tarball.sh and clang-format-check.sh scripts.
Upon merge, the following patches will be proposed to Protagonist and drafter.js so that the THIRD_PARTY_LICENSES.txt are present on installation of those packages along with adding THIRD_PARTY_LICENSES.txt to gitignores.
THIRD_PARTY_LICENSES.txt does not contain the dependencies for testing, these will not be present for installations of Drafter, or source distributions of Protagonist. They are however in the development, although these licenses are found within the test/vendor/dtl/COPYING and test/vendor/Catch/LICENSE.txt.
The drafter release tarballs, and the releases and installations of Protagonist and Drafter.js don't always clearly specify their vendored dependencies license files.
This PR adds a
THIRD_PARTY_LICENSES.txt
file to the root of the repository, this is the standard policy for third party dependency licenses (examples elsewhere: https://github.com/oracle/opa-oda-chat/blob/1c87ca3a0a3eb864c16be8bcdb5eda1fb758ab22/THIRD_PARTY_LICENSES.txt, https://github.com/oracle/oci-python-sdk/blob/a7d5f87be08d2925cd312e2684867dc8c29df1df/THIRD_PARTY_LICENSES.txt).Many of the licenses require that the copyright notice is with source and binary copies of the dependencies. Both the Homebrew package and the Archlinux AUR package should be updated to ensure that
THIRD_PARTY_LICENSES.txt
is present upon installation of Drafter when we make the next release.To create the file, I've followed the format that our "black-belt" tool would generate using
---------separator---------
as a separator and package name (and version if possible). I have written a script which verifies that the committed state is correct in CI so that we will catch when it comes out of date, the script will print a message in the CI failure on what a user can do to continue. These scripts are similiar in design and naming to the existingmake-tarball.sh
andclang-format-check.sh
scripts.Dependencies
Additional changes
Upon merge, the following patches will be proposed to Protagonist and drafter.js so that the THIRD_PARTY_LICENSES.txt are present on installation of those packages along with adding
THIRD_PARTY_LICENSES.txt
to gitignores.drafter.js
Protagonist
Caveats
THIRD_PARTY_LICENSES.txt
does not contain the dependencies for testing, these will not be present for installations of Drafter, or source distributions of Protagonist. They are however in the development, although these licenses are found within thetest/vendor/dtl/COPYING
andtest/vendor/Catch/LICENSE.txt
.