Monty Says: A Definition of an Open Source Company

Just a quick post as I head toward OSCON.

Monty Widenius, one of the founders of MySQL, has an interesting post where he makes an attempt to define what it means to be an “open source company“. I’m happy to say that the OpenNMS Group meets that definition, but I’m not 100% sure it is complete as the requirement that an open source company is one that “produces software” does leave out a number of companies that promote and deploy open source solutions without actually writing code. But I think it is a start.

I also hate that I missed the Community Leadership Summit due to a prior (and totally enjoyable) commitment, but we were able to at least sponsor it. If this is any indication of what went on I’ll have to be sure to make the next one.

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.

Two Problems with Free

Things have been delightfully busy here at OpenNMS, and with Dev Jam coming up the level of excitement around the project is pretty high.

One of the people coming to Dev Jam, Matt Raykowski (OGP) send me a link today to a Slashdot article bringing up the “open source vs. open core” debate again, this time with respect to SugarCRM. Apparently some of the new features of the product are only available to paying customers.

I’ve been staying out of the recent resurgence in the “open core” debate (check out the 451 Group for a summary). If these fauxpen source vendors would simply call their product “open core” versus “open source” there wouldn’t be anything to talk about, but they need to market themselves as “open source” as opposed to “just another commercial software company with a great API” to get any traction.

The Slashdot article quotes Martin Schneider of SugarCRM stating “We are an open source company and it’s why we’re better than proprietary companies” which is total crap. Just being open source doesn’t make you better, but the fact that he would sum up his pitch that way just goes to show how much the term “open source” is tied to their marketing.

In contrast, take a look at OpenNMS. OpenNMS is a very powerful, flexible and scalable network management application platform that happens to be free and open source software. For many large enterprises and carriers, that makes it a better solution (especially when the alternatives charge per managed device), but for many smaller companies they’d be better off with Solarwinds’ Orion, a commercial software product, or something similar. Just being open source doesn’t automatically make OpenNMS the right choice and better than a proprietary solution for everyone.

Personally, in the case of SugarCRM, we struggled with the community edition for six months before signing up with Salesforce. For us it wasn’t a better solution even though Salesforce isn’t open.

In looking through the comments on the Slashdot article (yes, I know, I know) it seems there is some debate over if the paid version might really be open source. If it is, that seems like a really stupid business model, since if the paid version is freely distributable (a requirement of the OSI’s open source definition which I’m sticking by until someone offers a better alternative) then they could theoretically only sell it once and that person can choose to make it available to everyone. I doubt that Larry Augustin (the dark lord of open source) would do something like that since if anyone can make a buck from open core it’s him.

Anyway, in my mind Brian Prentice of Gartner put the whole open core debate to bed with his “Emperor’s New Clothes” post, so enough about that.

What I want to whine about today is two problems I continually face running a business on free and open source software, namely that pesky term “free”. If only Richard Stallman had added three more letters to coin “freedom software” my life would be so much easier.

The first issue is that when people here “free” they think cheap or not very good. In the best case they wonder “what’s the catch?” In many of our deployments we’ve replaced OpenView and Tivoli simply because they could not do what OpenNMS can, so even though it is free software that doesn’t make it any less valuable.

The second one arises when it is time to actually spend money on free software, such as with a support contract or professional services. A common deployment scenario is that a network manager or system admin needs a tool like OpenNMS. They go to their boss and ask if they can install it, and the boss asks how much it costs. When the answer is “free” they go, “Sure, knock yourself out.”

Now once the system is installed and there is a need for services or support, they go back to their boss and ask to spend some money, to which the boss says “I thought you said it was free?”

Open core is dead – the writing is on the wall – what with companies like Compiere going back to their commercial software roots and the VC market that funds it rapidly shrinking. The challenge now is to get across the value of free software coupled with commercial services in lieu of a commercial software solution, open core or not.

Georg Greve and the Cross of Merit

Some people may wonder why we choose to hold the OpenNMS Users Conference in Europe, specifically Germany. One of the reasons is that we’ve found that folks in Europe tend to both understand free and open source software, as well as appreciating its value.

This is not to say that we don’t love our users in the US, we do, but can anyone see the US government awarding, say, Richard Stallman the Presidential Medal of Freedom?

Well, Georg Greve, the founder of the Free Software Foundation Europe, wrote on his blog today that he has been awarded the Cross of Merit by the Federal Republic of Germany. It is in recognition of his work toward increasing freedom and independence, and specifically for his work for “Free Software and Open Standards”.

Amazing, huh?

Congratulations to Georg and may this just be a beginning.

Gartner Smackdown on Open Core

I’ve been saying for years now that open source is more than just a marketing term, and I’ve probably bored most of my three readers by harping on it.

While it may not seem to matter to most people, it is dreadfully important to my business that open source not become synonymous with fauxpen source (or to use the more politically correct term – open core). It is hard enough to educate the market on the values of open source software (if it is free, how can it be good?) without having the waters muddied with the confusion brought on with the hybrid open source/commercial software model.

But then again, I am not a powerful voice in open source (at least based on my Twitter followers) so why should people listen to me?

However, as far as analysts go, there are few that are held as in high esteem as Gartner. Today, Michael Coté sent me a link to a Gartner blog post by Brian Prentice called “Open-Core: The Emperor’s New Clothes“.

Wow.

There is a gem of a quote in every paragraph, so just go read the article, but here are some of my favorites:

You’ll soon realize that the fabric making up the garb of their stated innovation is a fabrication. They’ll then be exposed for exactly who they are – a good old fashion software vendor. Just like every other one you’ve come to know.

