The key to creating a great product and company is to create value for the customer. Value is that unique combination of emotional and economic benefits that motivate the customer to purchase. In the best situation the product enables the customer to create their own additional value. In an even better situation, value for the customer is derived from the value/content that the customers create. An example may help.
- Typical Platform Company--You Tube, Instagram, Pinterest--value for the customer
- Customer created use cases--ads on your You Tube videos, selling your products through Pinterest or Instagram--platform tends to go viral at this point
- Curate customer data to create more value--Google capturing multiple customer locations to determine traffic conditions, Instagram providing current events collections of user photos
Options 2 and 3 allow for multiple opportunities to create value beyond just the code base from the platform.
If we examine Twitter, it is not clear there are use cases developed by the users or by curating the user content. So it is not required to be successful, but I think the more value creation the more attractive.
On a related theme, the proprietary code should be for the principal value creation for the customer. The remaining code in the stack can come from the open source community. This idea is explained very well here.