Skip to content

Latest commit

 

History

History
97 lines (77 loc) · 7 KB

File metadata and controls

97 lines (77 loc) · 7 KB

License information

The OpenVADL distribution includes both the OpenVADL frontend with its different generators and various processor specifications. These are separate programs that are distributed together for the convenience of the users and they have separate licenses. Each source file has an SPDX copyright and license identifier to clarify the terms of every file.

OpenVADL frontend and generators

  • OpenVADL as a whole is released under the GNU General Public License, version 3.0 or (at your option) any later version, for details see https://www.gnu.org/licenses/.

  • Parts of OpenVADL have specific licenses which are compatible with the GNU General Public License, version 3. Hence each source file contains its own licensing information. Source files with no licensing information are released under the GNU General Public License, version 3.0 or (at your option) any later version.

Processor specifications

  • OpenVADL processor specifications are released under the Apache License, Version 2.0 http://www.apache.org/licenses/LICENSE-2.0.

  • Parts of OpenVADL processor specifications have specific licenses which are compatible with the Apache License, Version 2.0. Hence each specification contains its own licensing information. Specifications with no licensing information are released under the Apache License, Version 2.0.

Documentation (tutorial and reference manual)

  • OpenVADL documentation is released under the Creative Commons CC BY 4.0 Attribution 4.0 International license https://creativecommons.org/licenses/by/4.0/.

  • Parts of OpenVADL documentation is released under the GNU General Public License, version 3. Hence each documentation file contains its own licensing information. Documentation with no licensing information is released under the Creative Commons License CC BY 4.0.

Files generated by OpenVADL

  • Files generated by OpenVADL are machine generated and therefore can not be copyrighted and are in the public domain. OpenVADL includes a header for the generated files which states these facts.

  • Some files are generated from a template which is to a large part a copy of a third party library. In that case the license of the generated file is the license of the original file. This is case for some of the files generated by the compiler generator for the LLVM compiler infra structure. This fact is also stated in the header of the generated file.

Included third party libraries

OpenVADL includes some third party libraries. Some packages are linked with the generated artifacts. The following table lists the libraries and packages with their licence information:

license package name and description repository
GNU version 2, BSD, MIT QEMU - quick emulator https://gitlab.com/qemu-project/qemu
Apache 2.0 with exceptions LLVM - compiler infra structure https://github.com/llvm/llvm-project
GNU General Public License CocoR - a parser generator https://www.ssw.uni-linz.ac.at/Research/Projects/Coco/
Apache License 2.0 picocli - a mighty tiny command line interface https://github.com/remkop/picocli
Apache License 2.0 Thymeleaf - template rendering engine https://github.com/thymeleaf/thymeleaf
Apache License 2.0 Guava - Google Core Library for Java https://github.com/google/guava
Apache License 2.0 Apache Commons Compress - (de)compression library https://github.com/apache/commons-compress
Apache License 2.0 Apache Commons Lang - Java utility classes https://github.com/apache/commons-lang
Apache License 2.0 Apache Commons IO - io utility library https://github.com/apache/commons-io
LGPL 2.1 Logback - logging library for Java https://github.com/qos-ch/logback
ISC License d3 - free, open-source javascript visualization library https://github.com/d3/d3
BSD 3-Clause d3-graphviz - render DOT graphs with d3 using graphviz https://github.com/magjac/d3-graphviz
BSD 2-Clause svg-pan-zoom - simple pan/zoom solution for SVGs in HTML https://github.com/bumbu/svg-pan-zoom
MIT License tailwindcss - a css class library https://github.com/tailwindlabs/tailwindcss/tree/main
MIT License flowbite - tailwind component library https://github.com/themesberg/flowbite
Apache License 2.0 Error Prone - compile time analysis tool https://github.com/google/error-prone
MIT License NullAway - static null checking for java https://github.com/uber/NullAway
MIT License Z3 - a theorem prover from Microsoft Research https://github.com/Z3Prover/z3
EPL 2.0 or BSD 3-Clause Eclipse LSP4J - language server protocol implementation https://github.com/eclipse-lsp4j/lsp4j

Test Libraries

license package name and description repository
EPL 2.0 JUnit 5 - Java testing framework https://github.com/junit-team/junit5
Apache License 2.0 AssertJ - assertion collection https://github.com/assertj/assertj
Apache License 2.0 ArchUnit - project architecture testing https://github.com/TNG/ArchUnit
Apache License 2.0 Availability - Java DSL for testing async processes https://github.com/awaitility/awaitility
MIT License Testcontainers - containerized testing library https://github.com/testcontainers/testcontainers-java
EPL 2.0 JQWIK - property based testing https://github.com/jqwik-team/jqwik
Apache License 2.0 Apache Velocity - macro processing engine https://github.com/apache/velocity-engine
Apache License 2.0 Snakeyaml - yaml processor https://bitbucket.org/snakeyaml/snakeyaml

Andreas Krall and the OpenVADL team