Andrey Listopadov

GNOME Software

@rant GNOME tools ~9 minutes read

Have you tried using the GNOME Software? This thing:

Do you use it? Are you even using GNOME?

Oh, sorry, I think should point this out, it’s kinda important - I’m asking the developers of GNOME Software.

Because, apparently, they don’t.

OK, let’s start this post over.

GNOME Software

@rant GNOME tools ~8 minutes read

GNOME Software, or, just, Software, is an application that “allows you to find and install new apps and system extensions and remove existing installed apps”. I mean, that’s what description is given to it on the official project page. It is preinstalled on most distributions that use the GNOME desktop environment, except for, maybe Ubuntu, which has its own store for applications. But I’m not going to touch Ubuntu here, I don’t really want to touch Ubuntu at all, to be honest, although I have to use it five days a week.

At home, I use the Fedora Silverblue. I like Fedora, in my opinion, it is one of the finest out-of-the-box-oriented distributions today because of how pure it is. No fancy patches, or extensions, just pure GNOME as it is. In addition to that, the Silverblue variant is immutable, so in addition to providing pure GNOME, it barely provides anything else.

I’ve picked Silverblue because I like to keep my system clean, and immutability helps tremendously. Everything is either a Flatpak or lives inside the Podman container. To be frank, even before I used Silverblue I had the same kind of workflow on the regular Fedora distribution, and the same applies to Ubuntu that I use at work. If your system got messed up enough for you to care you can just delete the container, and recreate a new one, installing only the stuff you do actually require. But I’m getting off track here.

I feel that the fact that I’m using Fedora Silverblue is important for this post because this means that I’m using a distribution that I can’t make changes to. Well, I can, of course, but I don’t do that. Again, all my apps are either in Flatpaks or containers, so the system itself is barely different from the fresh installation. I had installed updates, but these come from Fedora, so I’m assuming they know what they’re doing.

So let’s get back to the topic - I install apps as Flatpaks quite often. I do so using GNOME Software!

And it is pain!

I have used GNOME since 2008 or 2009, can’t remember that exactly, so I’m a seasoned Linux user. I have used a lot of different distributions, and for the past five years, Fedora has been my daily driver because it is simple, reliable, and has everything I need. And what it doesn’t have, I can build from sources in the container with my own hands, so I don’t give a shit about stuff like AUR, Nix, etc. For simple stuff, like a music player, Flatpak is more than enough, and for stuff like Emacs, I’m running a container with all my development tools. And here comes GNOME Software.

For the past decade, ever since GNOME Shell was released in 2011 I have been using it. I had spent two years using KDE just to see if the grass was kreener on the other side but returned to GNOME eventually. And, for the past decade, I’ve been using GNOME Software.

I mean, what, do you expect me to open a terminal every time I need to install or update a package? Sure, back in the day I did that when I used Arch, and Ubuntu before it, but honestly, I don’t care if I need to input pm update in the shell or press an “Update” button in the GUI.

terminal is faster and more convenient for managing packages

Yeah, right. And how am I supposed to go and look for the screenshots of the app I’m about to install on the terminal? You could say it’s a silly reason, but during the post on Linux music players, I have done that a lot. Of course, when I know exactly what app I need, I can go to the shell, and type out the command in a fraction of the time that it takes for GNOME Software to fully load and become responsive. And that’s what brings me to the beginning of the post.

Dear GNOME Software developers, tell me, do you use your application or do you install everything from the terminal anyway?

I think that the developer should be, if not the main, but an active user of the project they’re developing. That applies both to open source and what you do at work - because if not, you don’t know your own software.

A theory is nothing without practice, and the same goes for software development. The code is a theory. You compile the code and verify that it is correct like any theory should be. The application of that code is practice.

And I feel that the GNOME Software developers don’t use the program they create. Here’s why.

As I said before, I use Fedora Silverblue, with everything installed as a Flatpak or inside a container, so the system is pretty much as if I just installed it. I rarely shut down my laptop, instead, I put it to sleep (not even into hibernation) most of the time. Now, imagine I want to go and install the Audacious music player. I open Software and start typing Audacious, and that’s what I see:

