Hell, that one has to type "configure terminal" when you're SSHed in to a switch and obviously trying to configure it from the terminal is silly.
Correct... but just as with other APIs; renaming the command is a breaking change.
It doesn't matter whether it's a software program or a human interfacing with it,
the command configure terminal has to place the device in configuration mode, if you want
interoperability with templates and procedures that users developed to configure their network when they were running Cisco equipment.
You understand right, that IOS is a programming language... and if a competitor makes the 'configure terminal' command not work in their CLI, then users cannot take the work put into designing and developing the templates they built/programmed with many engineering man hours for deploying their Cisco gear and use the template to configure the competitor's gear?
Of course Cisco would like to use the CLI as a burden against people switching, since they will have to rebuild their developed templates from scratch then.
Just like Microsoft would like to force you to write all your documents over again if you switch from Microsoft Word to Office;
this is basically anticompetitive behavior in the form of covertly tricking your users into using non-standardized file formats, and then attempting to abuse intellectual property laws to support your vendor lock-in.
Competitors should be allowed to reverse-engineer or use the publicly available knowledge about your file formats, however, otherwise, you indeed have an unfair monopoly protection.