CrazyIvan is built on top of the work of many others, and here you will find information on all of the libraries and components that CrazyIvan uses to be successful.
Licenses for all dependencies can be found in the licenses folder within the repository.
CppKafka is a wrapper on top of librdkafka, which provides quick and easy access to pushing Kafka messages.
CppKafka is released under a BSD License.
Zero MQ is a lightweight messaging library that CrazyIvan uses to communicate. It is fast, versatile, and has bindings for many major languages.
Zero MQ is released under an LGPL License.
CppZmq is the C++ binding for libzmq, which was written in C.
CppZmq is released under an MIT License.
RapidJson is a very fast JSON parsing/writing library.
RapidJson is released under an MIT License.
LibHiredis is used to communicate with Redis, a distributed key-value store, and is a dependency of AOSSL
LibHiredis is released under a BSD License.
LibNeo4j is used to communicate with Neo4j, a Graph Based Database.
LibNeo4j is released under an Apache 2 License.
LibUUID is a linux utility for generating Universally Unique ID’s.
LibUUID is released under a BSD License.
LibProtobuf and the Protocol Buffer Compiler comprise a serialization system which CrazyIvan can use to communicate in lieu of JSON. You can find more information about Protocol Buffers at the Google Developer Site
The Protocol Buffer License is unique yet very unrestrictive. For more information please see the license itself
Finally, we also depend on the DVS Interface Library which houses a collection of .proto files for this project.
DVS Interface is released under an MIT License.
Automatic Dependency Resolution¶
For Ubuntu 16.04 & Debian 7, the build_deps.sh script should allow for automatic resolution of dependencies.
Here we will try to list authors of other public domain code that has been used:
René Nyffenegger - Base64 Decoding Methods