CO2: The Formula For A Successful Developer Ecosystem
Since joining VMware two and half years ago, I have been working like a consultant on partner enablement projects in various technical areas like SDK, SRM array adapter, VI Client plug-in, DRS clustering, etc. While working on these engagements, I always think about more efficient and more effective ways to get my work done and grow our developer ecosystem.
To summarize what I learned and thought, I decide to use CO2 as the success formula because it fits well when we talk about an ecosystem. The CO2 here means differently though. It represents Cash + Open source + Open communication.
Lost VMs or Containers? Too Many Consoles? Too Slow GUI? Time to learn how to "Google" and manage your VMware and clouds in a fast and secure HTML5 App.
You have to show the money, at least the potential to make money, to your ecosystem. Once you do that, you don’t need to convince anyone to join you. Companies and developers will just come to you to see how they can build application on your platform or/and how they can extend your platform with their products.
Android market, for example, got 20,000+ apps and games as of Dec. 2009, and was predicted to reach 150,000 apps by the end of 2010. What motivated these developers to write applications for Android in general? Mostly money, directly or indirectly.
You have to enable the ecosystem. The best way, in my opinion, is to open source your platforms, APIs, frameworks, and tools. There is an interesting discussion regarding open source vs. open standard by Jonathan Schwartz. Basically open source is not necessarily open standard, but
The best open-source projects are the ones that actually amplify a standard, increasing its acceptance in the marketplace and enhancing cross-platform compatibility. –Jonathan Schwartz
I think you get the idea. So embrace the open source model as much as possible, at least open source these components that are used directly by the developers. In return, the developers who use these components can contribute back their code back to enhance them. It’s win/win for both the company and the developers.
You have to make the information flow in your ecosystem. The most efficient and effective approach is to foster open communications. You don’t want closed communications, which isolate developers and partners from each other, and information cannot be shared. The key problem of one on one model is that it doesn’t scale. This can be a serious problem for a growing company with ever expanding ecosystem.
When communication is open, you can have an ecosystem that can help itself. But to get it started, you got to do several things:
- Basic Documentation: Get Started Tutorial, API Reference, Samples, FAQ, Troubleshooting Guide. These are the fire starters to get the communication going. When working on engagement projects, it’s my top priority to get them ready, therefore I got less questions and could focus more on value added works.
- Community Forum: it’s where the community helps each other. Developers can not only ask questions, but also share code samples. Questions answered can benefit all the developers in the ecosystem. Social media can be leveraged as well.
- Evangelism: Get the messages out and get the community started.
Overall, open communication is beneficial to the developers, even more so to the company which can then scale the enablement to the whole system with limited resources in short time.
As IT professionals, you may have seen many successful ecosystems and not so successful ones. Please feel free to share your thoughts as well.