“Why don’t you just fix [thing] already?”

The title of this post is a somewhat common gripe among users. Its obvious answer is that resources are limited and people were working on other things.

Duh! Not very helpful.

We need to dig deeper and find the implicit question, which is “Why wasn’t [thing that I care about] prioritized over other things?” This is a more accurate and useful question, so we can arrive at a more accurate and useful answer: because other things were deemed either more important or more feasible to fix by the people doing the work.

Why would other things be deemed more important? For bugs, it’s because they affect everyone and are trivially reproducible. The ones that get overlooked tend to be more exotic issues that are not easily reproducible, or only affect niche use cases or hardware. Put bluntly, it’s appropriate that such issues are de-prioritized; it should be obvious that issues which affect everyone and are trivially reproducible are more important to fix.

Let’s step back a moment: in my experience, this is exactly the same as in closed-source software companies. Every piece of closed-source software has multi-generational bugs, baffling mis-features, and things that make you wonder, “jeez, why didn’t they fix this years ago?” Anybody who uses Windows, macOS, Android, or iOS can rattle off half a dozen examples instantly. So it’s not like FOSS is especially bad here.

Still, it’s still not a very satisfying answer if you have an exotic use case or hardware that exposes you to an annoying issue.

However, it leads to one of the beautiful advantages of open-source: you can actually dig into the code and fix the issue yourself, then submit the fix! If you lack those kinds of technical skills, you can learn them, or maybe cajole a technically savvy friend into doing it. Or you can sponsor a developer to fix it, paying them directly. You can write a polite blog post about the issue to draw attention it. You have options.

These are all options you don’t have in the closed-source world, where your only option is to live with the issue until it happens to come to the attention of an executive, manager, or other decision maker who experiences it, or when user feedback indicates that it’s not as exotic as originally believed. However this is totally random; you have no control over the process. Also, once this happens, engineers are pulled off other tasks and asked to fix the issue. So while it does eventually get fixed, no new engineers are ever hired specifically to fix little issues, so as a result the pace of development for everything else slows down a tiny bit.

The open-source world has a real advantage here, in my opinion. There are many more ways for users to get involved in fixing the problems that affect them.

So what a great time it is to fix some of the little annoying issues you’ve been living with forever! If you’re strapped for ideas, you can find some lists of bugs here. We make it really easy to compile KDE code from source, so you can get hacking. Check out https://community.kde.org/Get_Involved/development

So what are you waiting for? GET TO DA CODE!

DO IT NOW!!!!!!

