Congratulations, Dr.Craig Gallen

Yesterday I did a post about community. Quite seriously, without our community, OpenNMS would not exist. Unlike most applications, our target audience is rather small. We are aiming to replace bloated and expensive software suites like HP OpenView and IBM Tivoli, and that means we target large enterprises and carriers. Without our core community we would have little insight into what those target markets actually need.

I started my adult professional career at Northern Telecom. While communications technology has definitely converged (data is data, whether it is voice, data or video) the telecom and datacom cultures have not changed very much.

I can remember when a company I worked for installed a VoIP switch. Every day an e-mail was sent out announcing a time frame for the daily outage to reboot the system.

I can remember thinking, what? A voice outage? Unheard of.

In the highly regulated world of telecom, outages were unacceptable. I worked in E911 code, the emergency services number in the US. E911 outages were reportable to the FCC. Everything except the line card was redundant, and having to totally reboot a device was an extremely rare event.

Even now that telecom is much more aligned with datacom, traditional telecom companies have a different way of doing things. They are slower to change and much more conservative. This is not necessarily a bad thing, but it is different from the open source way of “release early, release often”. Yet this is an industry that can benefit greatly from open source, especially in the realm of open protocols and libraries.

Helping OpenNMS navigate that world is Dr. Craig Gallen. Since 2004, he has been our link to the influential TeleManagement Forum and he is now the founder of Entimoss, an OpenNMS partner in the UK. Craig has spent years proving that open source projects, such as OpenNMS, can play a role in what has traditionally been a closed and proprietary environment.

Just before Christmas, I received a letter from Aileen Smith, Senior Vice President in charge of Member Collaboration at the TMForum:

We would like to thank you for OpenNMS’ contribution to the TM Forum’s collaboration program, and in particular the participation of Craig Gallen.

In his role as co-leader of the TIP Shared Interface Infrastructure work, Craig has championed the cause of open source implementation libraries within the TM Forum and provided critical expertise and leadership.

Craig has acted as Architect of the JOSIF build & test system, and he has also architected the framework for the generation of skeleton Java RI and CTK code.

His commitment to the project is also evident as he undertakes the site maintainer role for the SII project and has given many training & webinar sessions to promote the product. In addition to his TIP activities Craig has been a contributor to and participant in the Cloud Service Broker Catalyst in Nice and Orlando.

Thank you for providing him the time to do this valuable work! Wishing you and your team a Happy Holiday and we look forward to working with Craig through 2011.

That letter has been sitting in my Inbox waiting for me to blog about it, but something happened that moved it to the top of the pile.

Outside of a number of yearly conferences held around the world, the TMForum hosts two “Team Action Weeks” each year. One is usually in Europe and one in the US. Last week, while Craig was in Paris for this event, he was awarded an Outstanding Contributor Award.

Craig is the first person on the left in this photo. (Photo credit TMForum)

Craig received this award:

… for outstanding performance and lasting contribution as
co-chair and champion of the Shared Interface Infrastructure tooling team for over 2 years. This team has released version 1.0 of the tooling, which automates and speeds up the development of interfaces. Craig has played an instrumental role in this program in relation to managing the Open Source site, configuration management, coding and more. He is currently focused on code development for the automated generation of the skeleton RI & CTK. This program will be key to the successful delivery of a number of new interfaces in 2011. Craig also participated in the Cloud Service Broker Catalyst at Management World Americas, which demonstrated how to simplify the delivery of complex cloud services to enterprise customers.

Awesome. His years of hard work are starting to pay off, and slowly but surely we are introducing open source into the world of telecom.

Congrats, Craig, and thanks again for your contribution.

How Not to Get Help from an Open Source Project

Other people have posted about this before, but it is a lesson that bears repeating. Getting help from an open source project is not like getting help from a commercial software company. In the latter case, one has exchanged money for software and so can expect a certain amount of assistance.

Open source is different. In most cases the majority of the people who work on a project are volunteers. Complaining about the timeliness of free support from such a community is like getting a free Mercedes and complaining about the color.

