As I was mulling over the issues behind opensourcing, outsourcing and standards, I realize that customers want interoperability and product companies care about architectural control. On the surface, these are seemingly conflicting demands.
Customers purchase software products hoping that this product will allow them to exchange information with other products/applications that they currently have and also with any future products that might consider. In fact, they would love it if product companies gave them platforms that would make it easier to develop interoperable products. Furthermore, if these platforms conform to open standards and are extendable with out incurring any penalty, this is nirvana. These open standards would prevent any holdups, since the product company could switch easily to a competing platform. This is, however, bad news for the product/platform provider, since they could get commoditized.
From a product provider perspective, they would like to provide platforms that are proprietary and adopted by all. Their objective is to control the platform and create toll booths to collect rents from every customer using the platform. These end solutions are reached for narrow product categories. By and large, most markets will have platforms that are somewhat open and somewhat private/proprietary.
In a purely open platform, the customer is very happy and the platform provider has to use their knowledge to create complementary products and compete with their customers. The other option is for them to provide vertically integrated solutions on top of their open platforms. An example of this is IBM using the Linux OS and providing integrated solutions on top of that. Another strategy could be to open the platform “kernel” but provide extensions to it that are proprietary. For example, Apple took BSD and forked it to create their OS. When a platform provider allows API-based access to their proprietary platforms, customers adapt by using these platforms as a black-box and writing their code in a manner that makes dependencies explicit. This is the situation with Google and complementors who write mash-ups that work on the Google platform. The reason Google will be allowed to control the architecture is because they make it easy for these complementors to innovate. Google benefits because its business model depends on the ad-generated traffic from these complementors.