I attended a tutorial at EclipseCon 2009 on ReSTful OSGi Web Applications which was based on the Ensemble project at NASA and Restlet 1.x. I recently started looking at Restlet 2.0 and updated the Ensemble code to work with the new API, cleaned up a possible threading issue, and added an OSGi service for extensibility. I was hoping to share these changes in this post, but the open source license under which the Ensemble code was released is too prohibitive (private, non-comercial, use only) for my use. I had assumed that it was released under EPL, and I was wrong.
The functionality provided by the Ensemble code is rather simple. It provides an Eclipse extension point for registering a Restlet representation. It also has the ability to handle the dynamic nature of OSGi bundles allowing extensions to come and go during runtime. It’s too bad my work was for not. Fortunately, a colleague has agreed to attempt to reproduce this functionality, and since he has not seen the Ensemble source code, nor discussed it with me, he will be able to release his code under EPL.
Lesson learned: Always check the license before looking at the source code.