Alfresco drops LGPL'd Hibernate for iBatis
In Alfresco's recently released Alfresco Community Edition 3.4a of its ECM (Enterprise Content Management) platform, the developers said in the release notes that the Hibernate library has been replaced with iBatis. Hibernate has been used by Alfresco since its first versions, but the company has been working with iBatis since 2008 using it for various projects internally. While from the developer's and user's point of view there are no visible changes, Hibernate is now completely removed from Alfresco ECM 3.4a.
At the Alfresco Developer Conference, currently being held in Paris, The H took the opportunity to ask John Newton, CTO of Alfresco, why the change had taken place. The company is currently in the process of remodelling how it handles licences and is in the process of removing LGPL components such as Hibernate. He says that this was the "primary reason" for removing Hibernate and would allow the company "more freedom and flexibility to make some decisions". Once LGPL'd jBPM has been replaced with Activiti, there will be no LGPL components in Alfresco's ECM platform.
He added that swapping Hibernate for iBatis gave "the secondary benefit that it uses half the amount of memory and it's roughly twenty per cent faster". Newton doesn't have anything against Hibernate, but believes that "a lot of open source projects just outgrow Hibernate. Hibernate was great to get started" and that although it has a richer set of capabilities than iBatis, "sometimes it just gets in the way". The licensing change reflects Alfresco's current strategy of moving to doing new development under Apache licences. iBatis was previously an Apache project but the developers renamed it and relocated the project to Google Code as Mybatis, although according to Alfresco developers it is functionally the same and they are using the iBatis code base.