If most of the mainstream programs work the same way, there's an age old set of UI/UX axioms for developers of competitor programs:
1. The users aren't wrong, <<you are wrong>>.
2. If you think you aren't wrong, <<you're still most likely wrong>>.
3. And if you still think aren't most likely wrong, <<show me your usability studies>>.
Open source programs basically have 0 usability studies because they don't have money for them, so this argument basically dies at step 4:
4. <<Shut the f** up user, I'm giving this away for free>>.
:-)
A. A developer
B. That is familiar with the software stack used by the application
C. Has enough time and energy to investigate the root cause of the bug or a proper design for the feature
D. Has enough time and energy to design the fix/feature, implement it properly, write tests, jump through all the hoops
E. Send the pull request
... sometimes the PR still languishes for years or the nightmare scenario, is discarded during a big rewrite that doesn't actually cover this requirement...
So even the code being out there isn't a silver bullet.
Whether it's a good idea is debatable.
Connected to this is the fact that many PRs are kind of misaligned with the project vision, that's at least the main reason I'm rejecting PRs.
I think that's the bigger part of open source. You can fork it, change it to your needs, and not give a damn what anyone else thinks about your changes.
Because maintaining an entire fork of any non trivial software is... trivial :-)
Let's just admit that these are complex problems and frankly after watching the hype for almost 20 years, open source proved to be an alternative and a good refuge for many things but on the end user side the early hype until 2008 or so was 80% wrong.
If you don't, then you can't justify putting more work onto the maintainers of upstream for changes they may not even care about.
For a lot of projects it's not even the goal to be usable for random people: it's primarily something by the developers, for the developers. If it also happens to be useful for others: great. If not: that's okay too.
Of course other projects do have larger goals beyond just that.
GIMP developers have given kind of mixed signals over the years about what kind of project this is.
But open source projects / devs don't have these incentives, they don't get rich out of a large user base. They often develop for fun, scratching their own itch, fulfilling some specific vision. Having user base is still important (testing, bug reports, ideas, PRs, validation/ego), but I think it's rarely the case that OSS's project's top priority is the largest user base possible.
Sometimes you even get sort of gatekeeping devs preferring a smaller, more advanced (dev) user base, since a larger user base composed of basic users bring more headache (support) in comparison with the benefits (quality code contributions).
Nah. Usually all they often get from a large user base is the frustration of dealing with entitled users who don't understand the first thing about open source, and who sees the dev as nothing more than their personal "code monkey", there only to make the project an exact clone of some proprietary software that user is familiar with.
You need to listen to you actual user base and make sure the data is representative.
As a Gimp user, I sure think that there is some stuff could be improved but "make it more like Photoshop" is not what I need.
So Gimp's user base, while existing, is minuscule.
Your is the other common defense, the Emacs defense. "What about the existing users?" (All 4 of them? :-p)
Yes, even the worst programs in the history of mankind (not saying Gimp is horrible, just going for reduction ad absurdum) have their loyal users. That doesn't make them right.
This argument is flawed, in my opinion.
Gimp receives a lot of TLC from its developers. That TLC would help more people if it were better guided in the UI/UX department. My 2 eurocents.
At the end of the day, the Gimp devs can do whatever they want.
But my bet is on this discussion happening in much the same form in 2050.
Measuring software quality based on number of users is such an insane take. Just imagine applying that to other fields. So Pop music charts represent the peak of musical artistry now? When deciding what laptop you gonna buy you google "Most sold laptop" or what? The most healthy food is the one most eaten?
People are different. They have different needs, different experience levels, different cultural backgrounds and so much more. There is not that one piece of software that is best for everyone.
If a piece of software does not work for you, that is fine. Not everything needs to be for you. For someone else it might be exactly the tool they need.
I absolutely get why people dislike using Gimp but I don't get why that means it needs to change for them. Like for me, yeah Gimp annoys me sometimes but we get along, other photo editing programs annoy me more.
You might not get much value out of Emacs but even if it is just the best tool ever for four people that is still pretty nice. (Honestly, there are dozens of us, dozens!)
If I wanted a laptop I would certainly buy the laptop bought by most people with the same needs.
For tools like gimp a large user base is beneficial since people wanting to learn how to do photo editing of graphic design will google how to do that and the tools used make a difference, if the majority of users are using Photoshop and Illustrator unfortunately most of thr tutorials and courses will be tought using that and the industry will continue using it.
If however your UI/UX isn't abysmal and you can effectively teach first principles using Gimp, courses and tutorials will come and so will the users.
There's a reason blender became as popular as it is, it was good enough in the beginning and with more users came more funding and more/better developers and now it wouldn't surprise me if it's the preffered tool in the industry.
Photoshop for me was actually the worst software package of the bunch from a casual user, and never understood why it was so popular. My impression was that without plugins it was next to worthless.
As I migrated to full-time linux early, gimp wasn't perfect to what I was used to, but it was pretty ok. The ui is a bit different, but nothing extreme. I really don't see the parallel with blender: blender today still requires a minimum of RTFM to get going, while you can do almost everything with gimp just by trial and error.
I assume there are nuances you encounter as you get more deep into photo editing. But as a newcomer, and my experience with greenfield colleagues to both, is that this is just an internet trope. You get used to one, and complain about that "the other is not the same". This is the dumbest form of complaining ever.
I've attempted multiple times to use krita for example after reading HN and seeing the praise, and while I agree it has a somewhat more intuitive ui, for actual photo editing (that is, not drawing), I still prefer gimp.
The domain is much deeper than photo editing and it appears to defeat an entirely accessible UI. Blender has kept pace _with its peers_ as a world-class 3D package.
I don't think GIMP comes anywhere near to passing the same test. But, Blender has been showered with money and other support.
What surprises me the most is that there has been no big rally for a real FOSS answer to Photoshop. Animosity toward Adobe is _strong_ and has been for a long time. There's no reason there couldn't be a convergence of moneyed interests in a competitor.
And that's the main point: I'm not pitting blender's UI choices against another product just on the merit of being accessible from the uninitiated or looking at another product. That's the kind of comparison you make if you want to make a clone of another product.
It would be the programmer's equivalent of saying "I don't understand why vi is not more like vscode".
So yeah, I 100% agree that people who hate 1 or the other are mostly just used to what they've been using, and it's not about how bad the software is.
I've read or watched PhotoShop tutorials and adapted them to Krita and GIMP before, so you're pretty on the nose with your assessment there. They're enough the same that I (who is not a professional graphic artist by any means) am able to learn from tutorials for other software which does a similar task and easily enough use that knowledge in whatever tool happens to be in front of me (once I find the related features in the menus or toolbars). Just gotta be adaptive to the differences, and aware of the similarities enough is all. It actually holds true for many other softwares as well, even all the way up (down?) to operating systems. There are more similarities than differences. Focus on what you instantly recognize as familiar, and start there, and then explore the other bits, and one tends to do just fine.