Logo Ryan Petris

Don't X My App!

Posted on June 7, 2022 in Technology tagged Computer Software

I've been part of the open source community for a long time now, and one of the things that has always been encouraged is for people to take a look at the source and make changes as they see fit; to make the software their own, and to contribute those changes back so that everyone can benefit.

Recently, it seem that there's been a disruption in that mentality; developers, instead of letting their software grow and flourish, have become more protective of their work and are trying to grasp more and more control over their supposed open source software.

Themes

First came GNOME, and developers of GNOME apps, asking people to not theme their apps. I've found this particularly funny as this sentiment didn't really come along until GNOME 3, which is when it started to become harder to customize GNOME at all. Before then, there were tons of themes for GNOME apps, many to mimic other operating systems, and no one has a problem with their apps being themed. In fact, theming was quite often encouraged to make your desktop your own, unlike anyone else's.

The argument from the developers now is that they get bug reports when their apps are themed incorrectly; that may be the case, but in my opinion those bug reports should just be closed saying that you don't support any theme other than Adwaita, the default GNOME theme, and that they should contact the theme author or, if that theme came as part of a distribution such as Pop OS, then to contact the distribution's support. Since I've been using Linux at least, it's always been understood that themes are separate from apps, so I'm not sure where the breakdown is.

With the introduction of GTK4 and libadwaita, it's becoming more and more difficult to theme GTK apps, which I believe may end up being its downfall. Don't get me wrong, I do like the look of Adwaita, but I also want the option of making vast changes if that's the way that I decide I want my system to look. Your opionions on how your app should look shouldn't get in my way of customizing what I want to customize.

Lastly on the subject of theming, you don't hear this kind of rhetoric coming from the KDE/Qt community, wxWidgets, etc., only from the GNOME/GTK community. I wonder why that is?

Packaging

Bottles, an app used to run Windows programs on Linux, just today asked distributions to not "unofficially" package their app. Their rationale is that their app is always changing and that it's "a complex software that receives frequent updates" and not everyone can package it correctly.

I hate to break it to you bottles, but lots of open source is "a complex software that receives frequent updates" yet they seem to manage the distribution system just fine. Yes there are complaints such as Debian shipping "out of date" software, however that's also what contributes to having a stable system (not only stable as in uptime but stable as in library version availability). Additionally, distributions that want to attract users are going to have a large suite of software in their repositories, and including bottles may be a net positive for them, even if there are a few small issues with how they package it.

If your problem is that you don't want bug reports from people using the distribution's packages, then, like my response to theming, state that in your bug reporting system and close any corresponding tickets that may arise because of it. If the user gets mad, well then they don't really understand the nature of open source software and they need to be educated.

Lastly, if distributions are packaging your app wrong, volunteer to become the maintainer of that package. As far as I know it is relatively easy to become a maintainer of your own packages for Debian and Ubuntu, as well as Fedora, which is what the majority of distributions are based off of, and therefore would cover the most ground. And if you don't want to maintain those distributions packages, well then you can't really complain about someone doing it for you.

Conclusion

Open source software is free and open, and people can do what they want with it. "People" in this sense can either be an individual, or a collection of individuals that maintain a distribution or even just a collection of apps that need packaging (called a "PPA" in Ubuntu-land). People can even modify that software the way they see fit, and with the source code handy, there's nothing you can really do to stop them. That's the nature of open source software, and if you don't like it, then write proprietary software instead.