One pet peeve of mine is the use of bug trackers (or issue trackers) on platforms for developers like GitHub and GitLab by applications that are supposed to be for average computer users, like Inkscape and Krita.
Yesterday I just had an issue with Inkscape, and, as the outstanding computer genius that I am, I managed to figure out how to reproduce it, and found another reproducible issue that is technically not a bug but should probably be have its behavior changed since it silently causes loss of data.
What do I do with this knowledge now? So, here's where the problem begins.
If you search for "Inkscape bug tracker," one of the first results on Google is an obsolete wiki page hosted by Inkscape intended for developers talking about how they should fix their bug tracking issue. The page doesn't include a link to the current issue tracker, which you can find on Inkscape's website by clicking on Contribute -> Report Bugs on the navbar. I feel like this could be clearer, but websites for open source projects tend to have many responsibilities, such as providing tutorials, forums, requesting donations, etc., so it would be difficult to design this in a simpler way.
On Inkscape's webpage about reporting bugs, you'll see the following written:
Please make sure you can reproduce the bug and identify the necessary steps to trigger it.
Ideally use a new blank file (which may be useful later, as a test file) and also try to reproduce after resetting Inkscape preferences (info here). This confirms for you that the problem is what you think it is and is unrelated to any specific program settings. If you can't reproduce it for yourself, please wait until you can isolate the problem, before you report it.
https://inkscape.org/contribute/report-bugs/ (accessed 2024-12-09)
While I don't think anyone is actually going to read these instructions, you can imagine the direction where this is going. And this isn't specific of Inkscape. Pretty much every open source project will have similar DEMANDS from USERS before even accepting considering what the user believes to be a problem in the software.
I just want to be clear that I don't think the average person would even make it to this step. This is my real critique of open source software.
Take a look at FireAlpaca's website for comparison, which isn't open source, but is freeware programmed with Qt available for Windows, macOS and Linux. There is a clearly labelled button on the navbar that reads "Proposal / Report." Clicking on it gives you a form in a webpage for you to make a bug report or request a feature. That's it. It takes literally a single click to go from the website's homepage to how to report a bug. You don't need to create an account, you don't need to provide an e-mail address, you just fill the required fields in the form, press send, and you're done. Maybe the developer will be able to fix it, maybe they won't, but your job is done. You did everything you could. It's in their hands now.

By contrast, if you want to report a bug to Inkscape, first of all you have to read this wall of text explaining what YOU HAVE TO DO. Most people would see this wall of text and just give up. They would find a way to workaround their non-critical issues, and if the issue is critical, they would reconsider their life choices and maybe just use different software. I've heard Affinity Designer is a good choice these days, by the way.
Then you have to be able to actually reproduce steps in a manner only developers know how to reproduce.
If you can manage that (in some cases, you won't, so I guess you just don't report a problem even if it happens? As if the problem never happened in the first place?) then you would have to go to GitLab, their issue tracker, and GitLab IS NOT A WEBSITE FOR END USERS. The primary action in its navbar is "Get free trial" not "report bug." In fact, there isn't even a "report bug" button in the page linked by Inkscape! GitHub is the same. These are services and platforms by developers for developers. Normal people should never interact with these.

And if you thought that you would be able to report a bug by clicking the oddly named "Select project to create issue," you're about to learn why the button is labelled "Select project to create issue" and not "Report bug."

By the way, selecting one of these projects doesn't actually begin the process of creating a bug, it just changes the label of the blue button to "New issue in inkscape," for example, if you select Inkscape / inkscape. I assume this specific item is at the end of the list because it starts with a lower case i instead of upper case I? Why can't they sort this or structure it in a non-unidimensional way. I think Krita's tracker is better, although not much less confusing since you need to use KDE's tracker to report bugs in Krita. Clicking on the "New issue in inkscape" button will ask you to sign in. Then you need to click "Register now" to create an account. Then you need to... provide more information to GitLab for some reason?
If you try to create an account on GitLab, it will ask of you:
- Your first name.
- Your last name.
- Your username.
- Your e-mail address. It will tell you "We recommend a work email address."
Why do you need my full name just to receive a bug report? You shouldn't even need an e-mail address. I'm not committing code that will be distributed to hundreds of thousands of people. I'm writing a bug report.
As if that wasn't enough, after you confirm your e-mail address you get hit with a bunch of questions that are only relevant to developers. If I wasn't a developer and I started getting questions like these, I'd assume I clicked the wrong button and ended up in the wrong page!



