The database also runs the application server
SpacetimeDB 2.8.3 puts tables and business logic inside the database, with server modules available in 4 languages. You upload a module containing tables and business logic into the database, then clients call reducers and subscribe to rows through generated SDK bindings. A reducer runs inside a transaction, while subscriptions deliver matching changes without polling. For chat, presence, shared documents, and multiplayer state, that can remove an API service and a separate synchronization layer. It also means the database choice defines much more of the application than a PostgreSQL driver would.
Those 4 server-module choices are Rust, C#, TypeScript, and C++. Client SDKs cover TypeScript frameworks, Rust, C# with Unity, and C++ with Unreal. The README says state stays in memory while a disk commit log supplies durability and crash recovery. Clockwork Labs also says BitCraft Online runs its backend as one SpacetimeDB module. That is a useful account of intended scale, though it is the vendor's workload rather than an independent benchmark.
The 3-command quick start depends on Maincloud
The Maincloud quick start publishes 1 module from a watched template. Install the spacetime CLI, log in through a browser with GitHub, and run spacetime dev --template chat-react-ts. That command creates a project, publishes it to Maincloud, watches files, and republishes changes. A developer can therefore learn tables, reducers, and subscriptions without first configuring a separate database, web server, and message bus. The convenience is tied to Clockwork Labs' hosted service and pricing.
Local evaluation has a separate 1-command Docker path on port 3000. Developers who need unreleased code can build standalone binaries with a Rust toolchain and the wasm32-unknown-unknown target. Those are different experiences: the CLI tutorial tests the product model, while a source checkout exposes a large Rust and pnpm monorepo. Our checkout held 6,887 files and roughly 702,424 source lines before dependencies, so contributing is a much larger job than running the chat template.
What happened when we ran it
Our sandbox installed 2,801 pnpm packages in 63 seconds and used 1,602 MB on disk. The build failed with exit code 1 after 6 seconds. Its final lines came from the docs workspace: Docusaurus reported Node.js 18.20.8 and required Node.js 20 or newer. The sandbox image was lab-node:22; the log does not explain why that workspace saw the older runtime, so we cannot assign a cause beyond the version mismatch it printed.
Tests also ended with exit code 1, after 15 seconds. Vitest passed 280 tests and failed 9 of 289 across 29 files. All 6 tests in index_prefix_filter.test.ts failed, as did all 3 in ctx_as.test.ts; 27 test files passed and 2 failed. The log summary does not establish a cause for those assertions. Our measurement setup was a fresh 3-CPU, 8 GB Debian container, where commit cfa9636 did not complete either repository-wide command cleanly.
The BSL grant permits one production instance
SpacetimeDB 2.8.3 is source-available under Business Source License 1.1, which its license text explicitly says is not an open-source license. The additional grant permits production use with no more than 1 SpacetimeDB instance and excludes using it for a database service. This is workable for some products, but it rules out common high-availability layouts under the standard grant. A company planning replicas, several production environments, or a hosted database product should settle the licensing route before architecture work.
The current version changes to AGPL v3.0 with a linking exception on August 18, 2031, or on the fourth anniversary of that version's first public distribution if earlier. The README says the linking exception does not force an application using SpacetimeDB to publish its own code. Each released version has its own license timing, so teams should read the license shipped with the exact build they deploy instead of relying on a future conversion date from another tag.
C++ and C# support still has platform edges
SpacetimeDB v2.8.3 still has 2 open platform issues that narrow its language list. Issue #5238 asks for a standalone C++ client because the documented path centers on Unreal, leaving proprietary engines and consoles without a clear example. Open issue #2414 reproduces a Blazor browser failure where the C# connection code tries to start a thread that the platform does not support. Neither issue means every C++ or C# client is broken. Both are reasons to build the real export target before choosing the backend.
Release v2.8.3 arrived on August 25, 2026, and fixed scheduled functions drifting later by anchoring each run to its intended execution time. GitHub recorded another push on August 26 and listed 844 combined issues and pull requests. New issues on August 26 included automatically detected CI flakes, which shows active test monitoring as well as continuing churn. With 17 CI workflow files, Docker support, and Compose present, this is maintained software, but the 9 failures in our own run still belong in the adoption decision.
It suits a prototype before it earns the whole backend
SpacetimeDB 2.8.3 has a coherent answer to a hard problem: keep authoritative state, transactions, server rules, and client updates in one runtime. That can save real engineering time when synchronization is central to the product. It also concentrates risk. A migration away would involve data, server functions, subscriptions, identity, and generated bindings rather than replacing one storage adapter.
A production-shaped prototype should use the intended client platform, exercise reconnects and authorization, and rehearse recovery with realistic state. It should also test the deployment permitted by the license, not an imagined multi-instance layout. Our 63-second install proves the repository is obtainable; the failed build and 9 failed tests show that a clean checkout was not cleanly releasable in our sandbox. For teams comfortable with those boundaries, the programming model is distinctive enough to justify that trial.

