Cool Blue!
Matt Holder sits down with Jorge Castro to chat about next-gen distros.
Over the last couple of years, Jorge Castro, formerly of Canonical, VMware and various other companies, has developed a keen interest in next-gen distros and is heavily involved with the Universal Blue project and Project Bluefin (https:// projectbluefin.io). These projects build on top of Fedora and add extra functionality. You can learn more about Jorge and his projects at www.ypsidanger.com.
LXF: What got you interested in immutable OSes? Jorge Castro: I was growing frustrated with the lack of commitment by vendors to fix the basic reliability issues that have been plaguing the Linux desktop. Fedora was the closest to getting Chromebookreliability but had a goal of five(!) years to get it ready. So a bunch of us decided to help accelerate that goal.
The market has rejected the current Linux client model and the desktop is stuck in a loop of failure. Linux dominates every field it’s in, except this one. This bothers me. Our solution is to throw away what ‘the Linux desktop’ is supposed to be, adapt successful adoption patterns and leave failed ones behind.
Portal adoption, finishing the Wayland transition, new driver improvements, and Flatpak integration all can’t happen if we can’t deliver it to the end user. So far only Android and ChromeOS have been able to deliver reliable updates and improvements in a way normal people can consume. Systems like this level the playing field. So, I see it as fixing the delivery pipeline first.
LXF: What future concept are you most excited about? JC: I think you’ll see two main implementation patterns emerge: ostree/bootc and systemd-sysext. Both will share components and only deal with the base system. The workloads will be decoupled via OCI containers for services and Flatpak for GUI apps. There’ll be vendorspecific implementations of a next-gen desktop, like Ubuntu Core, but generally it’ll be about who delivers the most reliable base system with the composability users want. All of them will consume Freedesktop portals and container runtimes as first-class primitives. Universal Blue has chosen ostree/bootc.
LXF: How does Universal Blue relate to the work Red Hat is doing with Fedora Silverblue?
JC: Universal Blue consumes the Fedora Atomic OCI images then generates new base images for people to use with things like codecs and quality-of-life features. These are built using Dockerfiles and GitHub actions; it’s a pattern ops people have been using on servers, so it was straightforward to find people with experience.
It started off as “let’s provide base images for the community” but we discovered a new pattern on the way: it only takes a handful of ops people to maintain an awesome Linux workstation. We learned that a handful of motivated maintainers can come together and say “Let’s make a kick-ass modern Linux desktop for the next generation of open source maintainers.” And that’s how Project Bluefin was born.
The image is then deployed to your computer – this results in reliable upgrades and way less maintenance than a traditional setup; the maintenance happens in CI, not your local computer. And since your workload is decoupled from the OS, you can continue to use all the software you’re using today. It flips the consumption model, you get everything you want, it’s just stamped out in a known working state before it reaches your PC.
LXF: For all the keen gamers out there, what is Bazzite? JC: There’s a community of people who take all of the patches from SteamOS and put them into other Linux distros. Bazzite gathers all those patches and builds an image on top of Fedora. Since it’s community driven, people have added support for the Lenovo Legion Go, Asus Ally, and other devices. Fedora moves quickly, so it’s a great way to get new kernel updates and features that might not be in SteamOS. Our customisations are atomically layered, so you’re still using Fedora; it’s like setting it up for you to be a great gaming experience.
The best thing about Bazzite is it publishes builds every other day; it goes as fast as the community goes. Having a community that can publish a fix for devices immediately is a powerful pattern – users love it.
We can finally democratise getting hardware to work without janky scripts and post-install setup. We can finally get to a place where your stuff can just work. We’re not there yet but this workflow makes it easier.
LXF: NixOS is so different – have you used it?
JC: I have but it doesn’t solve a problem I have. I need a stable base OS and desktop that I can compose as I see fit, which Fedora already provides to everyone. We provide a Nix shortcut via the Determinate Installer and Devbox for people who want it, though. The nice thing about this new desktop model is you can just consume whatever you want from anywhere.
We prefer to reuse the same containers used in server deployments. Reusing the tech people use on servers is where the value is; the desktop is now just another container workload being sent to an edge device. I don’t need to learn a new language for that. This is the kind of transparent, reliable delivery mechanism we’ve been missing and the clear path for us was to just copy that pattern to the desktop.
LXF: Any thoughts you’d like to leave the readers with? JC: The consumption of open source will only ever increase, and to keep these projects healthy, we need more open source contributors. My hope is that people will use things like Project Bluefin to learn the technology, then if they want to work on open source, they have everything they need to be successful.