For Openbravo ERP, two of the characteristics that differentiate the Community Edition and the Professional Edition are the life cycle guarantee and the bug fixing guarantee.
Community Edition users are expected to stay current with our product evolution and therefore to upgrade to the next version of our product to receive maintenance.
By contrast, access to packaged maintenance on a stable version for an extended period of time is a commercial service offered as an exclusive benefit for Professional Edition customers. We call this service the life cycle guarantee.
In practice this means that as a Community Edition user, you can expect Openbravo to fix defects that you report but, in general, the defect will be addressed in the development code line and made available to you as part of the subsequent major version. Community Edition users can receive the fix by either upgrading to the next version when available or manually transplanting the fix to their own code line.
For example, if 2.40 Community Edition users were to log a defect today, we will fix it in the 2.50 based development code line and users would either need to upgrade to 2.50 or perform a manual transplant of the code change to their environment.
By contrast, as a Professional Edition customer, you have subscribed to a service that gives you the right to receive a fix for any defect that impacts you directly in the version that you are using. This means that Openbravo will not only address the fix in the development code line but will also create a backport to the stable code line of your version and release a professionally tested maintenance pack. This way Professional Edition customers can consume maintenance without having to upgrade or develop a backport themselves.
In addition to the life cycle guarantee, the bug fixing guarantee ensures that defects affecting Professional Edition customers are addressed in a timely manner and according to specific service level agreements.
The combination of these two services, life cycle guarantee and bug fixing guarantee delivers a very significant value proposition for Professional Edition customers and contributes to the peace of mind that users can expect from a professionally backed open source solution.
Going back to my earlier example, if a 2.40 Professional Edition customer were to log a defect today, not only we will fix it in an expedited manner (the bug fixing guarantee) but we would also backport the fix to 2.40 and release a new 2.40 maintenance pack (the life cycle guarantee). Thanks to this service, the customer would simply need to apply a maintenance pack in order to receive the fix.
In past versions of Openbravo ERP, like 2.35 and 2.40, we have been applying this principle by making the maintenance code repository for those releases private and releasing periodic maintenance packs. The packs are initially publicly available to the whole community and when the release reaches a stable state, they become private and available only to Professional Edition customers.
For example, in 2.35 maintenance packs 1 (MP1) to 5 (MP5) were made available to the Community; at that point we deemed that the release had reached a stable status and subsequent packs - MP6 to MP16 - were made available only to Professional Edition customers only. In 2.40, however, we felt that the product was stable enough from the beginning and all maintenance packs, from MP1 to the latest MP11 (released in November 2009), have been exclusively available to Professional Edition customers.
In 2.50, however, this approach is no longer valid. In this release we introduced modularity support and this allows us to deliver a significant number of functional enhancements as modules, separate from core. Because of this, the development code line for core is very stable and we have not felt the need to create a separate maintenance code line. We think that we will not need to create one for several more months.
Since maintenance happens in the development code line and Openbravo strongly believes that for an open source solution the development code line must be open to the community, how do we provide the life cycle guarantee to Professional Edition customers only?
Up to now, we felt that 2.50 maintenance packs, which are released in the form of a module update, packaged as an OBX file, had to be publicly available. This was both because the release, similar to 2.35, had to go through a stabilization phase (this was a motivation up to 2.50 MP3, after which I would consider 2.50 sufficiently stable) and because we still had to add a number of capabilities to our modularity infrastructure in order to fully support the activity of our ecosystem. We wanted the maximum number of Community Edition users to have access to those capabilities in order for them to be able to easily produce and consume modules.
As of 2.50 MP8 (released on October 30th, 2009) we have completed that infrastructure. We then publicly released an additional maintenance pack, 2.50 MP9 (December 1st, 2009) and from this point onwards we do not see a compelling need to release additional 2.50 maintenance packs publicly.
Therefore, the next maintenance pack, 2.50 MP10, will be exclusively available to Professional Edition customers. System administrators of the Professional Edition will be able to go to the Module Management window, perform a scan for updates to discover the availability of a new maintenance pack and download and apply the update directly from that console (reminder: we always recommend to execute this operation in a test environment before applying a maintenance pack to a production environment).
System administrators of the Community Edition performing the same operation will receive a notification that the access to the maintenance pack is reserved for Professional Edition users and will be invited to acquire a subscription license and activate their system in order to proceed with the update.
Community Edition users in version 2.50 will be able to update their installation to the latest code version by accessing the main Mercurial code repository.
We intend to continue with this approach until the next major version is published. At that point, we will recommend Community Edition users upgrade to that version if they want to continue to receive maintenance. At the same time, as a service to our Professional Edition customers, we will establish a private maintenance code repository and we will backport fixes there allowing them to stay in production on 2.50 for an extended period of time after the release of the following version, while continuing to enjoy the benefits of the bug fixing guarantee and receiving packaged maintenance.
This policy is summarized in the table below.
| ||Community Edition ||Professional Edition |
|Available from source code repository ||Yes ||Yes |
|Life cycle duration ||Until the next release is available ||Extended guarantee |
|Available as packaged OBX file ||No ||Yes |
|One click update from the Module Management window ||No ||Yes |
|Bug fixing warranty ||No ||Yes|