The people keep the means of data hosting.
A Rust database you run yourself.
Queried in NashCQL. Certified by a mesh of plants.
Bureaucracy is a crate. Default intensity 25.
OurSQL is a memory-safe store for comrades who keep their own disks.
There is no landlord cloud. Each operator hosts a slice of the kollektiv.
The query language is NashCQL: English after a long march
(PERESTROJ, INZRT, ZAVERSHIT), typeable on a US keyboard.
The engine runs. The satire is specified. Intensity is one integer
0..=100. At 25 a competent app with retry can store and retrieve
rows. At 0 the bureau only talks. At 100 you are in a demo.
NashCQL is the US-keyboard rendering of "Nash SQL" ("our SQL"). Official docs are ASCII. The dolphin does not speak.
| Claim | Meaning |
|---|---|
| Memory-safe | Rust, no unsafe. Encrypted 16 KiB pages. WAL is CRC, not ciphertext. |
| Auth | HELLO + bilets after a key. First socket is founder. Bind stays localhost. |
| Multi-host | You run oursqld. Repair works. Mesh APPLY is whoever can TCP. |
| Oppressive | Dossiers, rations, accusations, confiscation, gulag rate limits |
| Functional | WAL, crash recovery, planner -- at intensity 25 |
This is 0.2.0. Localhost is the intended face. --mesh and --admin
are not a fortress.
cargo test --workspace
cargo build --release -p oursql-cli -p oursql-node
./target/release/oursql --data /tmp/sklad --intensity 0 -f examples/hello-kollektiv.nql
Three plants, flags, and backup: 13 Ops. Brigades: 15. Plan: 12.
ZANIM sklad;
MANUFAKTUR TABL parts (
id NARODKEY,
name TEKST NYET PUSTO,
qty CELIY,
SOLIDARITY (depot_id) IZ depots (id)
);
INZRT V parts (id, name, qty) ZNACH ('p1', 'bolt', 40)
SAMOKRIT 'serves the inventory brigade';
OBTAN name, qty IZ parts GIVEN qty > 0 LINEUP name RATION 20;Decadent SQL is rewritten at intensity <= 40 and may emit
NOTICE 1901: bourgeois keywords tolerated at intensity 25.
| Doc | Subject |
|---|---|
| 00 Charter | Why this exists |
| 01 Goals | In and out of scope |
| 02 Threat model | Who we distrust |
| 03 Architecture | Layers, crates, data path |
| 04 Storage | Pages, WAL, encryption |
| 05 Consensus and mesh | How hosts share the store |
| 06 NashCQL | Language, keywords, grammar |
| 07 Comrades | Identity, capabilities |
| 08 Bureaucracy | The 25% stupid layer |
| 09 Security | Crypto, isolation, audit |
| 10 Wire protocol | Binary + text |
| 11 Crate layout | Rust workspace |
| 12 Implementation plan | Phased build |
| 13 Ops | Running a node |
| 14 Errors | Official complaints |
| 15 Brigades | Crate segmentation |
| 16 Distro | Multi-arch bins |
| Glossary | Terms |
| Brand | Dolphin, palette, files |
Phases 1-11 are in this tree. Stored procedures, a SQL compatibility pack, a geo pin UI, and coins are explicitly later.
AGPL-3.0-or-later. Improvements return to the people. See LICENSE.
