Please see the LICENSE file in each top-level directory for the terms applicable to that directory and its relative sub-directories.

The relevant directories and licenses are:

document/    - W3C Software and Document Notice and License
interpreter/ - Apache License 2.0
test/        - Apache License 2.0
papers/      - Creative Commons Attribution 4.0 International License
