I am doing a startup (putting virtual machines on the web)
I wouldn't be so positive about open-source everywhere. I'd recommend keeping some amount of the server-side closed source. The risk I see is that competitors can simply use your code and run the cheapest hardware they can find, while you have to run the cheapest hardware you can find <i>and</i> maintain and improve the software. Unless you have a different edge on the hardware side, you have no sustainable competitive advantage.<p>So I'd suggest you stick with the open API, and perhaps have an open reference implementation, but add value in a secret sauce on the server side which competitors can't simply copy.