If you’re relatively familiar with Linux, you’ll know that most desktop environments can be laid on top of just about any distribution, and that many distributions offer multiple desktops from the start. You might also know that some projects specialize on one desktop in particular. Whether it be elementary OS with Pantheon, Fedora with GNOME, Deepin with DDE, among others; you’ll find that there are projects that prioritize one over another, and sometimes this focus is a highlight of what the project offers.
If you look around the Linux space, you’ll likely find that there is one desktop environment that sticks out: GNOME. The featured desktop of Ubuntu, Fedora and Pop!_OS has been gaining consistent traction and focus from Manjaro, openSUSE, Solus, Zorin, and more. (KDE is rather well-known for being a runner-up in regards to priority and userbase as a whole.) But, despite all of this focus on GNOME, what’s really “GNOME” about it?
Technically, plenty. Practically? Not so much.
To explain what I mean by this, I’ll use Ubuntu as my point of reference because it’s the biggest target and I’m most familiar with it. Ubuntu made the change from their in-house Unity desktop environment to GNOME in 2017 shortly after the release of Ubuntu 17.04, and has remained with it since.
While it is, for all intents and purposes, a GNOME Shell, I think it’s important to realize that what Ubuntu ships is not “GNOME”. With preloaded extensions, and occasionally some in-house patches to the desktop itself, Ubuntu ships its own version of GNOME, which visibly and functionally differs from what GNOME themselves release. A dock on the left, desktop icons, a system tray of sorts, among other things make what Ubuntu produces distinctly Ubuntu. This is great, as it means Ubuntu offers a system that is unique to their vision, but it shares the benefits of GNOME’s underlying technology.
The same goes for Pop!_OS from System76, which offers its own experience and interface based on similar technology. For this reason I tend to encourage people to understand the differences in what they’re using or promoting to be partial to the operating system providing it. This minimizes user confusion and promotes proper association with platforms’ features and their own identities.
Ubuntu uses GNOME, but Ubuntu is not GNOME. This is an important distinction.
Where does this leave GNOME? What do they have, if everything they provide becomes something else? Enter GNOME OS. It’s been around for a while in a fairly hushed capacity, but it does surface now and again as an exciting topic to speculate on.
People have stated that GNOME could use a KDE Neon style distribution to focus purely on GNOME, but I think that misses the mark. GNOME OS means more than just a testbed, much more in fact.
GNOME OS is currently an independent build based on OSTree technologies, which positively impacts its reproducibility and consistency of deployment. Though I don’t think that’s the exciting part, as cool as that sounds. What this really gives GNOME is their own space. Their own platform.
This is significant because GNOME lacks a key component as noted in a blog post on gnome.org titled “There is no “Linux” Platform.” There, some critical components are listed:
- an SDK
- a design language
- an app store
- an operating system
GNOME already has an SDK, one which is widely used across various environments. They have a design language as well. And while they can rely on services like Flathub to provide them with an app store of sorts, they still lack the foundation for all of this to lay on top of: the OS. A place where development and design are facilitated from the ground up to be explicitly GNOME in function and identity. I propose that the significance of this project is far more than it currently presents.
This little testbed of a project could change the face of Linux completely.
Most Linux distributions are built upon foundations that are decades old, and they’ve spawned incredible things. But a foundation which has been laid is hard to unearth, and as the needs of users and developers change rapidly with our evolving tech landscape, we need to provide the solutions necessary to satisfy them.
I’m willing to make the claim that Apple has, with macOS, redefined what it means to have a platform. They buckled down and prioritized their efforts to streamline the entire process from hardware, to their software, to their developers, all the way to their users. Every single part of that chain has been tidied up quite admirably, and while I’m not here to talk about them as a company, I find this to be an incredibly awesome feat.
If GNOME existed only to provide a desktop environment, they’ve done more than enough. But GNOME clearly isn’t just about the DE. They’ve created technologies that allow developers to create apps specifically for their environment. They’ve produced and refined guidelines for how applications should appear and behave according to them. So much so, that their stylesheet for developers to target literally means “one and only.”
Many of their applications are published as Flatpaks on Flathub rather than focusing on targeting distribution repositories. This is indicative of a project that has the capacity and the intention to create a complete and consistent platform from the ground up.
This would be a stark contrast to the type of things we’re used to as Linux users currently. Where desktops are just desktops, and app stores are just distribution repositories, rather than publishing platforms for developers to target and support users from explicitly.
To push this further, beyond the benefits of providing an appealing platform for developers and eventually users, this also provides GNOME with a distinct advantage for targeting more than just “desktop” platforms.
In case you’re unaware, GNOME has been seeing improvements in its ability to scale to multiple form factors, and has even been refined and shipped for mobile phones. While this is not an easy task in many regards, GNOME has an advantage. GNOME has a rather comprehensive collection of apps ranging from a web browser, to communications apps, to maps, contacts management, email, and more. The apps are there, but they need a bit of a nudge to be suitable for unconventional form factors like a phone.
This is where libhandy comes in. Many GNOME developers have worked on using this in their applications to allow for a responsive and flexible user interface. This library essentially means that developers can build applications that are not only wonderful for the desktop, but scale and shape themselves in a meaningful way for mobile as well. It’s an incredibly powerful tool to have, and it’s going to be a massive benefit for users as they’ll be able to use the apps they love on any device they’re on.
I don’t have enough proof to outright say that GNOME OS will ship on phones any time soon, but we can agree that a GNOME OS platform could much more easily facilitate this.
I truly believe that these stepping stones that have been laid over the past years will amount to far more than anyone has realized.
I’m hopeful for what the presence of GNOME OS could bring. It may currently just be a place to test things, and distribute a pure environment to the press for review. But it holds the potential to completely reshape the landscape for GNOME and Linux as a whole.
GNOME OS has received an increasing amount of attention recently, and the release of GNOME 3.38 being handed out in GNOME OS for demonstration suggests to me that it’s becoming increasingly more viable as the foundation for a true home to GNOME and its ecosystem of wonderful apps. We might just see some truly great things spawn from this.
Keep an eye on this one.