Microsoft has been doing the same thing in the software industry for years. They put out a basic platform (windows, .NET, etc.) and some basic tools for creating apps. Then after thousands of developers create their own products to improve and enhance the platform, they take the best features of the different vendors, then throw their weight behind developing a more polished product using their ability to enhance the base platform to make their products work best.
Maybe we should make our own "open source" truck like people did with Linux. Design a base platform spec then let anyone produce parts for it