Variety is nice and having choices is nice, but when there's compatibility and man-hours to be spent in ensuring that compatibility/support across all the possible flavors of Linux distributions, I'm not sure we really want "competition".
It's APIs we are talking about here, standards. How would you feel if there were dozens of TCP/IP protocol standards (not just implementations, mind you) and if you wanted to develop any simple networked application you'd need to write a compatibility layer for each and every one of them?
Competition is definitely not what we need in this case, sorry.