From someone who has published 100+ Vim plugins:
If you spend some time to find a clear and precise name for your custom command, the chances of clashes actually are pretty small. Don't use abbreviations or prefixes (prefer
:FrobnizeControlModule instead of
:FCtrlMod; people can define shorter aliases themselves) and in case of doubt, a longer, more exact variant allows for future variations (and most Vim users do know about the disambiguation rules and command-completion).
If you use
:help autoload-functions instead of script-local functions for the command implementation (and definitely not global functions!), people can duplicate your command definition, redefine a custom name themselves, and
:delcommand yours (if they really hate it / have a clash with their own customizations).
There's much more potential for clashes and plugin overlaps in mappings - therefore, Vim has a lot of infrastructure and conventions for those (
:help using-<Plug>). If there's really a command name clash with a very popular plugin, and you weren't aware of it, people will tell you about it as long as you make it easy for them to contact you (which today mostly means publishing the plugin on GitHub and using its issue tracker).