The Ur Project

Documenting the craft of stacking things so they remain stacked. For a very long time.

A Sandcastle

I've stated before that a Linux Distribution is, in a way, nothing more than a pile of packages. That's all there is to it. Of course, there's nothing to making just a pile of things. Just put a few things on top of each other and if they don't fall off, you've got yourself a nice pile.

A sandcastle is just that: It's a pile of blocks. In this case, slightly moist sand. Preferably from a beach where the sand is made up of rough-shaped quartz or feldspar crystals that are somewhat worn down by wave action and the never ending onslaught of UV light breaking them down over time.

The filosophy of stacking things

There's good ways of stacking things, and there's easy ways of stacking things. There's also academic research level stacking things. That's called engineering. In the dawn of modern history, people started to write down things. This was the key distinction between people making stacks of rocks, and people stacking rocks with a purpose. The neat stacks of rocks required cooperation, which required language and written language, specifically. Stacking rocks to honor gods or demi gods or pretentious dead people required that a bunch of days travel away people had to understand what type of rocks to send to those wanting to stack the rocks.

The result is that today we can still witness really cool stacks of rocks all over the earth. But what is mostly lost is how they pulled it off. Well, not all of it is lost, there's a lot of archaeological evidence showing the coordination needed to pull off these neat stacks of rocks in many places. Infrastructure that was built to make it work. Trade routes and evidence of planning are found in many places around the Nile region. So stacking rocks was already a science, and the art of engineering played a key role.

Yet, there's very little evidence that actually shows the knowledge and art of the way that rocks were stacked. Sure, we can infer a whole lot by just looking at the stacks. But there's no magical tablets or scrolls that show an instructional list of things for workers. That part is mostly gone.

Better ways of stacking things

A Linux Distro is just a random pile of packages until it isn't. The difference is a goal oriented statement and an execution mechanism to enact it. The "opinionated" Linux Distribution is nothing more than a declaration that the Distro filosophy isn't random. Every Distribution is opinionated, or else it is random.

My goal for The Ur Project is to become just this - a purposefully built and definitely opinionated Linux Distro vehicle - built using a vehicle that services it, and that documents the way that it was built. With purpose and direction.

But I've also said that I'm building a machine to build not just one Linux Distribution, but a system that can and will build any distribution that you might want it to. It's going to build my own distro, but also yours. The system will service not only my opinionated whims, but it also must tolerate everyone's desires.

It can't do everything at once

You can't build a super stable OS from a vacuum. You have to start "somewhere". The obvious starting point is a rolling release distribution. One that moves rapidly, but focuses on "latest stable" releases. Nothing pre-release. But also not LTS content. Just something that rolls forward automatically. It's really really good for making a distro more secure - security fixes always get applied to the latest releases first, and only later backported.

But people in various places, especially companies, might want a distro that is a little more stable, and not fluctuating every day. That takes branch-style strategy where you commit to maintaining a "LTS" style branch for a while, until you stop supporting it and encourage people to upgrade to a newer branch. This is the Rawhide to Fedora 43 -> 44 model, for instance.

The Ur Project starts with a rolling release product

"Sandcastle" is just the code name for it. It will be the rolling release going forward. The name suggests already what it is: Something that was carefully designed, and even looks pretty, with purpose. But tomorrow there will be another version of Sandcastle because the tides rolled in overnight and changed the world. There might be a full OS rebuild overnight. Or just some touch ups.

There's no LTS branch just yet. I'm not sure when or even if I'll make one. The commitment of starting an LTS style release is right now beyond what I can maintain but that might change once we're in full production and releases are being produced at a faster pace. It will be very interesting to see what people are willing to help support - an LTS release requires some level of dedication and commitment.

--sofar (aka Auke)