First off, anyone who deals with forums on-line, open source or otherwise, should read Eric Raymond’s seminal “How to Ask Questions“.

Second, here’s how to get someone like me to *not* help you.

On the OpenNMS discuss list, we’ve had a user post 53 e-mails since Thanksgiving. The last several have concerned monitoring MySQL with OpenNMS. There are a number of ways to monitor MySQL using the platform, and people have been trying to help him out.

Unfortunately, we get replies like this:

STILL I AM UNABLE TO SEE THE DATABASES GRAPH. I HAVE EXACTLY FOLLOW YOUR DOCUMENTS AS IT IS I DONT KNOW WHERE IS THE PROBLEM COULD U ATTACHED THE /ETC FILES TO ME AND ALSO THE GRAPH PICTURE WHICH U ARE GETTING RIGHT NOW.

As most people know, posting in all caps is the equivalent of yelling. Yelling that you wanted a silver Mercedes when you were given a black one is rather rude and probably has a negligible effect on getting a different color. And don’t get me started on top posting.

But I guess the mailing list wasn’t good enough for this user. He decided to call our office.

Now, we are mainly located on the east coast of the US, so calling me numerous times, starting at 2:28am, is also not going to win you any friends.

But hey, there is always Facebook, right? Posting something like:

you all are looking good but i am still not satisfied with opeenms because opennms help is not good like microsoft. i want to get the license of it bus my initial requirment is to monitor mysql databases in it which is not yet complete

will get results, right? After all, companies like Microsoft are renowned for their high level of support, and I’m sure posting a comment on Microsoft’s Facebook page would cause hundreds of people to drop what they are doing to help you.

When all else fails, you can post a message on the OpenNMS Group contact page (which, of course, specifically mentions not to do this for support):

I am very dishard about the opennms help. I have submit my problem a lot of time but no proper solution were recived yet. why? My problem is i want to monitor mysql table spaces etc in opennms using jetty is it possible or not just tell me yes or no

So I replied: “Yes”.

(sigh)

Look, literally tens of millions of dollars *that I can document* have gone into making OpenNMS, and that doesn’t include the tens of millions of dollars worth of donated time and effort. Throwing an online hissy fit won’t get you help any faster.

And I hate the “well, if you just get OpenNMS running for me I’m sure I’ll buy a support contract later” line. It’s like going to the doctor and asking him to treat you for free on the off chance that if you feel better you might pay him. I can count the number of times someone has led with that line and actually bought a contract on each one of my rippling, six-pack abs.

When I first started out providing services for OpenNMS, I got a call from Motorola. They were considering OpenNMS, and they wanted me to come out and show it to them (i.e. fly to Texas). I pointed them to our “Getting to Know You” package where I would fly out and spend a couple of days showing them how it works on their network. They were aghast. How could I possibly ask them to pay for something like that? Even pointing out the fact that OpenNMS was free software and that once installed they could both own their solution totally and not have to pay license fees couldn’t get them past the fact that I was asking them to pay for “presales”.

Trust me, you don’t need customers like that. Customers that “get it” will have a competitive advantage. This will eventually allow them to provide better service to their customers (either through a better solution or cost savings put to other use) and thus distance themselves from their commercial software-using competitors.

While I doubt OpenNMS had anything do to with it, ask yourself what was the last model of Motorola mobile phone you owned? Did it come in a bag?

OpenNMS Patterns and Scripts

I just wanted to share a site we came across through a response to our survey (which is still open if you haven’t had a chance to check it out). It is called OpenNMS Patterns and Scripts and it is definitely worth a look. It’s subtitled “Implementing OpenNMS in an enterprise IT environment” and it consists of issues that one might face when deploying OpenNMS along with corresponding solutions. Hat tip to Doug Bakewell for making this happen, and I look forward to his future posts.

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.

OpenNMS at Watkins Glen

As you all know, we at OpenNMS are down with auto racing, so it was cool to get this note from a client this weekend:

