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 and maintain and improve the software. Unless you have a different edge on the hardware side, you have no sustainable competitive advantage.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.