Third-Party Attributions
August 12, 2026 · View on GitHub
This document provides detailed attribution information for third-party software, libraries, and content included in or used by ArcadeDB.
Table of Contents
- Source Code Origins
- Derived and Included Code
- Runtime Dependencies
- Test Dependencies
- Build-Time Dependencies
- License References
Source Code Origins
OrientDB
ArcadeDB includes components originally developed for OrientDB, an Open Source Multi-Model NoSQL Database.
- Original Copyright: 2010-2020 OrientDB LTD
- License: Apache License 2.0
- Website: https://orientdb.com
- Repository: https://github.com/orientechnologies/orientdb
History: ArcadeDB was created in 2021 by Luca Garulli, the same founder of OrientDB, after SAP's acquisition of OrientDB LTD. ArcadeDB was written from scratch with a new engine architecture, but reuses OrientDB's SQL engine (now heavily modified) and some utility classes. ArcadeDB maintains compatibility with OrientDB's SQL dialect.
Components Reused:
- SQL query engine (heavily modified)
- Various utility classes
Note: ArcadeDB is not a fork - it is a new codebase that selectively incorporates and builds upon specific OrientDB components.
Derived and Included Code
1. Neo4j openCypher Grammar and TCK
openCypher is an open source implementation of the Cypher query language, originally created by Neo4j.
- Copyright: Neo4j Sweden AB
- License: Apache License 2.0
- Website: https://opencypher.org/
- Trademark Notice: Cypher® is a registered trademark of Neo4j Inc.
Included Components:
| Component | Type | Location | Count |
|---|---|---|---|
| Cypher25Parser.g4 | ANTLR4 Grammar | engine/src/main/antlr4/com/arcadedb/query/opencypher/grammar/ | 1 file |
| Cypher25Lexer.g4 | ANTLR4 Grammar | engine/src/main/antlr4/com/arcadedb/query/opencypher/grammar/ | 1 file |
| TCK Test Features | Cucumber/Gherkin Tests | engine/src/test/resources/opencypher/tck/features/ | 220 files |
Attribution Notice from TCK License:
"This work was created by the collective efforts of the openCypher community. Without limiting the terms of Section 6, any Derivative Work that is not approved by the public consensus process of the openCypher Implementers Group should not be described as 'Cypher' (and Cypher® is a registered trademark of Neo4j Inc.) or as 'openCypher'. Extensions by implementers or prototypes or proposals for change that have been documented or implemented should only be described as 'implementation extensions to Cypher' or as 'proposed changes to Cypher that are not yet approved by the openCypher community'."
License Files:
- Grammar files: Include full Apache 2.0 header with Neo4j copyright
- TCK feature files: Include full Apache 2.0 header with attribution notice
2. OpenCypher-Gremlin - StringTranslationUtils
OpenCypher-Gremlin (also known as Cypher for Gremlin) enables Cypher queries over Gremlin-enabled graph databases.
- Copyright: 2018-2019 Neueda
- License: Apache License 2.0
- Repository: https://github.com/opencypher/cypher-for-gremlin
- File:
gremlin/src/main/java/org/opencypher/gremlin/translation/groovy/StringTranslationUtils.java
Modification Note: This file is a security-patched override of the original OpenCypher-Gremlin implementation. The upstream project is not actively maintained and was unwilling to merge the security fix, necessitating this local override.
Original Author: @ExtReMLapin (as noted in code comments)
Runtime Dependencies
The following table lists runtime dependencies bundled with ArcadeDB distributions:
Core Dependencies
| Group ID | Artifact ID | Version | License | Homepage |
|---|---|---|---|---|
| org.slf4j | slf4j-api | 2.0.18 | MIT | https://www.slf4j.org/ |
| org.slf4j | slf4j-jdk14 | 2.0.18 | MIT | https://www.slf4j.org/ |
| ch.qos.logback | logback-classic | 1.5.27 | EPL 1.0 / LGPL 2.1 | https://logback.qos.ch/ |
| ch.qos.logback | logback-core | 1.5.27 | EPL 1.0 / LGPL 2.1 | https://logback.qos.ch/ |
| com.conversantmedia | disruptor | 1.2.21 | Apache 2.0 | https://github.com/conversant/disruptor |
| at.yawk.lz4 | lz4-java | 1.10.3 | Apache 2.0 | https://github.com/yawkat/lz4-java |
| org.antlr | antlr4-runtime | 4.13.2 | BSD 3-Clause | https://www.antlr.org/ |
| com.google.code.gson | gson | 2.13.2 | Apache 2.0 | https://github.com/google/gson |
| org.yaml | snakeyaml | 2.4 | Apache 2.0 | https://bitbucket.org/snakeyaml/snakeyaml |
Apache Lucene (Full-Text Search)
| Group ID | Artifact ID | Version | License | Homepage |
|---|---|---|---|---|
| org.apache.lucene | lucene-core | 10.3.2 | Apache 2.0 | https://lucene.apache.org/ |
| org.apache.lucene | lucene-analysis-common | 10.3.2 | Apache 2.0 | https://lucene.apache.org/ |
| org.apache.lucene | lucene-queryparser | 10.3.2 | Apache 2.0 | https://lucene.apache.org/ |
| org.apache.lucene | lucene-queries | 10.3.2 | Apache 2.0 | https://lucene.apache.org/ |
| org.apache.lucene | lucene-sandbox | 10.3.2 | Apache 2.0 | https://lucene.apache.org/ |
| org.apache.lucene | lucene-facet | 10.3.2 | Apache 2.0 | https://lucene.apache.org/ |
| org.apache.lucene | lucene-spatial-extras | 10.3.2 | Apache 2.0 | https://lucene.apache.org/ |
Apache Lucene Notice: Lucene is a registered trademark of The Apache Software Foundation. See the NOTICE file for Lucene's own third-party attributions.
Spatial and GIS Libraries
| Group ID | Artifact ID | Version | License | Homepage |
|---|---|---|---|---|
| org.locationtech.spatial4j | spatial4j | 0.8 | Apache 2.0 | https://github.com/locationtech/spatial4j |
| org.locationtech.jts | jts-core | 1.20.0 | Eclipse Distribution License 1.0 | https://github.com/locationtech/jts |
Vector Embeddings
| Group ID | Artifact ID | Version | License | Homepage |
|---|---|---|---|---|
| io.github.jbellis | jvector | 4.0.0-rc.7 | Apache 2.0 | https://github.com/jbellis/jvector |
| org.apache.commons | commons-math3 | 3.6.1 | Apache 2.0 | https://commons.apache.org/proper/commons-math/ |
| org.agrona | agrona | 1.20.0 | Apache 2.0 | https://github.com/real-logic/agrona |
GraalVM (JavaScript Support)
| Group ID | Artifact ID | Version | License | Homepage |
|---|---|---|---|---|
| org.graalvm.sdk | graal-sdk | 25.0.2 | UPL 1.0 | https://www.graalvm.org/ |
| org.graalvm.polyglot | polyglot | 25.0.2 | UPL 1.0 | https://www.graalvm.org/ |
| org.graalvm.polyglot | js | 25.0.2 | UPL 1.0 | https://www.graalvm.org/ |
| org.graalvm.js | js-language | 25.0.2 | UPL 1.0 | https://www.graalvm.org/ |
| org.graalvm.regex | regex | 25.0.2 | UPL 1.0 | https://www.graalvm.org/ |
| org.graalvm.truffle | truffle-api | 25.0.2 | UPL 1.0 | https://www.graalvm.org/ |
| org.graalvm.truffle | truffle-runtime | 25.0.2 | UPL 1.0 | https://www.graalvm.org/ |
License Note: UPL = Universal Permissive License 1.0
Studio Frontend Libraries
| Package | Version | License | Homepage |
|---|---|---|---|
| marked | 15.x | MIT | https://github.com/markedjs/marked |
Compression
| Group ID | Artifact ID | Version | License | Homepage |
|---|---|---|---|---|
| org.xerial.snappy | snappy-java | 1.1.10.7 | Apache 2.0 | https://github.com/xerial/snappy-java |
Server and Networking
| Group ID | Artifact ID | Version | License | Homepage |
|---|---|---|---|---|
| io.undertow | undertow-core | ~2.3.x | Apache 2.0 | https://undertow.io/ |
| io.netty | netty-* | ~4.1.x | Apache 2.0 | https://netty.io/ |
Apache Ratis (High Availability Module)
| Group ID | Artifact ID | Version | License | Homepage |
|---|---|---|---|---|
| org.apache.ratis | ratis-server | 3.2.2 | Apache 2.0 | https://ratis.apache.org/ |
| org.apache.ratis | ratis-grpc | 3.2.2 | Apache 2.0 | https://ratis.apache.org/ |
| org.apache.ratis | ratis-metrics-default | 3.2.2 | Apache 2.0 | https://ratis.apache.org/ |
Apache Ratis Notice: Apache Ratis is a Java library that implements the Raft consensus protocol. See the NOTICE file for Ratis's own third-party attributions.
Apache TinkerPop / Gremlin (Optional Module)
| Group ID | Artifact ID | Version | License | Homepage |
|---|---|---|---|---|
| org.apache.tinkerpop | gremlin-core | 3.8.x | Apache 2.0 | https://tinkerpop.apache.org/ |
| org.apache.tinkerpop | gremlin-driver | 3.8.x | Apache 2.0 | https://tinkerpop.apache.org/ |
| org.apache.tinkerpop | gremlin-server | 3.8.x | Apache 2.0 | https://tinkerpop.apache.org/ |
| org.apache.tinkerpop | gremlin-util | 3.8.x | Apache 2.0 | https://tinkerpop.apache.org/ |
| org.apache.tinkerpop | gremlin-groovy | 3.8.x | Apache 2.0 | https://tinkerpop.apache.org/ |
| org.apache.groovy | groovy | ~4.0.x | Apache 2.0 | https://groovy-lang.org/ |
| org.antlr | antlr4-runtime (shaded, relocated to com.arcadedb.gremlin.shaded.org.antlr) | 4.9.1 | BSD 3-Clause | https://www.antlr.org/ |
Note: Gremlin support is an optional module. These dependencies are only included when the Gremlin module is enabled. The Gremlin module's shaded jar bundles its own relocated copy of antlr4-runtime 4.9.1 (required by the TinkerPop/OpenCypher-Gremlin translation layer), independent of the engine's antlr4-runtime 4.13.2 listed under Core Dependencies.
gRPC (Optional Module)
| Group ID | Artifact ID | Version | License | Homepage |
|---|---|---|---|---|
| io.grpc | grpc-netty-shaded | 1.79.0 | Apache 2.0 | https://grpc.io/ |
| io.grpc | grpc-protobuf | 1.79.0 | Apache 2.0 | https://grpc.io/ |
| io.grpc | grpc-stub | 1.79.0 | Apache 2.0 | https://grpc.io/ |
| io.grpc | grpc-services | 1.79.0 | Apache 2.0 | https://grpc.io/ |
| com.google.protobuf | protobuf-java | 4.33.5 | BSD 3-Clause | https://protobuf.dev/ |
Google Core Libraries
| Group ID | Artifact ID | Version | License | Homepage |
|---|---|---|---|---|
| com.google.guava | guava | 33.5.0-android | Apache 2.0 | https://github.com/google/guava |
| com.google.code.findbugs | jsr305 | 3.0.2 | Apache 2.0 | https://code.google.com/archive/p/jsr-305/ |
| com.google.errorprone | error_prone_annotations | 2.45.0 | Apache 2.0 | https://errorprone.info/ |
Apache Commons Libraries
| Group ID | Artifact ID | Version | License | Homepage |
|---|---|---|---|---|
| org.apache.commons | commons-compress | 1.28.0 | Apache 2.0 | https://commons.apache.org/proper/commons-compress/ |
| org.apache.commons | commons-lang3 | 3.18.0 | Apache 2.0 | https://commons.apache.org/proper/commons-lang/ |
| commons-codec | commons-codec | 1.19.0 | Apache 2.0 | https://commons.apache.org/proper/commons-codec/ |
| commons-io | commons-io | 2.20.0 | Apache 2.0 | https://commons.apache.org/proper/commons-io/ |
Apache HttpComponents
| Group ID | Artifact ID | Version | License | Homepage |
|---|---|---|---|---|
| org.apache.httpcomponents | httpclient | 4.5.14 | Apache 2.0 | https://hc.apache.org/httpcomponents-client-4.5.x/ |
| org.apache.httpcomponents | httpcore | 4.4.16 | Apache 2.0 | https://hc.apache.org/httpcomponents-core-4.4.x/ |
Security and Authentication
| Group ID | Artifact ID | Version | License | Homepage |
|---|---|---|---|---|
| org.conscrypt | conscrypt-openjdk-uber | 2.5.2 | Apache 2.0 | https://github.com/google/conscrypt |
| com.google.auth | google-auth-library-credentials | 1.41.0 | BSD 3-Clause | https://github.com/googleapis/google-auth-library-java |
| com.google.auth | google-auth-library-oauth2-http | 1.41.0 | BSD 3-Clause | https://github.com/googleapis/google-auth-library-java |
Monitoring and Metrics (Optional)
| Group ID | Artifact ID | Version | License | Homepage |
|---|---|---|---|---|
| io.micrometer | micrometer-core | 1.16.5 | Apache 2.0 | https://micrometer.io/ |
| io.micrometer | micrometer-observation | 1.16.5 | Apache 2.0 | https://micrometer.io/ |
| io.micrometer | micrometer-registry-otlp | 1.16.5 | Apache 2.0 | https://micrometer.io/ |
| org.hdrhistogram | HdrHistogram | 2.2.2 | Public Domain / CC0 | https://hdrhistogram.github.io/HdrHistogram/ |
Distributed Tracing (Optional)
Used only by the optional tracing module (OpenTelemetry distributed tracing). Confined to that
plugin; not on the core/server compile classpath.
| Group ID | Artifact ID | Version | License | Homepage |
|---|---|---|---|---|
| io.micrometer | micrometer-tracing | 1.7.0 | Apache 2.0 | https://micrometer.io/ |
| io.micrometer | micrometer-tracing-bridge-otel | 1.7.0 | Apache 2.0 | https://micrometer.io/ |
| io.opentelemetry | opentelemetry-sdk | 1.62.0 | Apache 2.0 | https://opentelemetry.io/ |
| io.opentelemetry | opentelemetry-api | 1.62.0 | Apache 2.0 | https://opentelemetry.io/ |
| io.opentelemetry | opentelemetry-context | 1.62.0 | Apache 2.0 | https://opentelemetry.io/ |
| io.opentelemetry | opentelemetry-sdk-trace | 1.62.0 | Apache 2.0 | https://opentelemetry.io/ |
| io.opentelemetry | opentelemetry-sdk-common | 1.62.0 | Apache 2.0 | https://opentelemetry.io/ |
| io.opentelemetry | opentelemetry-exporter-otlp | 1.62.0 | Apache 2.0 | https://opentelemetry.io/ |
| io.opentelemetry | opentelemetry-exporter-otlp-common | 1.62.0 | Apache 2.0 | https://opentelemetry.io/ |
| io.opentelemetry | opentelemetry-exporter-common | 1.62.0 | Apache 2.0 | https://opentelemetry.io/ |
| io.opentelemetry | opentelemetry-exporter-sender-okhttp | 1.62.0 | Apache 2.0 | https://opentelemetry.io/ |
| io.opentelemetry | opentelemetry-extension-trace-propagators | 1.62.0 | Apache 2.0 | https://opentelemetry.io/ |
| io.opentelemetry.semconv | opentelemetry-semconv | 1.41.1 | Apache 2.0 | https://opentelemetry.io/ |
| com.squareup.okhttp3 | okhttp | 5.3.2 | Apache 2.0 | https://square.github.io/okhttp/ |
| com.squareup.okio | okio | 3.16.4 | Apache 2.0 | https://square.github.io/okio/ |
| org.jetbrains.kotlin | kotlin-stdlib | 2.2.21 | Apache 2.0 | https://kotlinlang.org/ |
| org.jetbrains | annotations | 13.0 | Apache 2.0 | https://github.com/JetBrains/java-annotations |
Transitive Dependencies Found by the #5651 License Audit
Not declared directly in any module's pom.xml; pulled in transitively and missing from this
document until the Maven-wide allow-list check (.github/scripts/check-license-allowlist.py)
was added and run against the full reactor for the first time.
| Group ID | Artifact ID | License | Pulled in via | Homepage |
|---|---|---|---|---|
| org.mozilla | rhino | MPL-2.0 | io.swagger:swagger-parser (API documentation tooling) | https://mozilla.github.io/rhino/ |
| org.mindrot | jbcrypt | ISC | org.apache.tinkerpop:gremlin-groovy (optional Gremlin module) | https://github.com/djmdjm/jBCrypt |
| javax.annotation | javax.annotation-api | CDDL 1.1 + GPLv2 with classpath exception | not individually traced; a common transitive dependency of javax/jakarta-based libraries in the graph | http://jcp.org/en/jsr/detail?id=250 |
| jakarta.annotation | jakarta.annotation-api | EPL 2.0 / GPL-2.0 WITH Classpath-exception-2.0 (dual; EPL 2.0 selected) | not individually traced; a common transitive dependency of jakarta-based libraries in the graph | https://projects.eclipse.org/projects/ee4j.ca |
License Note: MPL-2.0 and CDDL are permitted here under CLAUDE.md's "for libraries only,
unmodified" carve-out (the same one LGPL 2.1+ already had). jakarta.annotation-api is dual
EPL-2.0/GPL-2.0+CPE; EPL-2.0 was already allowed outright, so the GPL option is moot.
javax.annotation-api's CDDL/GPLv2 dual license is the standard javax.*-API license; the
classpath exception on its GPL option is what makes it safe to depend on.
Test Dependencies
These dependencies are used only for testing and are not included in production distributions:
| Group ID | Artifact ID | Version | License | Homepage |
|---|---|---|---|---|
| org.junit.jupiter | junit-jupiter | 6.0.2 | EPL 2.0 | https://junit.org/junit5/ |
| org.junit.jupiter | junit-jupiter-api | 6.0.2 | EPL 2.0 | https://junit.org/junit5/ |
| org.junit.jupiter | junit-jupiter-engine | 6.0.2 | EPL 2.0 | https://junit.org/junit5/ |
| org.junit.jupiter | junit-jupiter-params | 6.0.2 | EPL 2.0 | https://junit.org/junit5/ |
| org.assertj | assertj-core | 3.27.7 | Apache 2.0 | https://assertj.github.io/doc/ |
| org.mockito | mockito-core | 5.21.0 | MIT | https://site.mockito.org/ |
| org.testcontainers | testcontainers | 2.0.3 | MIT | https://testcontainers.com/ |
| org.testcontainers | testcontainers-junit-jupiter | 2.0.3 | MIT | https://testcontainers.com/ |
| org.testcontainers | testcontainers-toxiproxy | 2.0.3 | MIT | https://testcontainers.com/ |
| org.awaitility | awaitility | 4.3.0 | Apache 2.0 | https://github.com/awaitility/awaitility |
| com.jayway.jsonpath | json-path | 2.10.0 | Apache 2.0 | https://github.com/json-path/JsonPath |
| com.github.docker-java | docker-java-api | 3.7.0 | Apache 2.0 | https://github.com/docker-java/docker-java |
| net.bytebuddy | byte-buddy | 1.18.3 | Apache 2.0 | https://bytebuddy.net/ |
| org.openjdk.jmh | jmh-core | 1.37 | GPL-2.0 WITH Classpath-exception-2.0 | https://openjdk.java.net/projects/code-tools/jmh/ |
| org.openjdk.jmh | jmh-generator-annprocess | 1.37 | GPL-2.0 WITH Classpath-exception-2.0 | https://openjdk.java.net/projects/code-tools/jmh/ |
Build-Time Dependencies
These dependencies are used only during the build process:
| Group ID | Artifact ID | Version | License | Homepage |
|---|---|---|---|---|
| org.apache.maven.plugins | maven-compiler-plugin | 3.x | Apache 2.0 | https://maven.apache.org/plugins/maven-compiler-plugin/ |
| org.apache.maven.plugins | maven-surefire-plugin | 3.x | Apache 2.0 | https://maven.apache.org/surefire/maven-surefire-plugin/ |
| org.jacoco | jacoco-maven-plugin | 0.8.x | EPL 2.0 | https://www.jacoco.org/jacoco/ |
| org.antlr | antlr4-maven-plugin | 4.13.2 | BSD 3-Clause | https://www.antlr.org/ |
| io.grpc | protoc-gen-grpc-java | 1.79.0 | Apache 2.0 | https://grpc.io/ |
| com.github.os72 | protoc-jar-maven-plugin | 3.x | Apache 2.0 | https://github.com/os72/protoc-jar-maven-plugin |
License References
Full license texts are available in the LICENSES/ directory:
- Apache-2.0.txt - Apache License, Version 2.0
- MIT.txt - MIT License
- BSD-3-Clause.txt - BSD 3-Clause License
- EPL-2.0.txt - Eclipse Public License 2.0
- UPL-1.0.txt - Universal Permissive License 1.0
- LGPL-2.1-or-later.txt - GNU Lesser General Public License 2.1 or later
- EDL-1.0.txt - Eclipse Distribution License 1.0
Primary Project License
ArcadeDB itself is licensed under the Apache License 2.0.
See the LICENSE file in the root directory for the full license text.
REUSE Compliance
This project follows the REUSE Software Specification 3.3 for copyright and license attribution. All source files contain SPDX license identifiers and copyright notices in their headers.
Contributor Acknowledgments
ArcadeDB is built on the shoulders of giants. We thank:
- OrientDB community - For the SQL engine and utility components
- openCypher community - For the standardized Cypher query language and TCK
- Neo4j - For creating Cypher and supporting openCypher
- Apache Software Foundation - For Lucene, TinkerPop, and numerous other libraries
- The Java community - For the robust ecosystem and tooling
- All individual contributors - Named in git history and @author tags
Special recognition to original authors mentioned in source files:
- Johann Sorel - SQLMethod interface design
- @ExtReMLapin - OpenCypher-Gremlin security fix
How to Contribute
When adding new dependencies to ArcadeDB:
-
Check License Compatibility - Ensure the license is compatible with Apache 2.0
- ✅ Approved: Apache 2.0, MIT, BSD, EPL, UPL, public domain
- ❌ Incompatible: GPL, AGPL, proprietary licenses without explicit permission
-
Update This File - Add the dependency to the appropriate section above
-
Update NOTICE File - If the dependency is Apache-licensed and has its own NOTICE file, incorporate required notices
-
Add License Text - If introducing a new license type, add the full text to
LICENSES/directory -
SPDX Headers - Ensure all new source files have proper SPDX-FileCopyrightText and SPDX-License-Identifier headers
For detailed contribution guidelines, see CONTRIBUTING.md.
Questions or Concerns
If you have questions about licensing or attribution:
- Open an issue: https://github.com/ArcadeData/arcadedb/issues
- Join our Discord: https://discord.gg/w2Npx2B7hZ
- Email: info@arcadedata.com
This attribution document is maintained as part of ArcadeDB's commitment to open source compliance and transparency. Last updated: 2026-02-07