Not everyone sees the benefit of building your application as a platform. People often fear the loss of control, the idea that they may lose potential revenue or the fear of being fettered to support APIs that prevent you from making unforeseen changes.
Even if you can get agreement on the benefits of opening a platform, the definition of what it means to be a platform varies greatly. That’s why I highly encourage you to read The three kinds of platforms you meet on the Internet by Marc Andreessen.
Marc’s post is lengthy, but well worth the time. It gives you language to use when describing the different types of platform and an honest assessment of the challenges in building each type.
As more people move from trying to build holistic web sites hosted on a single server and move towards a vision of a web presence that combines information stored in multiple places on multiple servers, the focus on platforms will grow. We need to communicate clearly about that types of platforms we are both delivering and looking for others to deliver to us or we will likely be disappointed in the platforms we choose and disappoint those who choose to build on the platforms we develop.