I'd frame it as: people who want to get stuff done and who can't or don't want to have to fight or troubleshoot their software or the system it runs on will often have to choose non-open-source options.
Some examples, from my perspective of being an enthusiastic and reasonably tech-savvy hobbyist:
* Linux is almost always a huge pain to get running well. In contrast, MacOS almost always just works, and while Windows can be a bit more janky, it very rarely needs countless hours spent on e.g. Ubuntu forums or Stackoverflow trying random fixes until one does (or doesn't) work. Of course there are reasons for this, but it is true. (Will next year be the year of Linux on the desktop?)
* Python is something I fundamentally love and use frequently, but I'm not the first to notice the terrible UX when it comes to managing different versions of Python itself, and its packages. Note that virtually every Python-based project on Gibhub (which is lots, thanks to ML) comes with a different set of instructions to get it running, usually based on a different distribution or package manager, thanks to an n+1 problem-solving approach [0] from the Python community. You can often run into huge issues simply installing a single popular package (looking at you, OpenCV).
* FreeCAD... I'm an enthusiastic mid-level CADder, and have used several different commercial packages without a problem. FreeCAD is just awful currently - fundamental issues/incompatibilities betewen the different modules within the base system, a terrible ugly UI, an unncecssarily steep learning curve (even for someone well-versed in CAD). And of course the answers to (some of) these problems are suited to the limux hacker - "oh just install so-and-so's fork instead". Really? And you're surprised it doesn't take off with the hobbyist community?
* Dearpygui.. a lovely, performant GUI for Python, but with such terrible documentation that for anything beyond the (sparse) examples, you have to resort to asking questions on Discord. (They are reponsive and friendly, though.)
* GIMP - powerful... and just crappy to use.
My basic premise is that most open-source products are designed and coded by hardcore programmers/Linux experts, who are great coders but either don't care about or don't have skills in optimising UI/UX/usability. Maybe it's the much-derided product managers (i.e. not hardcore programmers/Linux experts) who bring usability to a project. Maybe open source needs to work on attracting non-coders to its projects, and be open to listening to their criticism?
> Python is something I fundamentally love and use frequently, but I'm not the first to notice the terrible UX when it comes to managing different versions of Python itself, and its packages.
Python’s ecosystem looks like a trash fire and sits along nicely with JavaScript (they burn brightly in subtly different ways).
Neither are concerned with adoption at this point though.
> Maybe open source needs to work on attracting non-coders to its projects
I think Python is proof that the economic realities are more nuanced than this.
I'd frame it as: people who want to get stuff done and who can't or don't want to have to fight or troubleshoot their software or the system it runs on will often have to choose non-open-source options.
Some examples, from my perspective of being an enthusiastic and reasonably tech-savvy hobbyist:
* Linux is almost always a huge pain to get running well. In contrast, MacOS almost always just works, and while Windows can be a bit more janky, it very rarely needs countless hours spent on e.g. Ubuntu forums or Stackoverflow trying random fixes until one does (or doesn't) work. Of course there are reasons for this, but it is true. (Will next year be the year of Linux on the desktop?)
* Python is something I fundamentally love and use frequently, but I'm not the first to notice the terrible UX when it comes to managing different versions of Python itself, and its packages. Note that virtually every Python-based project on Gibhub (which is lots, thanks to ML) comes with a different set of instructions to get it running, usually based on a different distribution or package manager, thanks to an n+1 problem-solving approach [0] from the Python community. You can often run into huge issues simply installing a single popular package (looking at you, OpenCV).
* FreeCAD... I'm an enthusiastic mid-level CADder, and have used several different commercial packages without a problem. FreeCAD is just awful currently - fundamental issues/incompatibilities betewen the different modules within the base system, a terrible ugly UI, an unncecssarily steep learning curve (even for someone well-versed in CAD). And of course the answers to (some of) these problems are suited to the limux hacker - "oh just install so-and-so's fork instead". Really? And you're surprised it doesn't take off with the hobbyist community?
* Dearpygui.. a lovely, performant GUI for Python, but with such terrible documentation that for anything beyond the (sparse) examples, you have to resort to asking questions on Discord. (They are reponsive and friendly, though.)
* GIMP - powerful... and just crappy to use.
My basic premise is that most open-source products are designed and coded by hardcore programmers/Linux experts, who are great coders but either don't care about or don't have skills in optimising UI/UX/usability. Maybe it's the much-derided product managers (i.e. not hardcore programmers/Linux experts) who bring usability to a project. Maybe open source needs to work on attracting non-coders to its projects, and be open to listening to their criticism?
[0] https://xkcd.com/927/