Jomres licensing explained

Introduction

I regularly get asked about the differences between the licenses, specifically why a user should choose a One Off license, or a Subscription. This article explains the what, the why and hopefully helps you to choose the best download and support license for your needs.

This article mentions "licenses" frequently. The Jomres software itself is (mostly, see below) released under the GPL and MIT licenses. To download plugins and get support you will need a Download and Support license.

Jomres Core is free and open source, licensed under both the GPL V2 and MIT Licenses. This means that you can install it on your server and use it for free so long as you don't change the copyright information in the code itself. You can update it at any time at no extra cost.

To support maintenance and development of the software (i.e pay my rent), I have to charge for plugins and support. This is known as the Open Core model.

How do I do that?

Jomres download and support licenses can be paid for in two ways :

  • A "One off" license, where you pay a single fee, the license is valid for (typically) 6 months and then it expires. Once the license has expired you no longer have access to plugin downloads or support however you can continue to use the software, including plugins, indefinately.
  • A "Subscription" license, where you pay a much smaller sum on a monthly basis after a free 30 day trial. So long as you continue paying the subscription then you have access to plugin downloads and support (if you've opted for a Support subscription) any time you need it. If you cancel the license you must uninstall the plugins.

Why do I offer subscription licenses?

Jomres is complex software that requires a considerable investment in time for both support, maintenance and development. This is my day job, it's not a hobby project.

As a result, I know how much a license for Jomres, spread across all paying users, costs per year. The problem is that this cost can be more than some users can afford as a lump sum, especially if the user just wants to experiment with the software without commitment, so a subscription with a free trial is much more acceptable and managable to them. It also brings the benefit of a much smoother income stream.

 

The problem with subscriptions and open source code is that without some controlling mechanism to restrict usage it's common for less scrupulous people to request a free trial using a stolen credit card number, or cancel the trial before the trial is up but continue to use the software. This isn't fair to honest users who understand that without funding the project cannot be maintained.

To resolve this problem, the only workable solution for subscription licenses is to make it so that the software that runs plugins (the Plugin Manager) contains code that checks to see that the license is still valid. If it's not then it will not run the plugin(s) and the user must uninstall all plugins. With the plugins uninstalled a Jomres Core installation will still run.

To prevent users from simply editing the code in the Plugin Manager and disabling the software that checks that a license is valid, for subscription licenses the Plugin Manager is delivered Ioncube encoded. This is why I say that subscription licenses are 99% Open Source.

From a licensing perspective, the Plugin Manager files are not released as Open Source software under the GPL or MIT licenses. The rest of the plugins are.

How does a One Off license differ?

One Off licenses are different in that the Plugin Manager does not contain code that checks if the license is valid and stops plugins from working if it's not. The Plugin Manager is delivered to Jomres installations fully open source and unencoded. Once the license expires you can continue to use the software Ad infinitum. Renewal licenses for One Off licenses also supply the Plugin Manager unencoded.

From a licensing perspective the Plugin Manager is released as Open Source software under the GPL or MIT licenses. It is 100% Open Source.

Which license should I use?

This very much depends on the nature of your project. Implementors of Jomres installations generally fall into five categories.

  • Direct users : Users who are using Jomres for their own purposes, i.e. running their own online booking businesses.
  • Long term implementors : Developers integrating Jomres into a site for a client and afterwards maintaining the site on behalf of the client
  • Short term implementors : Developers integrating Jomres into a site for a client with no future prospect of maintaining the site after implementation.
  • Open Source purists : Users or developers who absolutely must have all code on their servers be Open Source for philosophical reasons. 
  • Others : For example businesses who are not allowed to have encoded files on their servers, either for security reasons or because the hosting environment doesn't allow encoded files for technical reasons.

 

Direct users and Long term implementors

If you are integrating Jomres into Joomla or WordPress and you or your client expects to continue using it for years into the future, then the best license for you/your client is a subscription license.

No software is perfect, and no software is perfectly secure. I am constantly working on improving the software, adding new features, improving existing features, removing older features that are no longer required and resolving issues as they are identified. It is common, as functionality is changed, for one or more plugins to need to be updated when Jomres Core itself is changed so that the plugins can take advantage of new functionality. The Plugin Manager makes updating of plugins exceptionally easy. Once the Jomres installation has been updated then any installed plugins can be updated at the click of a button.

With a valid subscription license you are able to download and install Jomres updates and plugins as you need them. This may be part of normal maintenance, because a new feature has been added that you particularly want to take advantage of. Alternatively, if a release of the host CMS (Joomla or WordPress) has a major update or security release then you might find yourself wanting to update in a hurry if the host CMS's changes impact Jomres (this has happened in the past). If you have a One Off license and the license has expired you will run into the problem of needing to raise Capital Funding for a renewal license. Whilst renewal licenses for Jomres are very generously priced, this is still funding that needs to be found. Subscription licenses on the other hand are considered Operational Expenses and with a valid subscription you can update as and when you need. Typically clients would fund the subscription from their own account.

For you, a Subscription license is recommended.

Short term implementors

If you are a short term implementor you'll have no responsibility for the site once it is up and running. Maintenance is left to the client, after your part of the project is completed you no longer have involvement. In this case the project is a fire and forget job, you would not expect to be funding a subscription license from your own operating costs. Whether the client chooses to update their site or not after the license has expired is up to them.

For you, then a One Off license is recommended.

Your client can always purchase a Renewal license or a subscription later if needed.

Open Source purists

Jomres works within the Open Source worlds of Joomla and WordPress. These communities are full of people who believe that the freedom to view and edit software is a valid philisophical goal. I should know, I've been a part of that world since 2004. It's something that I believe in and that's why I've gone to great lengths to ensure that where practical Jomres and it's plugins are released under the GPL and MIT licenses.

For those users, the One Off license is recommended.

You can always purchase a Renewal license later if needed.

Others

Others are typically project implementors who for business or technical reasons cannot use encoded software on their servers.

Another type of user who falls into this category is the user who intends to use Jomres as a base system, but then modify it heavily for their own requirements. Jomres supports, in fact encourages customisations that can be made in an update safe way, however if you expect to customise it beyond all recognition without updating again then this you would fall into this category.

From a security perspective I would suggest that you should still keep an eye on the commits on Github and adjust your codebase as required.

For those users, the One Off license is recommended.

You can always purchase a Renewal license later if needed.

 

Conclusion

I have been consistently working on Jomres since 2005. I have spoken to thousands of clients, both directly and through emails. Many of my clients are still using Jomres many years after purchasing so I've learned a great deal about the requirements of my users. Not just the mechanics of the software but also what they need in terms of maintenance and support of the project itself.

This education has given me a strong understanding of what a client needs through the life-cycle of their projects and the result is the slightly complex, but flexible licensing platforms you see today, nearly 14 years later. My hope is that this article has given you a full and informative description of the licenses that are available to you and that you choose the best license for your needs.