diff --git a/IN_PROG.md b/IN_PROG.md index 500bff70..29e84b8a 100644 --- a/IN_PROG.md +++ b/IN_PROG.md @@ -69,4 +69,11 @@ This is where Cozo comes in. We want to prove, through a real database implement * Cozo is written in Rust. * The storage layer of Cozo is RocksDB. We manually wrote the C++/Rust bindings for RocksDB since we found the existing ones to be insufficient for our purpose. Outside the storage layer, Cozo is 100% safe rust. It is not too hard to swap out the storage layer, and we are open to other options. * Query rules are compiled into trees of relations (the relational algebra) before execution. Each rule is executed deterministically (no query planner). -* The execution of the whole query follows the least fixed point semantics of stratified Datalog with negation and aggregation and is done by the bottom-up semi-naive algorithm (instead of the query/subquery top-down algorithms used by many recent datalog implementations, especially in the Clojure world). To prevent calculating unnecessary results that are only thrown away at the last stage, the magic-set rewriting technique is employed as a pre-processing step before compiling the query. This step is completely deterministic. \ No newline at end of file +* The execution of the whole query follows the least fixed point semantics of stratified Datalog with negation and aggregation and is done by the bottom-up semi-naive algorithm (instead of the query/subquery top-down algorithms used by many recent datalog implementations, especially in the Clojure world). To prevent calculating unnecessary results that are only thrown away at the last stage, the magic-set rewriting technique is employed as a pre-processing step before compiling the query. This step is completely deterministic. + +## Licensing + +The original contents of this project are licensed under AGPL-3.0 or later, with the following exceptions: + +* Original contents in the `cozorocks` directory are licensed under MIT, or Apache-2.0, or BSD-3-Clause; +* Original contents in the `docs` directory are licensed under CC BY-SA 4.0. \ No newline at end of file diff --git a/cozorocks/LICENSE.txt b/cozorocks/LICENSE.txt new file mode 100644 index 00000000..82d84369 --- /dev/null +++ b/cozorocks/LICENSE.txt @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2022 Ziyang Hu + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. \ No newline at end of file