Fortunately, if you choose "A different reason" a free text field will appear where you can write "I'm just here to report a bug, man," which is nice.
After going through all of these steps, a "New Issue" page appears where you can finally do the thing you would have been able to do 5 minutes ago if you reporting a bug in FireAlpaca. The following template is included for the body the issue in Inkscape:
<!-- Please report new issues at https://inkscape.org/report; this tracker is for staff-confirmed issues only.
See our full bug reporting guidelines at https://inkscape.org/contribute/report-bugs/ -->
#### Steps to reproduce:
<!-- Describe what you did (step-by-step) so we can reproduce: -->
- open Inkscape
- ...
#### What happened?
...
#### What should have happened?
...
#### Inkscape Version and Operating System:
- Inkscape Version: ... <!-- (run inkscape -V or copy from Help → About Inkscape, top right) -->
- Operating System: ...
- Operating System version: ...
<!-- Example file:
Attach a sample file (or files) highlighting the issue, if appropriate. -->
What.
Okay, at first I wanted to address why does it use XML/HTML code comments like that (presumably because it's markdown), but then I read what it was written and WHAT.
If you visit https://inkscape.org/report like it says, it redirects to the GitLab tracker. Forget the average user. I am confused by this process, and I am an outstanding computer genius. How do I report the bug?! Was my inability to read text what prevented me from understanding the process? So I tried to read the how to report page again (I didn't actually read it, I just skimmed again because, to be honest, my patience is wearing thin), and this is what's written:
Make the bug report, or request new features
Please report any new bugs you find in current Inkscape versions to the
Gitlab Bug Tracker for Inkscape.
https://inkscape.org/contribute/report-bugs/ (2024-12-09)
And that's just a link that redirects to the GitLab again!
Okay, so while this has been mostly about Inkscape, which wasn't really the focus of this article, I want to reiterate that ON FIREALPACA IT TAKES ONE CLICK AND YOU GET A FORM. Why do I have to deal with this byzantine labyrinth of links and redirects just to report a bug? This is insanity! GIVE ME A FORM, JESUS. CHRIST.
You know, I got an e-mail from Affinity because I had signed up for the free trial that says it's my "last chance" to purchase their software with 50% discount. While I do not believe this marketing tactic even a little bit, I do feel more inclined to purchase it now after writing this article than after I received the e-mail.
I'm not "Inkscape staff" but I'm posting the issue there anyway.
So many problems, but I can't forget to mention: why is "run inkscape -V" before "copy from Help → About Inkscape, top right"? Which is more accessible: a terminal command, or the menubar?
Observation: I finally managed to post the issue, and guess what! ANOTHER PROBLEM! The issue I found is about clones in Inkscape, and the SVG files that Inkscape uses are XML files. The clones are actually <use> tags in the SVG's XML code. Well, remember how the issue tracker uses MARKDOWN FOR SOME REASON?????? Well, <use> is parsed as HTML in markdown, which means it just DISAPPEARS from the description if you write it. Dear God, why are people trying to be clever! Markdown was supposed to mimic how plain text formatting in e-mails were written. You don't write HTML code in e-mails. I'm an outstanding computer genius so I can figure out how to escape it to <use>, but what about other people? FireAlpaca has an ultra basic plain text form, by the way, in all of its <textarea> glory. I actually went to check just now. It's a <textarea>. That's all you need, a <form> and a <textarea>, and some PHP in the backend to save it to a file. You don't even need a database. Inkscape has 5000 issues in the last 5 years, so 1000 issues per year, around 3 per day? I used to get more spam comments than that per day on this very website. The comments form of WordPress would be a better method for reporting bugs than GitLab. None of this account creation shenanigans, confirming e-mail addresses, asking for people's identity, requiring them to understand the technicalities of markdown. When Reddit decided to abandon its original userbase and become mainstream, one of the things it did was ditch its markdown for a broken WYSIWYG text editor that doesn't compare to what Tumblr and WordPress have. Why would any developer expect a normal person to deal with it? Even when Discord uses it they don't parse pure HTML. These are insane defaults! All I want is to report a bug...
Another problem that can occur is that some bug tracking systems are based on mailing lists which means if you sign up with them your e-mail address will be published publicly on the web and you'll start getting all sorts of spam e-mails.
Why force all these hurdles onto users that want to contribute to open source? It's like they don't want to even hear about someone who isn't committed to contributing making bug reports. Casual users who find a problem with the software lack the channels to warn the developers of bugs they find.
If a user says something happened, it's because it happened. They may be completely wrong about why it happened, and they may misattribute it as an issue of one software when the issue was in another software, but the fact that it happened doesn't change. Users don't lie. They omit facts.
Considering the complexity of software like Inkscape, there could be many things that are broken that nobody is hearing about because the only users who have encountered the issue couldn't be bothered to jump through the hoops to report the bug, and instead chose to work around it.
These users will keep using workarounds, and new users will either work around it or give up, meaning the bugs will never be fixed if someone who reports bugs doesn't encounter it.
In my case, the issues I encountered were:
- Copy pasting a <use> of a group that was moved to a different layer pastes an empty group instead of pasting another <use> of the group
- Cutting and pasting the source of a <use> silently and destructively alters the <use>
Isn't it strange that on top of finding and narrowing down the issue I also have to create an account on GitLab, a third party, just to inform Inkscape's developers of problems in their program? When I could just work around these issues? If I have a workaround, I'd need to be a very nice person to go through all this effort to help fix someone else's software when I already have figured a fix that works for myself. I'm not that much of a nice person, honestly! If it weren't for me writing an article about it, it's possible I wouldn't even have bothered to report.
Finally, I want to note that this entire article has been about reporting bugs. I don't have a problem with the concept of bug trackers in general. It's possible that FireAlpaca uses a bug tracker internally, but they still accept bug reports with a simple form.
Quotes
[...] The more important lesson, that I didn’t understand until that point, is that you can’t count on the people trying your project to quickly and reliably signal bugs to you. Most of the time, if it doesn’t work, they won’t report the problem.
[...]
It’s a horrifying thought, but it could be that for every one person who opens an issue on GitHub, 100 or more people have already tried your project, run into that same bug, and simply moved on.
They Might Never Tell You It’s Broken, "November 2, 2019" [https://pointersgonewild.com/2019/11/02/they-might-never-tell-you-its-broken/] (accessed 2024-12-09)
[...] One of the users asked when the dev team was going to fix the bug where if you enter data in one place, the system acts like it saved it but silently discards it, so you have to go elsewhere in the UI and do it there as a workaround.
The crowd reaction was interesting. One half nodded in agreement; the other half was surprised and perplexed. The bug had been around for literally years. 100% of the people on the client team were familiar with it (probably from being bitten by it personally). 0% of the dev team were familiar.
"Nov 2, 2019" [https://news.ycombinator.com/item?id=21429294] (accessed 2024-12-09)