A spec doesn't solve the problem. It would just make it easier to write new clients.
In order to not have single client dominance you need
  • A number of good alternative clients
  • People willing to try something different
  • People that see the benefit/need for diversity in clients.
There are some natural reasons for new clients to arise. I think the alt clients pretty much come out of these reasons.
  • Mobile OS limitations (neutrino bitcoin)
  • Bandwidth limitations
  • Performance improvements
  • Ease of use
Basically different use cases or priorities drive the desire for different clients. I just think we are still early but now is the time to ask these questions.