Here it is, in all its hacky, GPLv3 licensed glory.

Releasing software is hard, isn’t it?

Not the actual steps you need to take. I am referring to the risk it represents, the vulnerable state it puts you in as you let your idea out into the world and open it up to critique.

The best software project is the one that is never released.

So, 5 months after Glowdust being perfect, it’s time to let it in the sun, see where the blemishes are.

They are everywhere. I know, because the only thing I know works is if you execute the commands in the README. At least they work on my computer.

But that’s not the reason I am releasing now. It’s far from done - it’s barely working, if I’m honest. But I don’t release it as production software. I don’t think I release it even as working software.

I release it as an idea. I’ll continue working on it, fixing the big problems I know of, and if you find it interesting enough to talk to me about it I will be grateful.

I wrote it in the README but I’ll repeat it here


Glowdust doesn’t aspire to be a replacement for all other DBMSs. Instead, it is meant to be a platform for exploring new ideas, experimenting with language and system design and figuring out what the next wave of database systems can and should look like - how to do data management for a decentralized, distributed web, after the era of huge cloud providers comes to an end. Glowdust’s success comes from inspiring degrowth in software.


I don’t build Glowdust to be a product. I want it to be a perpetual experiment that lets others spawn new efforts and projects.

When I first started showing it around, the first question was “why would you even?” followed shortly by “what is the market for this? what is the killer feature?”.

Well, there isn’t one. There could be, and it’s impossible for me to stop thinking as a product person, but I didn’t release because I am ready to take on customers. I released because it’s time for me to share my idea with a wider audience and that idea happens to be better expressed as a codebase rather than English prose.

Initial drafts of this post went on at length about what are the big features that are missing and an enumeration of the huge piles of hacks that need fixing. Instead I’ll move them to issues in the codeberg repo and I’ll stop here.

Go on, play with it a bit. The examples in the README at least should work. Once you inevitably break it (which shouldn’t take that long) file an issue and then come tell me all about it on Fosstodon.