I don't really care to argue semantics about what's a library vs. what's an app. Because many libraries have a UI and many apps have an API; that's another discussion, really (though, you've got tens of millions of people using Firefox through the UI daily and maybe a few thousand using it as a library daily...I know where I fall on the "is it an app or a library" continuum).
But, seriously, this article looked at one pile of data generated by a site that is entirely by and for programmers and declared that the entirety of OSS is represented by that data. The more I think about it, the more ridiculous, and maybe even offensive, it seems.
Basically, WIP. For now, if you have NodeJS:-
It is kinda headless.
I really wonder what is the point of a CLI for, say, Krita or LibreOffice.
I'm sure the same sorts of things can be done with Krita, though I'm not familiar with it.
As for LibreOffice, that seems obvious. An easy/automated way to get data into and out of it for processing in other programs. An automated way to process lots of documents that need to stay in LibreOffice but need the same change performed on them (currency conversion, date format normalization, copyright update, etc.).
It's the same reason you'd want anything to be programmable: Automating away the tedious stuff.
Begin scriptable and having a CLI are two orthogonal concepts. With Script FU, GIMP itself executes scripts. If gimp had a CLI it means that you could be able to do stuff like "gimp --select-pen 2px solid black --moveTo 0 0 --lineTo 100 100 --lineTo 50 50" for instance (for which I don't see the point of using GIMP to do).
but why would it have to be related to libreoffice at all? couldn't the ODF format be implemented as a library, which then both libreoffice and "odf2pdf" command could be implemented upon ?
At this point, I just love seeing GUI software I leverage also coming with a CLI. I learn what it can do for me with the GUI and then can use the CLI to manage the heavy lifting for me.