Imitation is the Sincerest Form of Flattery

I love my job. I have never been happier than I am working on OpenNMS, and I’m proud of the application as well as the community that supports it.

People often ask me about open-source and how it will succeed, and I like to point to the work of the economist John Nash (subject of the movie ”A Beautiful Mind”) on cooperation. Working together people can benefit more than working apart.

But there is always a “dark side” to open source. We’ve been unfortunate enough to be touched by it twice recently. Since I hadn’t updated the blog in awhile, I thought I’d talk about it today.

Cittio and WatchTower

I logged on to the #opennms channel on IRC ( today, and tedkaz pointed out the Cittio site to me.

When I first looked at it, I thought “so what”, just another commercial network management product. But then I saw that they were Java-based, used a servlet container and had an RDBMS just like OpenNMS.

It was shown to me that their main page looked a lot like our main page. They have an RTC-like section with Categories, Outages and Availability, just like us.

But their GUI is much different, and much nicer I might add. It’s probably just a coincidence that we are so alike. I decided to dig a little deeper, and found their feature overview page.

Things started to look a little stranger. I mean, not only do they have some surface similarities, they actually have pretty much all of our features described in ”the same words” we use:

* Configurable Thresholds, Notifications, and Escalations via email, pager and SMS alerts

OpenNMS uses the same terms for each of these things, and while Thresholds is pretty generic, Notifications and Escalations are less so.

* Fully customizable Reporting Engine for historic graphing and trend analysis

“We already got one” (use fake French accent)

* Embedded Asset Management functionality with the ability to provide all IPs and asset data to Excel

By export to Excel, do they mean via CSV? Our asset system is very rudimentary, but even we do that.

* System Administrator Document Management System to keep track of operator instructions and standard operating procedures. Ability to provide instructions to network events so that system administrators have access to the right documentation at the right time.

Hrm. We don’t do that out of the box, but we do have the field in our events for this purpose.

* WatchTower Repository for data storage allowing Historical reporting & analysis. Ability to generate graphs over variable time frames of historic data ranging from a few hours to over a year.

Sounds familiar.

* Fully Integrated Web Server, Java Server, Portal Engine, RDBMS and operating system, providing a fully bundled solution with minimal maintenance and support required.

Without looking at the code I can’t know for sure if this is based on OpenNMS, but the architecture sounds the same.

* Ability to schedule planned outages in order to keep uptime reports accurate and reduce unnecessary notifications

Did someone say “scheduled outages”?

* Ability for operators to configure how they should be notified and their duty schedules

Duty schedules? Now that is a term I don’t hear much, except when talking about OpenNMS.

* Ability to route notifications by skill sets, so that the right notifications get to the people who are best suited to respond

Sounds an awful lot like destination paths to me.

* Powerful polling engine ships pre-configured to monitor most major commercial applications, but can be customized to monitor in-house custom applications.

Now from what I can see on the website, it looks like they can gather or at least present more information than we do. But I could place that exact sentence in a description of OpenNMS.

* Bandwidth performance and usage monitoring


Okay, now I could just be paranoid. Except for using similar terms, there isn’t much to go on here. Network management applications all try to address the same problems, and some overlap is bound to occur.

But … (you knew there was a “but”)

I found out Cittio used to be called JJ Labs.

That rang a bell. I big bell. I went back into my vast e-mail archives and pulled up this letter:

From: Jamie Lerner
Sent: Thursday, August 22, 2002 11:20 AM
Subject: Commercial License

I wanted to see if you had put any more thought into providing a commercial license of OpenNMS for people who would like to OEM the technology into commercial products and cannot put their entire products under the GPL.

I inquired at MySQL as to how they could do this and their interpretation of the GPL is that they have the right to offer their technology both under the GPL and under a standard commercial license.

Let me know, I am open to any ideas you may have as we are new to the GPL and its terms.

Thank you,

Jamie Lerner

As most of you know, we don’t and don’t plan on offering a commercial license to OpenNMS. This is what Jamie was told, and I never heard back from him. I thought that was the end of it, but then I found a couple of e-mails from him on the opennms-discuss list, one from May 2003 on upgrading, and another in July on custom pollers.

So, what does one do? I am ”not” saying or trying to imply that Cittio is using OpenNMS code, but it is suspicious enough to make me wonder. But how does one follow up on this? I’m pretty much asking the community and I’ve asked the Free Software Foundation to look into it. Even if they use OpenNMS code, they don’t have to contribute it back to the community, but they ”do” have to tell people it is based on open-source and they have to distribute the code to anyone they distribute the software to. I really wouldn’t know if they were doing either. Suggestions? Advice?

What’s in a Name?

OpenNMS is supported on Mac OS X via Ben Reed and the Fink project (see OpenNMS-Darwin). So I was surprised to find that [ someone else] was distributing software called “OpenNMS” on OS X. The Tyrell Corporation is distributing “OpenNMS for Mac OS X” – only it isn’t OpenNMS.

We first ran into Mark Murphy back in August of 2002. We had just moved to the 1.4 JDK and he was upset that it would no longer work on OS X Jaguar, since they were on 1.3. He didn’t seem to understand that the move was necessary, as OpenNMS wouldn’t perform on 1.3. We did invite him to work with us to support OpenNMS on Mac OS X via a native installer, but we never saw any code contributed to make that happen.

Well, it turns out he decided to release it anyway, by, I assume, modifying the code to remove the 1.4 dependent features. I can’t tell because his “1.1.0-alpha” release doesn’t correspond to anything we released.

I asked him (I thought nicely) to stop distributing software called “OpenNMS”. The OpenNMS Group owns the OpenNMS trademark, and we tend to feel the same way about our trademark as Mozilla feels about theirs. He could call it anything he wants, and as long as he follows the GPL, more power to him, but we didn’t want his version of OpenNMS to be confused with the real one.

Just think if MacWorld got hold of his software and then went “whew, this sucks” because compared to where we are now, OpenNMS circa 2002 ”did” suck.

Anyway, the letters I got back were pretty belligerent. Anytime he referred to the OpenNMS team he used quotes, like “Team”. I guess we didn’t make him feel welcome. OpenNMS is a meritocracy – you want respect? show us the code – we never saw any.

Then he used phrases like “Since the Plone Foundation utilizes the FSF’s lawyers (and I’m on the Plone Foundation Board), I can shoot them off an email to see if we are in compliance with the license if you and I think that might help.” Heh, I love it when the word “lawyer” gets used, it means that money is going to be flowing out of my pocket.

We’re a small company, but we have to protect the OpenNMS trademark or lose it. In his defense, Mr. Murphy did make some changes I requested to his web page, but he is still insisting on calling three-year-old code “OpenNMS”. So now I have to spend money having a lawyer send a Cease and Desist order to Tyrell, money that would be better spent on OpenNMS.

Oh well. I guess the only thing worse than being talked about is not being talked about (a nod to Mr. Wilde). Since people appear to want to use our code (or at least our ideas) and our name, we must be doing something right.