Pages

Wednesday, February 8, 2012

SugarCRM 101: Licensing and Vertical Markets

gnu.org
There are some subtle nuances to non-technical aspects of SugarCRM that have very meaningful implications, but are often not well understood. One such nuance relates to licensing.

Conversations relating to the topic usually resemble the following:

What is the per user cost of a SugarCRM license?

Can one resell a customized version of SugarCRM?

Is it possible to provide SugarCRM hosting services?

One of the first important points to bear in mind regarding these types of questions is that the answer can vary depending on the edition of SugarCRM in question. This is especially true for the question of licensing costs, as Community Edition is completely free, while Professional, Corporate, Enterprise and Ultimate all require payment on a per user, per month basis.

More importantly, many of these conversations tend to only revolve around equating open source to FREE (as in costs, not liberty). As discussed, it is true for Community Edition, but not for the other editions of SugarCRM -- although they too are open source. 

It is also equally important to note that open source is a programming philosophy that incorporates both the idea of making software available at no cost, as well as free to be shared. This latter part has significant ramifications on the answers to questions such as those posed earlier in this post and in turn, business models one might be considering that involve SugarCRM.

Perhaps the most overlooked matter of importance is the issue of whether or not one can customize and then resell SugarCRM. Usually this comes up within the context of the idea of creating a vertical version of SugarCRM. 

Not to get too sidetracked, but vertical refers to a version of a product that is highly tailored to fit the needs of a specific industry, such as real estate, healthcare, automobile dealerships, etc. A default SugarCRM install is said to be horizontal, as it is not specifically designed for any given industry, although its flexibility makes it a more than adequate starting point for many vertical solutions.

Back to our question of whether or not one can customize and resell SugarCRM. The answer to this is yes, but again, there are other very important factors to consider that directly relate to the version of SugarCRM we are speaking of. 

Community Edition is governed by the Affero GNU Public License (AGPL) license, which mandates that the source code for any modifications to the original code must be provided to any party that buys the customized version of SugarCRM. That includes scenarios where all one is doing is offering a customized version of SugarCRM as a subscription service. 

Note that the receiving party is free to alter that work and also resell it. They are also free to give it away. Thus, one has to consider the possibility that once our work is out and available for purchase and sold, it also means it is available for free. 

This is the exact model under which SugarCRM Community Edition is made available to the public. That is, SugarCRM -- the company -- does not expect payment for any iterations of SugarCRM Community Edition that are freely distributed by myself or any other party. They also do no expect any revenue from sales of any custom or vertical versions of SugarCRM Community Edition one might make. 

Your only obligation is to abide by the license agreement, i.e. share the code relating to the modifications. 

Within the world of Professional and other paid for editions, things are a bit different. Said versions are governed by the SugarCRM Master Subscription Agreement, not AGPL. It is often more attractive to those with thoughts of developing vertical versions of SugarCRM because the sharing requirements are far less strict than they are with the AGPL license. Thus, one could create a vertical version without fear of lost revenue due to uncontrolled sharing of the system. 

In summary, licensing cost is only one of the various factors one should consider before embarking on an adventure with SugarCRM at its core. Failing to do so may lead to unwanted surprises down the road which may end up having a large impact on your plans. 

Further thoughts on this topic can be found in this thread in the SugarCRM Forums: http://www.sugarcrm.com/forums/f22/affero-general-public-license-27882/

I would strongly encourage you to read it.

DISCLAIMER: I AM NOT AN ATTORNEY. This post is provided for informational purposes ONLY and should not be used as a replacement for advice from a qualified attorney. I would strongly urge you to consult an attorney experienced with the matter of software licensing to not only validate the above information, but also ask any additional questions you may have.  

16 comments:

  1. Dead on summary of the SugarCRM licenses and what it means.

    ReplyDelete
  2. Angel, What happen if I sell a customer a vertical solution with SugarCRM-CE, billing him one time for implementation and training, plus a support contract for three (4 or 4) years, that includes support, hosting, including my own company warranty. But in the signed contract the customer specifically resignes the gnu/affero during the contract, in order to assure my company warranty is consistent, and in order to protect my revenue over a time?. I think this es the same, if I sell an integrated machine, but y put a seal in order not to void is warranty. What do you think?

    ReplyDelete
    Replies
    1. You can't do that. AGPL/GPL specifically stipulates that any derivative you create from software governed by AGPL/GPL must also be governed by the same license.

      Delete
  3. Another question; suppose my whole solution includes code customization for SugarCRM CE, and it includes Android and iPhone mobile applications, and a portal that runs in another server, communicating these additionals solutions with sugar, using REST+JSON. Should these mobile applications and portal be included in the same licensing package?

    ReplyDelete
    Replies
    1. That's entirely up to you. Apps that go through the API aren't bound by the AGPL/GPL license.

      Read the Sugar Forums thread I reference towards the bottom of the post as it specifically touches that point.

      Delete
  4. great post sir,

    I just want to know whether I can customize sugarcrm community edition
    for clients or install horizontal version of community edition by charging them . I just want to charge them for customization work or
    installation of horizontal version and leave licensing issues on clients

    ReplyDelete
    Replies
    1. Sure, you are free to do that. Many people, including myself, do that for a living. That's the primary focus of a SugarCRM consultant/implementer such as myself.

      However, what you can't do is keep your customer from in turn reselling or giving away what you built for them, unless it is not governed by the GPL/AGPL license.

      Delete
  5. Hello Sir,

    I want to customize SugarCRM CE V-6.5.4 for one of my client. And they want change the logo,footer,themes all the way. In future they will have 1000's of users for their CRM.

    So is there any issue with AGPL licencing to customize the SugarCRM or should i use SugarCRM under GPL.

    I want your help in this. Please suggest your viewpoints on it.

    ReplyDelete
    Replies
    1. Sandesh,

      A couple of important points:

      First, you don't get to pick which license you use. You *must* use the one that governs the version of Sugar you are using. In the case of version Community Edition 6.5.4, that would be AGPL.

      Second, you cannot change the footer. The AGPL license agreement requires that you keep it intact.

      Lastly, your other customizations may or may not be governed by AGPL, it depends on the type of customization. For example, something that ONLY interacts with the Sugar API can be governed by whichever license you like. If you build a module in Studio, it would be governed by AGPL.

      Consult with an attorney if you have further doubts.

      Delete
  6. Hello Sir, I would like first to thank you for your quick replies.

    I just want to ask you whether I am free to remove the image of sugarcrm just above the username label and textbox and below welcome to text. And replace it with our logo in Sugarcrm Community Edition.
    I will take care that footer image of power by sugar be kept untouched.
    Please help on this.

    ReplyDelete
    Replies
    1. I am not sure which logo you are referring to, but you company's logo can be added via Admin > System Settings.

      Delete
  7. Sorry My question was not complete. I am referring to Login Screen
    Can I remove Welcome to SugarCRM Community edition and change this to
    welcome to MyLogo or MyText on login screen. Just above the Please enter your user name and password.

    Please reply. Thanks,

    ReplyDelete
    Replies
    1. You can change it, through some CSS modifications if not mistaken, but I don't think that change would be upgrade safe.

      Delete
  8. Is it allowed by Licensing Terms? It can be done in login.tpl files in Users Module. Thanks

    ReplyDelete
    Replies
    1. Yes, the license doesn't restrict its removal. The only one you can't remover (per the license) is the graphic in the footer (and the accompanying text).

      Delete
  9. thanks a lot Angel Sir. People like you and sugar are generous and so are great.

    ReplyDelete

Your comments, feedback and suggestions are welcome, but please refrain from using offensive language and/or berating others. Thank you in advance.