A foundation to call home
Talking jclouds with Adrian Cole
Just as he was helping push the project to Apache Software Foundation, JAX Magazine managed to catch up with the founder of portable cloud library jclouds, Adrian Cole.
JAX Magazine: Can you explain the idea behind jclouds and how the project came about in the first place and the problems it sets out to solve?
Adrian Cole: In early 2009, I worked on what is now known as Infinispan. After completing support for sleepycat persistence, I moved to S3. The existing java libraries for Amazon S3 didn't hold up well for this use case, and after spending a couple weeks with their codebases, I realized that we needed a specialized cloud storage driver. This would need to survive highly concurrent small requests needed to support write behind ops from the grid. This plugin spun out as jclouds, under mentorship of Manik Surtani (Red Hat).
Have the goals of the project changed since 2009?
Yes. jclouds was originally an S3 driver, and quickly became a portable interface for cloud storage. By the end of 2009, it started supporting provisioning. Over the years it became a place to specialize in cloud APIs, some of which are portable.
What kinds of situations does jclouds thive in?
ISVs thrive in jclouds as it focuses on clear goals and has use cases similar to their needs. It’s a similar situation for other foundational libraries such as pallet, whirr, or camel. The flip side of relying on the ecosystem is that we have few tools for end users, only a cli and an examples repo.
jclouds has recently been proposed to ASF - why was this decision taken? Has the project grown beyond what is manageable?
The vote is in fact currently underway and hopefully we will be accepted on Monday (23rd April). It is less about being unmanageable and more about whether it is right to be managed by a single person. While we have a lot of activity, peer reviews, joint decision making, jclouds as an entity relies on me. If I'm hit by a bus, the assets of jclouds such as its trademark, fall into grey areas. Moreover, jclouds has probably too often been conflated with me, which does a disservice to our increasingly engaged committer team. jclouds is bigger than me and needs a foundation to call home.
Why did you choose Apache over other open source foundations?
ASF is more of a full service than the only other option we considered, which was SPI. Eclipse could have been a decent choice, too. Probably most convenient about ASF is that we already have a similar community and contribution process as ASF projects, and the fact that several Apache projects use jclouds makes the idea a clear shared goal. Beyond that, I think we can collaborate better inside ASF with projects like Libcloud, Deltacloud, and Cloudstack. This collaboration should lead to a stronger Apache Cloud brand.
What do you hope to achieve with the ASF move? How will jclouds the project and the community benefit from this?
Selfishly, I'm looking forward to paying less fees and doing less paperwork on behalf of the jclouds brand and entity. I'm also hopeful I can spend more time on code because of it, without deducting from sleep or my other interests. jclouds has a lot to gain from this. We can reset ourselves and trim any unintentional bad habits. We can raise the profile of the many other stars in the space. We can recruit more help and be adopted at even more large companies due to the Apache Foundation being less scary. It is all very exciting.
I’m intrigued by your decision to go backpacking across Europe in the early days – why did you do this and how beneficial was it to spreading the word of jclouds?
We have California tax law to thank for this. I was on a work permit, living in Shoreditch London for the first month or so of jclouds. As I planned to come back to the States, I found that California has a certain period that designates whether you pay back taxes or not. It was cheaper to roam about in Europe for 4 months than pay these taxes. I would find out that the idea of cloud portability was very interesting, particularly to Europeans. Thanks to Manik, I had plenty of introductions to discuss this and get feedback via many JUG events. Through this, we picked up use-cases and a couple committers, including Andrew Phillips, who remains with us 4 years later. Raising the profile of jclouds in the first 6 months was crucial, as it led to me being able to get paid when I ran out of money!
Since the proposal, have new contributors come forward to offer guidance?
Yes, we have 10 apache mentors officially and a few unofficial. There's overwhelming support.
There seems to be a range of use-cases of jclouds across a number of companies. Adobe, CloudBees, Red Hat are such examples, why do you think this is?
Jclouds focuses on doing simple things portably and proves it with live tests. This leads to higher credibility and less danger of overlap. Before jclouds, Java middleware and platforms were underserved in the area of elasticity, but folks knew they needed it. It wasn't easy to grow the ecosystem, but focus and profile helped. Probably more notable in raising profile was my first gig for VMware vCloud. I met many ISVs and Java vendors through this.
What are the plans for jclouds in the next few months?
We will simultaneously release a major improvement called jclouds 1.6 at the time we enter the [Apache] incubator. jclouds 1.6 is a hardening release, where we have cleaned up or deprecated hairy things. We will move forward on what will likely be Apache jclouds 2.0, which will prove we can thrive in the process, and simultaneously help fix up our semantic versioning gaps. Once our first Apache release is out, we will have a good idea of what our reshaped community desires and head in that direction.
This interview appeared in JAX Magazine: On Cloud Nine