I have asked, on numerous occasions, for someone from the open core front to explain to me the different between their model and the traditional software model of having an open API to add functionality while keeping the best parts of the application closed. HP was able to create a huge environment around OpenView this way, without claiming to be open source (even though they use “open” in their name).

Furthermore I have personally been told by one such open-core provider that the reason a new feature, which was clearly of value to all users, was only being provided in the paid-for, proprietary version was that they “had investors they needed to satisfy.”

This sounds familiar. (grin)

Open source projects such as OpenNMS can provide a powerful, scalable and flexible solution. While I never want to lead with it when talking to potential clients, it also has a large cost benefit. The problem with the open core model is what Gartner calls the “super-size trigger”.

Besides, what you already know is that this type of functional separation creates what Gartner refers to as a “super-size trigger.” The minute you require a feature only available in the full version then the entirety of your commitment needs to be scaled up and re-costed to the full-cost offering.

Since open source is not a marketing term, these hybrid vendors are only trying to ride the hype. Brian addresses that, too:

This is where the hype starts to creep in. The idea that a functionally complete, proprietary solution is somehow unique because it was built atop an open source base fails to recognize the fact that many proprietary solutions are being built using open source components

But what about the communities around these open core projects. Aren’t they different than a commercial software product?

Even the very definition of “community” is being adapted to suit the open core narrative. What has largely interested the corporate IT world is the concept of a community as a collection of code contributors working outside a normal project/company structure. But now open core providers are extending the term community to include users and even resellers. That, of course, is what we’ve all been calling a software ecosystem for the last twenty years. Same old, same old – just co-opted terminology used to describe it.

I have no real problem with open core as long as they don’t use the term open source. It is simply another commercial software business model. But when they refer to it as open source it causes confusion in the marketplace for my business, and that’s what bothers me. From the article:

Be clear, there’s nothing nefarious going on with open core. It’s just that there’s just nothing particularly new or innovative going on either.

I believe that all commercial software companies will start focusing on creating a much larger “software ecosystem” which will include access to some source code, new APIs, social networks, etc. But it will not represent an open source business.

It’s nice to see Gartner putting it out there in such a straightforward and blunt manner.

Open Data and Open Source

We hit a snafu this week that kind of brings into sharp focus what Tim O’Reilly was talking about at the Open Source Business Conference last week.

We are toward the end of a project for Papa Johns Pizza where we will be using OpenNMS to monitor all of their stores. This will require our remote monitor to be placed in 2500+ locations, and they wanted a way to display the status of those monitors on a map.

Without spending too much time thinking about it, we just grabbed the Google Maps API and ran with it.

Unfortunately, we didn’t realize that using the Google Maps API has an associated cost. It’s based on page views and can get very expensive. Part of it has to do with the fact that Google likes to make money (of course) but I was also told that there are licensing issues involved as well. No key is required if the server is publicly accessible, but that tends not to be the case for OpenNMS servers.

In Tim’s talk he demonstrated that while the struggle used to be over closed vs. open applications, with the advent of companies like Google creating huge, closed databases, the new struggle will be closed vs. open data. It was just funny to run smack up against that less than a week later.

Papa Johns uses MapQuest for their web site and they have a license, so in the near term we’ll simply add MapQuest as an option along with Google Maps. I want to be able to offer a free version as well.

There are some free alternatives, such as OpenStreetMap. As we have always viewed OpenNMS as a network management application platform, we want to offer as much choice as possible. We’re looking at using Mapstraction to enable support for multiple map backends (including Google Maps and MapQuest) and hope to have that done for version 1.8.

Open for Business

A few weeks ago I wrote about the new “opensource.com” website. I’m pretty happy with it and since they were looking for people to get involved I offered to write a column on running an open source business based on my experiences with OpenNMS.

I’m calling it “Open for Business”.

The first column was published today, and I love the logo they created for it. Please let me know what you think, but better yet, sign up on their site and post comments there.

Linux Link Tech Show Available for Download

Last night I had a lot of fun chatting with the Linux Link Tech Show guys. It is episode #343 and it is available for download.

I love any forum where I can run my mouth for an hour and a half talking about OpenNMS and open source software, and I can’t wait to meet these guys in person at SELF (where we are a diamond sponsor).

Note that it is subtitled “linux talk. unfiltered” and I do use the occasional profanity. The spirit took me toward the end and I did drop one “f-bomb” so if you are sensitive to such things you should probably avoid this podcast.

The Open Core Functionality Ceiling

Jack Hughes has a great post on The Tech Teapot today. He has been examining the effects of an “open core” licensing model on open source communities, and he hypothesized a “functionality ceiling” in such projects as the feature needs of the pay or commercial version outweigh those of the free or community edition.

Using Ohloh he was able to examine graphs of the code for two well-known open core projects. Both of them show a large plateau, seeming to demonstrate his point.

So I decided to look at the OpenNMS graph. It’s considerably different.

This is pretty cool. You can see a bump when I took over the project in 2002, but due to my limited Java skills it doesn’t grow much until 2004 when Matt Brozowski joined the project. After that the growth is pretty phenomenal. We do have a slight plateau as we are preparing for our next stable release, but nothing like the 18+ month long ones for the other projects, and the size of our code base is much, much larger.

Great idea, Jack.

Open Source and Building Networks

Geoff Davis, a friend of mine from high school who now works at Google, wrote a post about how open source software projects can be used to build up a social network.

I sometimes get jealous of college kids today. When I was in school, computer networking was pretty much limited to BBSs and 2400 baud modems (although the college did have Internet access). I wonder what would have happened to me if open source had be prevalent in those days. All the time I spent drinking beer could have been turned into something more productive. (grin)

As Geoff points out, not only does working on open source projects give you something to put on your resumé, it allows you to make the connections to get that job in the first place.