|Posted by Iain Buclaw||PermalinkReply|
Tsunami is a set of core libraries, applications, and tools that were used at
sociomantic labs/dunnhumby Germany, and have been available as open-source
software since 2017 under the direction and management of dunnhumby.
Over the past few months, we've been quietly negotiating an exit strategy for
handing over control of the GitHub organization from dunnhumby to the dlang
community. I'm happy to announce that this has now been concluded, and we are
now ready to move the development of all repositories in Tsunami from
completely public, to being completely open.
A new steering committee has been set up, and we are in the process of making
new milestone releases before introducing breaking changes that were previously
holding back the better integrating of the libraries with the D2 ecosystem.
I would like to thank dunnhumby for being supportive throughout the entire
process, and for handling the transition in a gracious fashion since operations
began winding down.
As dunnhumby has now moved on from working with all software in Tsunami, we
therefore also want to make it known that we are looking for new maintainers to
take over any projects that are hosted within the Tsunami organization.
We would welcome others joining us in maintaining and further developing these
projects, so if anyone is interested, please get in touch.
The full list of repos can be found at https://github.com/sociomantic-tsunami
Here's the highlights of all D projects in Tsunami:
1. ocean: A general purpose, platform dependant, high-performance library for
D with a focus on supporting real-time applications.
2. turtle: A utility library for implementing black-box application tests:
spawns the tested application as a separate process in a temporary sandbox,
then runs a set of auto-discovered test cases.
3. swarm: The core client/server library which forms the foundation of
various distributed storage systems in Tsunami.
4. dhtproto: Based on swarm, defines the protocol for a Distributed Hash Table
database -- an in-memory database for quick-access, binary data.
The repo also contains the DHT client and a set of tests (based on turtle)
for a DHT server implementation.
5. dhtnode: Based on dhtproto, this is the implementation of a DHT server.
6. dlsproto: Based on swarm, defines the protocol for a Distributed Log Store
database -- a disk-based database for batch-read, historical data.
The repo also contains the DLS client and a set of tests (based on turtle)
for a DLS server implementation.
7. dlsnode: Based on dlsproto, this is the implementation of a DLS server.
8. dmqproto: Based on swarm, defines the protocol for a Distributed Message
Queue -- an in-memory messaging queue for publish-subscribe communication.
The repo also contains a DMQ client and a set of tests (based on turtle)
for a DMQ server implementation.
9. dmqnode: Based on dmqproto, this is the implementation of a DMQ server.
10. neptune: A set of guidelines and tools to help developers and maintainers
to implement a versioning scheme base on SemVer as effortless as possible.
Iain, on behalf of the Tsunami Steering Committee