I stare at this for a few seconds, check that my internet connection is working, and realize that it happened again - GNOME Software just doesn’t do anything. I tried waiting for minutes, and the spinner didn’t go away. So I closed the app. I opened it again. And I still see the damn thing spinning because you know what? When you press the close button, the Software doesn’t actually close, it always runs in the background, for reasons.

So I have to go into the System Monitor and kill the damn thing. I reopen it again, type Audactions, after it finishes loading everything, and now I see the player:

And this happens to me every single time. On a system, that is, according to its promise is immutable, and hence this should probably happen even at the stock installation. And, you know what - it does! I have recently reinstalled Fedora on one of the laptops I have and left it working for a while, checking periodically if GNOME Software will behave like that. I didn’t have to wait for long, it happened the next day!

So this bug can be reproduced, with a bit of patience, on a clear installation! Yet, it haunts me for the last 5-6 years or so! Aarrgh! ARE YOU EVEN TESTING YOUR SOFTWARE AT ALL?

*​breathes​*

Sorry, I’ve got too angry dramatic even for my style of writing. I’m not the only one who experiences this particular bug, among other bugs:

  • A Reddit post describes this exact problem, and many others, specifically mentioning that they’re not new

  • A bug report was submitted to the official issue tracker, outlining the same problem. I like the comment there:

    Without a log I’m afraid we can’t diagnose or fix the problem, so I’ll close this issue report for now.

    Can’t diagnose? Seriously? Have you even tried though?

    Seriously, as a software developer, I don’t understand this. I mean, sure, sometimes I don’t want to deal with bugs I personally don’t have, and it is open source, so I don’t really have to do that, someone else can and is welcome to. But to close the issue because there are no logs and it can’t be diagnosed, despite the fact that the issue exists? Especially, when it hits multiple people. I don’t get it. Don’t try to explain me, I won’t get it, because it’s hard for me to get it, so I’ll close the discussion for now.

  • Many search related requests are closed, yet the problem is still there.

    It’s like they find a possible reason why this might happen, fix it, and close the issue without testing. I mean, unless you can reproduce the bug before the fix, how would you know that it is fixed?

I don’t know how the development process is organized in GNOME, especially for GNOME Software. However, I think that they don’t actually use their own thing, because it has so many obvious bugs that I can hit several during a single session. For instance, the Reddit post mentions this:

While installing, the window “reloads” a couple of times, as if it was refreshing.

Yup, happens to me every time.

Sometimes it feels like updates have been fetched, and the ones being displayed are the most recent, but updating only reveals those updates were not the newest ones and even updates need to be downloaded

Happens to me as well. To be more specific it happens like this:

  • You open the Software (that has been running in the background for long);
  • You see that the “Updates” tab has a notification;
  • You open the “Updates” tab and it shows a spinner;
  • Then the updates appear.

So I would assume, seeing the spinner, that it had fetched everything, but by pressing the “refresh” button, the spinner appears and goes for much longer, revealing that there are in fact more updates than there initially were. Literally happened to me while I was writing the previous line, as I’m writing and testing at the same time.

There’s another issue, that is closed on the tracker, but happens to me all the time, and is extremely easy to reproduce: while you install anything, the search stops working. The funny thing, it is closed as a duplicate of the issue with the name “Rework threading model”, which supposedly should fix all of that. However, how it is a duplicate? At best it is blocked by that ticket, but it doesn’t duplicate it in any way because it describes the actual issue. It should be closed only when the blocking issue is done, and the bug is tested to be gone. What a mess.

So, yeah, GNOME Software is full of bugs, as most of the software is today. If you’ve seen the “Preventing the Collapse of Civilization” talk by Jonathan Blow, you may remember there was a moment where he listed all of the bugs that happened to him in the past few days. Have a look, I’ve linked it with a timecode.

So, why am I complaining in the blog and not actually submitting an issue? Well, I don’t want to. GNOME has a long history of ignoring problems, saying that people use their software in the wrong ways, and so on. I just don’t want to go to their territory and be ignored too. Instead, I can write a quick rant in my personal space, where I’m always right, and no one can prove me wrong, ha ha ha! Obviously, I’m being sarcastic here, if you couldn’t tell.

I guess, someday these bugs will be fixed, it’s just a shame that they have existed for so many years, and it seems like the developers don’t care.

Anyway, that’s enough ranting for this year. Use what you’re making, and test your fixes, or at least ask for feedback once you think you fixed the bug. See ya!