Had the opportunity to attend the Watkins Glen Indy Car race this past weekend here in the Finger Lakes. Upon doing so, I wore my nice OpenNMS golf-polo shirt that you sent. While walking through the garage area of all the cars, another spectator approached me and said; “it’s not often you see someone wearing an OpenNMS shirt”. My reply was “so you know what that is then…” and of course the answer was Yes! Well, I didn’t have the chance to find out who he was, or where he worked, but… I just thought I’d pass this along.

OpenNMS: Sourceforge Project of the Month – June 2010

It was announced yesterday that OpenNMS has been chosen as the Sourceforge Project of the Month for June.

We’ve been on Sourceforge for over 10 years, which makes one of the projects that signed up during the site’s first year of existence.

If you are an OpenNMS fan, the article is worth checking out since I answered quite a few questions about the project. It also features most of the major contributors in the sidebar, and I apologize if anyone got left out.

Here We Go Again

I guess I should be flattered, but it appears that not one but two companies have decided to build commercial products on OpenNMS. Both of them were brought to my attention by members of our community.

The first product is called “RuggedNMS” by a company out of Canada called RuggedCom.

If you look at the screenshots, it is quite obviously OpenNMS with a slightly different skin. If you zoom in on their “Extensive Reports” screenshot you can see “uei.opennms.org” in the unique event identifiers.

How they can sell this as a commercial product without violating the GPL is a mystery, especially when you read their terms which state:

RuggedCom provides a trial copy RuggedNMS™ solely for the direct use of the person who is identified in the trial software request form. This is only a 30-day trial.

Redistribution of RuggedNMS™ software files by any means is prohibited.

The second case is a product called OpenGate by Encodex TeleSystems. They at least mention OpenNMS which is a good sign, but I am also confused by their use of the phrase “Encodex TeleSystems developed a proprietary Network Management product using OpenNMS platform and framework”. While technically possible, I am at a loss to understand how OpenNMS can easily be used as the basis for a proprietary product under the GPL.

While it is unfortunate, we do have experience in dealing with this in the past. One major difference over last time is that all of the OpenNMS copyright is now held by one entity, which makes enforcement of the license much, much easier.

I’ve contacted our team at Moglen Ravicher and asked them to look into this. My hope is that it can easily be resolved. We chose to make OpenNMS open source for a reason, and I have to wonder if it is too much to ask for others to respect that.

UPDATE: Okay, now I’m starting to wax sorely pissed. A friend of mine pointed me to this link on the RuggedCom site about discovery. Now compare that to the How-To I wrote years ago. Seem familiar?

UPDATE 2: Got a reply about OpenGate

Hi Tarus,

Thanks for your email. OpenNMS base product that you see on the website will be deleted, as this was never a product and was not built.
This was a conceptual design activity that never progressed.

We will remove it from the website right away.

Thanks

Arun Joshi, CEO
Encodex Telesystems

Dev-Jam 2010 Registration is Now Open

One of my favorite times of the year is when we all get together for a week of OpenNMS coding known as Dev-Jam. This year it will be held once again at Yudof Hall at the University of Minnesota in Minneapolis.

Registration is now open.

Anyone who is interested in learning about the OpenNMS code and becoming part of the community is welcome to attend. It is a very open format, and this year’s theme is shaping up to be “The OpenNMS Future Roadmap”. We will be making decisions on what we want to do moving forward and then breaking into teams to make that happen.

The cost is US$1400 which includes a single room in the dorm (with a shared bathroom), meals, internet access and an OpenNMS shirt. While I strongly recommend folks stay in the dorm, if you’d rather stay off campus the cost is US$700 and includes lunch, internet and the shirt.

There is a US$100 discount available until 15 June, and registration closes 20 July or when all beds are full. We do have limited space, so if you want to come please register early.

If you have never been a part of a vibrant open source community and wonder what it is like (or you have been in the past and miss it) then this is the event to attend. It is a serious amount of fun.