Building a good tool is the problem. For instance Git was born in a very niche community (kernel programming), yet it spread like wildfire. Despite the shortcomings of its CLI (according to some), and despite the fact there was other well'established tools.