A lot of good discussion here. To continue: libCloud already has excellent vendor coverage and continues to gain support. I see libCloud as a place to be a center of gravity for vendor neutral IaaS cloud APIs. To make it such, we need to expand its reach and adoption. Programmers will come at this from a variety of languages and the best solution is to give them a single abstraction/interface to code to regardless of the language(s) they happen to use. The question is how? I see a couple of options:
1) Port the engine and adapters to other languages. This is the initial path proposed. It's not perfect, but is a short term solution. A problem with this approach is the additional code to write, plus the maintenance issue of bug fixes or when you add APIs and have to keep all the language ports in sync. 2) Rewrite the engine in C, or better yet Java, to enable any programmer regardless of language to use libCloud. This also has the benefit of only having a single code base to change for maintenance/API changes, etc. If we choose Java, perhaps parts of jclouds could be used for this so we don't have to start from scratch. We are already working on a Java engine, so we will be donating what we have and that could be used as well, in whole or in part. I think we should pursue option 2 as it is clearly IMO the best long range solution. With the right choices now, we stand to position libCloud as the key open source vendor neutral IaaS Cloud library. Peter
