> The older I get, the more our devotion to the CLI feels like gatekeeping.
Nah... you can't take one of the handful of major styles of interaction with computing devices and diminish adherence to that style as just 'gatekeeping'. There are moments where the strengths of GUI interaction is useful (discovery of options, selection of individual objects, etc.), but modern systems are complex and large enough that you can't really walk away from the idea of expressing operations and state linguistically without walking away from tools you need to do your job efficiently (or at all). So yeah, maybe CLI is less accessible and more difficult for newcomers, but the problems they solve aren't necessarily easy, either.
However... I do think there are many opportunities for both better accessibility in CLI's and better interoperability between CLI's and GUI's. Better discovery of options in CLI would help (autocomplete, etc.), as would a better connection between the GUI and CLI worlds. (Lisp has some good ideas where the "terminal" remembers the object it prints and allows interaction with those objects, as opposed to just remembering a string character representation of them. Microsoft's Office applications similarly will write macro code for you as you interact with the UI - which is a great way to understand the relationship between the two worlds.)
I don't see it that way. My first computer used Win95 and I didn't get into CLI until college and then seriously at work. I'm not a Unix expert, but am blown away by how much more powerful it is than Windows in many uses. I even push files to a Linux server for analysis at times as I can tear through a file with grep/cut/awk/sort/uniq and some pipes very quickly and efficiently. There are many other technologies I know, yet the simple terminal is still the best approach for many of my uses. The design has stood the test of time for a reason and the compositional approach is nice. Nobody is gatekeeping here.
I've been running desktop Linux for 20 years, but this isn't a hill I'm gonna die on. Kernel and userland developers treat Linux as a server OS first and foremost, and that's where the funding goes.
The point of "Linux on the desktop" was not that it happens for you and the other commenter, but that Linux becomes mainstream. :) Never happened and unless something extraordinary occurs it likely never will. And Android doesn't count, obviously.
True. But it also has the connotation that Linux is "not good enough" for the desktop, and this is false. Popularity has a lot of factors, sadly. A user-friendly Linux like Ubuntu is indeed "good enough" and has been so for years.
Nah... you can't take one of the handful of major styles of interaction with computing devices and diminish adherence to that style as just 'gatekeeping'. There are moments where the strengths of GUI interaction is useful (discovery of options, selection of individual objects, etc.), but modern systems are complex and large enough that you can't really walk away from the idea of expressing operations and state linguistically without walking away from tools you need to do your job efficiently (or at all). So yeah, maybe CLI is less accessible and more difficult for newcomers, but the problems they solve aren't necessarily easy, either.
However... I do think there are many opportunities for both better accessibility in CLI's and better interoperability between CLI's and GUI's. Better discovery of options in CLI would help (autocomplete, etc.), as would a better connection between the GUI and CLI worlds. (Lisp has some good ideas where the "terminal" remembers the object it prints and allows interaction with those objects, as opposed to just remembering a string character representation of them. Microsoft's Office applications similarly will write macro code for you as you interact with the UI - which is a great way to understand the relationship between the two worlds.)