Canonical Vs Red Hat on GNOME4
I’m writing this article for a very specific reason I will explain later on the post. As a sign of a good will, I’m going to skip all the terrible things Canonical did in GNOME for 7 years in a row (2011-2018), and I will only discuss what I see today, that Canonical is back in GNOME and they even contribute upstream.
Speaking of contributions, I won’t possibly compare Canonical to Red Hat, because Canonical as size is much smaller, so it is normal for them to contribute less. However Endless is even smaller, and they still do much more work. Yet, I’m not either happy with what Red Hat does. I believe they contribute much less than what they should, and than what they could. And don’t forget that lots of Red-Hatters are actually working in GNOME on their spare time.
Moreover the model Red Hat follows, by sponsoring devs to work in GNOME, is far from optimal. Lets assume Red Hat spends a $10m budget every year to sponsor people, events and hardware for GNOME. What if Red Hat was giving that $10m directly to GNOME Foundation, and let them decide how they would spend them.
While the money would be the same, the productivity would be increased for the simple reason, that it would encouraging personal motivation and personal initiatives. You can’t possibly work for Red Hat or Canonical, and make GNOME great, and additionally would make GNOME more independent, so there wouldn’t be some conflicts among people from various companies. And I must say! People in software, they really love their companies ..that sometimes is kinda an issue 🙂
And of course a better GNOME would also meaning a better RHEL, while Red Hat wouldn’t give away much of the control. Red Hat, and specially in the recent past, was hugely controlling GNOME (today more companies contribute), but not in the sense there was a secret Red Hat director making technical decisions; They were controlling GNOME because they were paying for it. If they didn’t like what they get, they could stop hiring people, and create a huge problem in GNOME, since Red Hat was like 50% of total development. In the same way, they could still control GNOME, and if they didn’t like what they see, they could simply stop the funding, and use Plasma desktop, or whatever.
In any case, I don’t like either what both companies do in GNOME, and yet, all the blaming goes to Canonical, while Red Hat doesn’t get any complains, and I want to give some reasoning on that, as a GNOME user.
Fedora Rawhide is the continuous build of normal Fedora releases, that in line, is where from RHEL releases derived. Rawhide features some development (Git) modules, like Kernels, Xorg/Wayland and GNOME. Most of the rest software in Rawhide, unlikely what many people think, is actually stable upstream releases of various projects.
Anyway, through Rawhide people can easily test unstable releases of GNOME, open issues and give feedback, which is actually the largest issue in GNOME. Using unstable GNOME my self, I spot issues that aren’t open in Gitlab, and I don’t really open them, because I hate Gitlab notification system, but if more people would using unstable versions of GNOME, we’d definitely get more issues open; therefore more fixes.
Now on Ubuntu side. There isn’t any way to try GNOME development releases, and this is the very specific reason I’m writing this. Even if you get the daily images of Ubuntu 19.10, they still featuring GNOME 3.32, when Rawhide gives GNOME 3.33 (3.33.3 currently).
So, Ubuntu that is still the biggest GNOME publisher, makes impossible for their users to contribute in GNOME and give feedback. From previous experience, they will only do that on GNOME beta releases, that it would be already too late, and not to mention GNOME would be on features freeze at that point.
That is my biggest complain for Canonical. In fact this is the reason for hating them. Obviously I don’t mind that Canonical releases an LTS, what I do mind is that Canonical promotes LTS for their desktop users. In comparison, Red Hat makes clear that RHEL or CentOS is for organizations installations, and Fedora for desktop computing.
Some people say that Fedora is the test-bed for RHEL, and Fedora users are actually RHEL testers. I have a completely different opinion. I say that Canonical promotes LTS so they can get more community support on their servers, by sacrificing the desktop, GNOME, and in fact even treating bad to their own users.
And moreover, they have created a series of bad systems based on LTS, like Linux Mint, elementary, KDE Neon etc; And it is not I’m a biased, but I do try LTS and I see how bad are they compared to up-to-date releases. Desktop computing requirements are much higher and different than servers.
I specially want to highlight KDE Neon. That was one of my biggest “dreams”, because it is actually the KDE OS, created and published by KDE Foundation. However, it is based on Ubuntu LTS, and it is so bad, that is literary unusable for any desktop. A complete disappointment..
The argument that LTS releases are more stable, is simply ridiculous. Ubuntu LTS 18.04 for example, features hundreds more bugs that have been fixed on Ubuntu 19.10, and moreover 19.10 will have a better upstream support, because you can’t possibly get support for a project/library version that was released 2 years ago. And Plus: If we want to use LTS Kernels on normal distro releases, we easily can!
The benefit of LTS is the low maintenance cost on mass deployments, for example in a university. A university can’t obviously afford to update their systems every 6 months, specially when Linux updates aren’t very reliable, so it makes super sense to use LTS. But why a user on their laptops should do the same? ..other for giving Canonical better community support to LTS, that is where they make profits
Common mistake: “Flatpak was developed by Red Hat”. Both Flatpak and OSTree were GNOME initiatives (from RH employees though), that Red Hat later introduced to their projects; And it has been gone to a community really project, used by more organizations like Endless OS, and now elementary OS too. You know the story that Red Hat initially rejected to use systemd from Lennard Pottering?
Politics aside, Flatpak isn’t yet another installation model. The whole GNOME is built upon it; Shell, GNOME Apps, GTK and even the development infrastructure (Gitlab CI builds), and even GNOME various server stuff are running on OSTree machines :p
By the way, I cross-reference a comment by Georges (Endless/GCC maintainer) to Robert Ancell (Canonical), on a MR for adding Snap details to GNOME Settings App, to show you, how “not stubborn” GNOME is:
Sure. Making the panel run
snapand retrieving its output makes Snap a runtime dependency. Distros will not need to build Settings with Snap enabled, or rebuild it in case the add Snap to their repositories, and any user from any distro will have instant integration after installing Snap. Win/win.
Besides that, when reviewing the Applications panel, we were asked to not add Flatpak-specific code to Settings because Ubuntu did not want to install it by default. So looking at the political spectrum, I expect good citizenship and not landing Snap-specific code (even if optional). With that, any user installing Snap or Flatpak will have system integration without the distro needing to (re)build Settings.https://gitlab.gnome.org/GNOME/gnome-control-center/merge_requests/429#note_463057
So Fedora uses Flatpak, while Ubuntu ships their very own, and very controlled Snap alternative, that even today, doesn’t even work with GNOME correctly, and there aren’t GNOME apps supporting it, and most probably they will never be.
Saying that, doesn’t mean that Snap hasn’t some advantages over Flatpak, specially when it comes to server software. Assuming Snap it works (that it doesn’t!), it is easier to run things that require some server running behind with Snap (like ownCloud), rather using Docker or Podman.
Branding / Themes
I’m not sure if that is actually the official position of Canonical, but I’m listening that from many people. Canonical is using a GNOME custom made theme for branding purposes.
I won’t go here to all the issues the custom themes create to GNOME apps developers, neither discuss how stupid this argument is (branding with a theme) but I will just ask: So, Canonical needs branding, and Red Hat doesn’t? Because Fedora uses default GNOME themes. And in the end of the day, (re)branding what? Something they don’t own?
The way I see it, is that Canonical Desktop Team, simply doesn’t care for GNOME apps development, and they don’t care, simply because they don’t develop GNOME apps. They don’t even promote people doing GNOME development, that is the desktop they use, while they did that just fine with Unity 8. Sad..
So, I dislike Canonical, I’m not fan of Red Hat either (specially after IBM acquisition), but Red Hat with Silverblue is introducing new standards for Linux desktop, and lands an actually versioned Linux OS. We can simply run GNOME, in its natural environment 🙂 ..The Next best thing after GNOME OS!
And while this article isn’t about comparing Fedora to Ubuntu, and pretty much are around the same, I do strongly recommend you to try Silverblue!!