Yes, Just a Bit More On Ye Olde Open Core

My friend Alex Finger (OGP) and his family are visiting from France, and we spent a very pleasant day at a nearby lake. I had to leave a little early to take care of the horses, so I had some time to catch up on my RSS feeds waiting for them to return.

I was surprised to see that Larry Augustin had posted to his blog, since he does that pretty infrequently, so I assume all of the questioning about whether or not SugarCRM is open source is hitting close to home. Not as bad as a flawed cell phone antenna design, but I guess bad enough.

While his post is very heartfelt, it is full of misdirection about the meaning of the term “open source”. He refers to the word “open” a lot, but “open” and “open source” are two different things. Heck, one of the most popular network management product suites of all time was called OpenView, but the “open” in the name had nothing to do with open source software.

Remember, for the sake of any discussion I start about “open source,” I mean open source as defined by the Open Source Definition (OSD). While some of the fauxpen source proponents claim it is inadequate, until a better definition is created and adopted that is the one I’m going to reference.

Now, let’s look at some of the better quotes:

Open Source is at the heart of SugarCRM’s business. Well over half of our engineering effort produces code that is released under an OSI approved license.

Well over half? Well, that’s pretty good, but is open source code something that can be divided? Can I say “here is the product, but you only get to use half of it under an open source license”. Who decides which half? If I look at in in binary, do I just get to use the ones or just the zeroes?

While neither Google nor Microsoft publish half the code they create under an open source license, in pure lines of code I bet they publish more per year than SugarCRM. Does that make them open source? It just seems to me to be contrary to the whole idea of open source software to only do it halfway.

SugarCRM always makes available full source code to all of our customers. In all cases (Community, Professional, or Enterprise), our customers receive full source code to our products

Heh – this may seem like Larry is being pretty magnanimous about making all of that code available, but since SugarCRM is written in PHP it is not possible to hide the code in the first place. Well, that’s not entirely true – I knew of a commercial software company that used a wrapper program to encrypt and decrypt shell scripts – but for the most part you can’t hide the code.

In all cases our customers have the right to run our products anywhere: in their own datacenters, in our datacenters, or at any of a variety of cloud service providers. In all cases our customers own their data and have full access to their complete database.

I think this paragraph is very misleading. Sure, SugarCRM customers can run the code anywhere – per SugarCRM’s definition of anywhere. Can they give me the enterprise code to run on my machines? Can I then give it to someone else? Can they make changes to the code and distribute it to anyone? While I haven’t seen the licensing for their paid edition, my guess is no. In that case, the slightly less than half of their software that does not have these freedoms is definitely not open source, at least by the OSD.

Consider a ‘traditional’ hosted (Software as a Service, or SaaS) CRM provider. Your data resides on their servers, under their control. If their systems go down, you go down. If it doesn’t operate the way you want it to, you’re out of luck. Even if they were to give you access to their source code, you are still not in control of your own destiny, because you wouldn’t be allowed to modify it, or even run it, if you wanted to.

By “traditional” he means Salesforce. In that case it is true that you don’t get access to the code, but the user interface is incredibly flexible so that you can create a very custom, branded look and feel if you so choose. You can also export your data any time you want. And let’s not forget – SugarCRM also offers a hosted service, so the same things said about availability affect them as well.

There is no real difference between the Salesforce hosted solution and having to pay for commercial software that, while I can see the code, I am not free to modify and distribute or, heck, even change the number of users (SugarCRM is priced per user per year). Again, I haven’t seen the contract, but my guess is that if you don’t pay at the end of that year, you have to stop using the software. Think about it – you invest in an “open” software solution that you have to stop using unless to continuously pay for it. Isn’t that exactly the same as a hosted solution?

Now, I’m not arguing that the fact that one can see and modify the code, albeit in a less than open source fashion, is a bad thing, but it is a far cry from real open source. It is just a better commercial software model, no matter how much the fauxpen source (or to be politically correct – open core) guys say different.

As I get ready to leave for the OpenNMS Dev-Jam conference, I can’t help but contrast us to these other companies. In the case of SugarCRM, it is Larry Augustin who makes the decisions about what is open and how much (and he’ll sue you if you get it wrong). With OpenNMS, it is the community and ultimately the users who decide what happens. Isn’t that a kind of openness worth pursuing?

Or am I just holding it wrong?

UPDATE: I was chatting with Alex about this post and he mentioned that the company he works for is deploying SAP. With their license they have all of the same benefits that Larry touts about SugarCRM, they can see and modify the code for use within the organization, etc., but one would be hard pressed to call SAP open source. It has to be more than just seeing some of the code.

One Response to “Yes, Just a Bit More On Ye Olde Open Core”

  1. marsosudiro Says:

    “If I look at in in binary, do I just get to use the ones or just the zeroes?”

    Heh.