40 thoughts on ““Why don’t you just fix [thing] already?”

    1. Why would you change the screen resolution? I get that it’s weird that it happens, but I also get why devs don’t prioritize it.

      Liked by 1 person

    2. If you play some older game it will lower your resolution and the icons change their possitions. This is unacceptable, it’s weird.

      Like

    3. Others don’t do the same things you do, so while everyone who tries to do what you do may reproduce the bug, most people won’t even encounter the bug because they aren’t doing what you do. Thus, it does not affect everyone in reality. Yes, it should be fixed, but it’s not necessarily a simple fix and it’s a niche issue. Plus, it wasn’t reported that long ago, so maybe have some patience? Perhaps you should look into fixing it?

      Liked by 2 people

    4. I don’t even have any icons on the desktop because I don’t use the desktop for anything but the wallpaper. I can understand being annoyed but it is most definitely not true that everyone experiences this issue. So this case falls under the “other things were deemed either more important or more feasible to fix by the people doing the work”.

      Liked by 1 person

    5. That issue is indeed trivially reproducible, but it only affects people who use desktop icons and/or widgets and manually change the resolution (uncommon) or who play old full-screen games that forcibly change the resolution (also uncommon). So yes, it’s a bug, it’s annoying, it should be fixed, but as you can see, it only affects a relatively small assortment of people with an exotic use case. I know it sucks to be told that your use case is exotic, but, well, it’s true, sorry. ๐Ÿ˜ฆ

      Like

    6. Many games start at a lower resolution because of Wine bugs or something. It isn’t so uncommon ๐Ÿ˜ฆ And think about that – many Windows users if not all are using icons on the desktop. If they try Plasma it will be a shame for all of us if the icons are moving freely at their will.

      Like

    7. It’s super common if you play those games, but unknown if you don’t. It’s an exotic use case.

      In the end, arguing about it more doesn’t fix the bug. I know you’re annoyed by this; why not spend that time brushing up on your tech skills and trying your hand at submitting a patch?

      Like

    8. I have this problem when using my laptop through HDMI-only, which is at a lower resolution than my usual screen. After switching back to my main display, I always have to reposition my desktop widgets that have moved.

      Like

    9. I know you’re feeling bitter that the feature hasn’t been fixed yet, but you should know that expressing negativity in public makes people less want to do what you’re asking them to do, not more.

      Like

  1. > We make it really easy to compile KDE code from source, so you can get hacking.

    TBH while “easy to compile” part may be true, whole process of working with KDE codebase is not as simple.

    Even during setup process scripts that supposed to make life easier will do shady things with your environment like installing packages automagically, messing with bashrc, etc. Build environment shouldn’t mess with host and it must be self-contained.

    Using containers as build environment will be a great idea but it is not an easy thing to setup.

    It may be fine if you have plenty of free time but you can’t just dig into source code and make some fixes even if you’re C++/Qt developer because of complexity that build process has.

    Like

  2. OK Nate I’ll take you up on that. Unless someone has already done that — in which case THANK YOU WHOEVER YOU ARE — there is this the matter if creating Virtual Desktops with a unique set of Widgets that I was able to do in KDE Plasma since KDE 4.6 and refined in KDE 4.14 by simply checking a box that said “Different Widgets for Each Desktop”, but for reasons unknown is still totally missing in KDE 5.19 (unless it has been addressed in which case THANK YOU TO WHOEVER YOU ARE THAT FIXED IT).

    So tell me Nate HOW do I import CODE that exists in KDE Plasma 4.16 into KDE 5.19?!? Or 5.20?? or 5.21???etc. That’s all IMPORT CODE for one version of KDE into another version of KDE? There are a lot of people who LIKE this feature.

    Like

    1. > here is this the matter if creating Virtual Desktops with a unique set of Widgets that I was able to do in KDE Plasma since KDE 4.6 and refined in KDE 4.14 by simply checking a box that said โ€œDifferent Widgets for Each Desktopโ€

      Don’t Activities allow different widgets to be used for each activity? Why don’t you try using those?

      > So tell me Nate HOW do I import CODE that exists in KDE Plasma 4.16 into KDE 5.19?!? Or 5.20?? or 5.21???etc.

      That’s your job to figure out. Normally, developers don’t create instructions for fixing an issue so that they can have someone else do the trivial parts.

      Like

  3. While I in general concur with the statements, two things to note, one about open source, one about technical knowledge.

    1) Recently if you look Microsoft said it was wrong about open source some 20 years ago. Personally I don’t believe the statement per se, because Microsoft does not make random decisions; back then the strategy was more focused on isolate and destroy (aka “extend, embrace, extinguish”) whereas lateron it was more about securing a wider base share (see acquiring GitHub, and extending Azure before that).

    So what I am saying here is that Microsoft is not quite as focused on closed source per se; it’s a bit of a hybrid situation (evidently they refuse to open source windows, which shows you that they pursue a hybrid situation). I bring Microsoft as one example but it is really almost the same with other companies, including Google (see its firepower via the chromium code base).

    2) You wrote that people could learn technical skills. Well that is true but not everyone can, due to lack of time or age. In my opinion this is mostly an artificial limit that should not really exist. Ideally everyone should be able to change behaviour and properties of a software stack, at all times. I understand that this is currently not possible since you need to understand what the code is doing, I get that part – but from a more general point of view, I think this is more about a human right. A human right to access of freedom at all times. A human right to be able to be in the driver seat of software, at all times. Open source in many ways goes with that, of course; you can modify stuff, change it, re-distribute it. But the technical part still is a barrier and I think it would be best if we could, one day, actually abolish that barrier entirely. This may sound a bit futurustic right now, but there are changes – artificial intelligence for instance. While the hardware is limited, we may have hybrid systems in the future so perhaps that may change too one day. And then we could perhaps have a software stack that is “intelligent”, but 100% in favour of the user at all times (I don’t trust closed source stuff but a true AI that is not working against a user at any moment in time would be great).

    Right now technical users get away doing more than non-technical users, which I understand why, but I don’t think that barrier should exist.

    Like

  4. I’m not an English native, but it seems you mix up the meanings of “esoteric” and “exotic”.

    Like

    1. Oh I’ve googled it. Now I see, it’s some kind of IT slang. Which makes me wonder how on Earth a religious term could make it into a IT “slanguage”? ๐Ÿ˜€

      Like

    2. I’m not one either but I think is an idiom used in this context to indicate that the problem is not quite as rare as earlier believed. Plus, from their definition I think either would fit well in the text above:

      esoteric
      confined to and understandable by only an enlightened inner circle

      exotic
      1. being or from or characteristic of another place or part of the world
      2. strikingly strange or unusual

      In my native language (Spanish) we use the direct translations of these words in the same way, so may be a case of differences in regional usage if it sounds weird to some while it sounds natural to some others.

      TL;DR: I think is OK.

      Like

  5. On somewhat related note, I found a weird interaction with a default Kubuntu setting. The default setting for “default applications / web browser” is “in an application based on the contents of the url”. I’ve been trying to sign into Azure in VS Code and never was able to; instead of going to the authentication url, I’d get some wierd local host destination that would never work. After one random try today, I noticed that it was apparently it was trying to open it in Kio client. Setting the default setting to “thunderbird” made the whole thing work like a charm. It’s also interesting that it works out of the box in KDE Neon (I had to switch to Kubuntu 19.10 this year due to a new laptop and kernel requirements). Is there any reason why this is the default Kubuntu setting? I’m wondering if setting it to “thunderbird” might be more conservative in terms of avoiding weird behaviour.

    Like

    1. Yeah, this was fixed in Plasma 5.18 IIRC. If you’re using Kubuntu 19.10, I believe that ships with the older Plasma 5.16 version. I would recommend upgrading to 20.04, which ships the Plasma 5.18 LTS version.

      Like

  6. As someone who had to use in production KDE, GNOME, MacOSX, and Windows I doubt that many users of KDE are even aware on how flawed other alternatives are. In MacOSX a system update might just leave you hanging with your applications not working anymore. In Windows… don’t get me started. Yes, there are tons of glitches in KDE, and there seems to be the annoying tendency that devs focus more on new features compared to fixing bugs — but has one ever tried to file a bug against windows / MacOSX..

    Like

  7. Hey Nate! Good post and informative!

    I am guessing that Devs will fix problems that are:
    1. in their expertise and personal preference,
    2. Those that are most critical for the desktop,
    3. What the KDE ev or community group with KDE has set out as a target.

    What I would love to see is an enticement for devs who do not necessarily fit any of the above or are wedded to it, or are new and looking for a project.
    The best way to do this I think would be to have bug bounties seamlessly integrated into the bug report system. That is, if you file a bug or add to it, there would be a button to click to create a bug bounty. Every person who suffers from the bug could add $2, $5, $20 to the bug bounty so as to encourage directionless devs to deal with the issue. Enough money thrown at a bug would certainly send a signal that somebody or someones feel concerned about it enough to desperately want it fixed!

    Like

    1. To be honest I’m not sure bug bounties really work that well. Offering bounties would indeed send a signal that users care about an issue, but for most developers, the bottleneck is time, not money. Even if a developer knows that a problem is major and many users care about it and there is a reward associated with it, none of those things will provide the extra 8-40 hours typically needed to solve the kinds of complex issues that stick around for years. IMO the best way to get these things fixed is to just have more developers.

      Like

  8. You’re totally right Nate, in my humble opinion.

    I’ve been having a few bugs here on Plasma, so i try always to file them on KDE Bugs, to make it easy to detect, reproduce, so they can be fixed as soon as possible.

    But I think it’s my time to take at least some action, I reported the one about the inverted scrolling on KDE Connect under Wayland session about 1 year ago, nothing happened about, except that it got marked as a duplicate of another bug, Qt 5 related, so when I chatted with Aleix Pol about 1 week ago, we commented about this, he empowered me to do something by myself, being in his opinion, a really easy to fix bug, (only having to add a – in a else if case), so that’s what I’m trying, I’m having issues with the compilation, with the make part, but well, I’m not giving up, I really want to make my first path and PR to KDE to be a reality, I said it a lot of times, but I dream with a near future where I collaborate at least a bit, technically, programming I suppose, with KDE Community, to help to do the KDE Software.

    You already encouraged me already, at your previous post, so thank you very much again Nate, I think I’ll contact you via Telegram, as I did with Aleix, if you don’t mind, to ask you if I keep having this issue, as I suppose you’ll have any idea about it or probably you’ll be able to figure out, maybe even together :).

    With no further addition, I would like, as I try to do always, to thank you very much Nate and everyone else member of the KDE Community, you really do a huge work, terrific efforts to provide all of us with such nice software, to enjoy freedom on our PCs, that’s a really fantastic reality thanks to KDE and thanks to many others Software communities, giving their efforts to make it possible, so that’s it, a huge thank you to everyone :).

    Hoping you’re everyone fine, healthy and good, you and your closest dear people, family, friends, yourselves, of course, too.

    I send you a huge, fresh and virtual huge to everyone ^^.

    Like

    1. Thank you very much Nate.
      I’m afraid I will contact you via Telegram in no time, because I’m totally stuck with the make & make install :(.
      It’s really nice to have such a wonderful developers community here on KDE :).

      Like

  9. Well Nate, in your beautiful world you reprimand every body contradicting your view by standard flowers of speak. And that exactly makes that KDE stays a mess.

    Like

    1. So TRUE!! The BIG Problem with KDE is that instead of building on the previous version, they chose start over from scratch. This is why they are at current 5.19 (or is it 5.20?) and they still have a lot of BUGS. The best example is they had in KDE 4.14 a feature where you could check a box and add unique widgets to each desktop. SIMPLE. Now they want you to use “Activities” Create a “Container” and put the widgets inside there — a box within a box. Instead of building upon what users KNOW they tore it all down and started from scratch. KDE 5.x *should* have been KDE 4 with many refinements. You ask them to simply put a check box that allows you to put widgets in each Virtual Desktop the same way you could do in KDE 4.14 and you get a whole lot of push back and excuses. KDE 5 has been a TOTAL MESS since Day 1. KDE 6 — whenever that comes out — should simply start with the code base in KDE 4, and incorporate some of the refinements in KDE 5. People who like KDE 4 cab have it *THEIR* way, and people who like KDE 5 and have gotten use to some of its slicker features can have it *THEIR * way. It cuts down on the development time, cuts down on the number of bugs, and produces an even slicker product. Here we are at 5.19 (or is it 5.20?) and it is still a piece of crap that it overly complex to use, buggy, and missing features people liked in KDE 4. I can’t remember what version of KDE 5 that allowed people to have separate wallpapers in each Virtual Desktop, but I know it was LATE in the game.

      Like you said rather than listening to users Nate offers EXCUSES. Mark my words whenever they start on KDE 6 they will start over from scratch, it will be even more complex than KDE 5, and rather than ask users what *THEY* want it will be put together to reflect what DEVELOPERS want, and we will be right back to where we are today, only at version 6.30. If KDE can’t give USERS what *they* want, why use any DE like KDE?

      Like

    2. Sadly, this is so true.
      But from the standpoint of the developers it’s understandable. If we don’t pay them, we can’t tell them what to do.
      For me, when the time comes that OpenSuse Leap doesn’t offer me to select Plasma 5 desktop anymore but 6 instead, I’ll swith to another desktop for a couple of years.
      I don’t want to go through the same misery as during the switch from KDE4 to Plasma 5.
      Once Plasma 6 is mature I’ll give it try but I’ll refuse to be a guinea pig again.

      Developers have the right not to be the users’ unpaid bugfixers.

      Users have the right not to be the developers’ unpaid testers.

      Like

Leave a comment