I went to the beach this weekend for a short vacation. On the way back I stopped for fuel, and while I was pumping a man came up to me with a sob story about a broken fuel pump and how he needed some money to get home.
This happens to me about every three years or so, and I always react the same way.
I give them money.
Yeah, I know that this labels me as a sucker, but I would much rather give $10 to ten people who are lying about why they need it than to not give it to one person who did.
On the other hand, panhandling doesn’t work on me (I rarely give money to people who accost me on the street) but busking sometimes does.
It comes down to a matter of trust.
Since I work in open source software some might assume that I’m some long-haired, love thy neighbor hippy type. This is not true. Being a geek I tend to model my behavior on what makes sense. Creating a community to develop OpenNMS is simply the most rational way to create a rapidly growing enterprise-grade network management framework. What makes it work is that the people involved have a mutual respect and trust in each other.
When I started out with OpenNMS, I decided to trust in a number of people that I didn’t know. That trust has really paid off into making OpenNMS what it is today. This wasn’t a leap of blind faith but an effective strategy based on game theory called “Tit for Tat“. Also known as “equivalent retaliation” the idea is that you trust the other person at first and then behave as they do. If they prove trustworthy, you continue to trust them. If not, you stop trusting them. It has been shown that over time this is a very successful behavior.
So why do I bring this up? Back in 2005 a company called Cittio was brought to my attention. Their stuff looked a whole lot like OpenNMS with a better GUI. I investigated it and it turns out that they are using OpenNMS and probably a number of other open source tools, but they seem to be going out of their way to hide that fact. I called Jamie Lerner, the founder, and he assured me that they were abiding by the GPL. Since I didn’t have any proof to the contrary, I decided to trust him.
It seems that trust was misplaced.
I recently got an e-mail from a company that was looking at both OpenNMS and Cittio. It appears that Cittio is not telling potential clients that any open source software is being used, at least not at the level of detail required by the GPL. From the client “Oh, Watchtower told us that they used some open source apps but did not mention as to what they used”. When I brought up the fact that parts of Watchtower are based on OpenNMS, the client replied “I could not find one ounce of mention on their website to OpenNMS or any other Open Source code that is running on this product. That really irritates me.”
I should also mention that this client is in final negotiations with Cittio (they dropped their initial price considerably) so we’re not talking a first contact cold call here – they are ready to close this deal without a single detail concerning their use of open source.
So I have moved Cittio into the “untrustworthy” column.
At the moment I really can’t do anything about this. We are doing well enough that I could get lawyers involved, but I’d rather spend any extra money we have on making OpenNMS better than pursuing a company like Cittio. I am hoping that word of mouth is enough to get people asking the right questions when dealing with them.
While part of this pisses me off another part finds it kind of amusing. The part that makes me angry is that a lot of people have donated significant time to build OpenNMS and when someone comes along an exploits that work it is just not right.
The amusing part is that this situation reminds my of the old joke about the Space Shuttle program. The Soviet’s had a very similar program called “Buran”.
Image yoinked from here.
As you can see, the two systems are strikingly similar. The joke after the Challenger disaster was that it put the US space program back 2 years and the Soviet one back 10.
In the same vein, it looks like Cittio would like to run their stuff on Windows. When we announced our Windows port, one of the outstanding issues was that jrrd had not been completely ported yet. So it was funny to see a question on our mailing list from Orhan Aglagul, a Senior Software Engineer at Cittio according to LinkedIn, asking about compiling the jrrd.dll. He used his gmail.com account when he posted on our list, but he used his cittio.com account when he asked the same question on the RRDtool list. Sneaky, huh? And not very smart, as I doubt Tobi has any clue as to what jrrd is.
When Ben is able to finish jrrd.dll (it is not needed for OpenNMS to run) I guess that will save Cittio some time, although it is published under the GPL and not the LGPL and thus they can’t use it without exposing at least some of their code to the GPL. It doesn’t appear this has stopped them in the past.
If there are any Cittio customers out their that have purchased the product and received the source code I would be interested in hearing from you and I will update this post accordingly. Likewise, if you have purchased the product and not received the source code, I would be interested in learning about that too.
Let me be clear that I welcome people to take and use the OpenNMS code, tweak it to your heart’s content and perhaps contribute some of that work back to the project. I even welcome people who make changes for their personal use and don’t, for whatever reason, feel like sharing those changes. But I have to draw the line and someone taking the code, hiding or at the bare minimum obsfucating that fact, and distributing it to others in violation of the license.