My work depends so heavily on some command line tools such as jq, grep, httpie/curl, ... that I find it very surprising that I haven't ever seen a command line tool sold for a price. And I implemented enough of my own to know it's not trivial to have a great command line interface.
Three points I consider:
- it's clear that we get A LOT of value from CLI tools
- lot of people are willing to pay for GUI application
- a CLI is just an alternative interface to a GUI
Thus: why don't we pay for CLI applications?
To clarify:
- I'm not talking about donating to support a project
- I'm not saying that we should pay, I would like to understand why we don't have similar markets for CLI than we have for GUI, SaaS, etc
For example, I've talked to quite a few software developers who will gladly admit that IntelliJ IDEA (which comes at merely €499) makes them much more productive but who at the same time keep using Eclipse because it's free.
Jenkins is another example. Maintaining a Jenkins install can be a real headache. Its user experience is, let's say, less than stellar. Still, it's widely used because it's "free".
It's both ironic and unfortunate that often those people who make a living creating software seem to be the most averse to paying for software.
Either the paid CLI applications runs locally, in which case it faces decades of experience and intelligence in the commonly used tools created by present and past computer scientists and professionals, which are all free.
Or it is the front of something much bigger, like AWS CLI, the cli itself is free but the services behind it is not, but that narrowly defined "cli-application" is still free.
Yes, the most popular example I know of is FileBot[0]. It used to be free; it went commercial a short while back. Many people do indeed pay the yearly (or lifetime) subscription for it.
Let me give you two: Perforce + Dotfuscator. They have their GUI, but also CLI applications - and you have to pay for them.
In my view, they should probably come after the (or, in companion to) GUI app -- so when you need to automate a task in an application you already use, in that case, it makes total sense