OpenNMS, Eben Moglen and Cittio

OpenNMS has retained Moglen Ravicher, LLC (a for-profit law firm organized by the Software Freedom Law Center and run to support their non-profit operations) to represent us with respect to issues relating to GPL license violations of OpenNMS code by the Cittio Watchtower product.

A couple of weeks ago I posted on “Ask Slashdot” my concerns about possible GPL violations. While most of the comments were not very helpful (grin), it did cause a number of people to contact me with more information about Cittio’s use of OpenNMS code in their product, and it was enough information for me to go to Eben Moglen with my concerns. Since we’re a for profit enterprise, we aren’t eligible for SFLC’s pro bono services. Thus, we retained Moglen Ravicher to represent us. With their involvement, I am certain that the best interests of the OpenNMS community will be represented and I look forward to a resolution of these licensing issues.

Since this matter does involve lawyers, I will be limited as to what I can share about this process from here on out, which goes against both my open nature and my big mouth. This is a very unpleasant process for us but we feel it is necessary to be true to ideals that drive our project. Thanks for your patience and understanding.

Uhuru Source

John Mark over at Hyperic posted a blog the other day in part about Bruce Perens’ candidacy for the OSI board and he asked me to comment about it.

Now, John Mark works for Hyperic and I work for the OpenNMS Group and our two companies are partners, so I look with fondness on the folks over at Hyperic (heck, they even invite us to play in their NCAA bracket). But I disagree with their business model being called “open source” and every time I do it publicly, it results in a little more bad blood between our companies. That is something I really don’t want, to be honest.

What Hyperic does is publish some of their code under the GPL, a fine and noble open source license, but a portion of their code is proprietary and requires a commercial license to use just like any other commercial software product. This is much better than, say, HP, which requires that you purchase their API to integrate with OpenView, but it is a long way from the ideals set forth when open source was started.

The sad part is that this form of “open source” publishing, what I call the “shareware” model, is much more the norm than, say, what we do with OpenNMS. If you want VC money in “open source” these days, you have to adopt this model. The idea of having 100% of the code free and to put the majority control of a project into the hands of others scares the hell out of investors.

It’s not that the shareware model is wrong, or bad, or evil, it’s just different from what I’ve always known as open source. The sad fact is that “open source” these days is little more than a marketing term.

When we go to trade shows, people will come up to our booth and ask about our “per node” pricing. I give them a confused look as say that OpenNMS is open source. They will have often come from another booth where they were told that to get all of the features of an “open source” product they had to pay. Thus the fact that I have “open source” on my booth sign now implies to the market that there is some “catch” in order to get the most features out of the product. The term has been diluted and made almost meaningless.

While I wish Bruce the best of luck with his campaign, I’m thinking it’s time to simply come up with a new term. Something with less interpretive leeway than, say, the word “open”.

I’ve suggested to a few friends that we name the new initiative “Uhuru Source”. Taking a cue from the Ubuntu folks, “uhuru” is the Swahili word for “freedom” (and also where Lt. Uhura of Star Trek fame got her name). Uhuru Source would embrace the concepts of free software set up by Bruce and esr so long ago, and mean more than just the ability to see some source code.

OpenNMS Takes Bronze

OpenNMS Takes Bronze

Last year OpenNMS was awarded the Gold medal in TechTarget’s 2007 Product Leadership Awards in the “Network and IT management platforms” category. We beat out HP and IBM for the honor, so we were pretty excited.

This year they didn’t have that category, but OpenNMS did take the Bronze in “Applications and network management“. Not nearly as exciting as winning Gold against two of the big four but we’re still honored to be a winner, and one of only two open source projects to win an award (the other being the most excellent Asterisk, which won the Silver in the “IP telephony systems” category).

All of the other winners have much deeper pockets than our project, yet this demonstrates that a strong community can still create an application that can play with the big guys. It comes from driving the value up the chain from the user perspective, and not top down. Many thanks to everyone who supported us in this year’s survey.

A New Coat o' Paint

There’s an old Tom Waits song that goes “Let’s put a new coat of paint on this lonesome old town” that I hear in my head every time I, well, paint. Been humming it recently.

We’re getting the new OpenNMS training center in shape for next week’s class. It should be fun. We’re installing Linux onto the iMacs, got a nice new projector (1280×768 – not 1080p but a good value for the price) and we’ll put together the IKEA tables and hang the whiteboard this weekend. We got a guy coming in from Trinidad and another from the UK (plus others from the US) so it should be a good class.

For those of you really into interior design, the main walls are done in “Toast” with the accent wall in “Timeless Taupe”. They are both in the family of “tan”. (grin)

OpenNMS and the Google Summer of Code

Things are always pretty crazy around here. I write this blog in the hope that other small companies in general and open-source ones in particular might recognize a kindred soul, or perhaps get a tip or two that may help them in their business. I’m still looking for tips on work/life balance myself, because there simply aren’t enough hours in the day.

The key, obviously, is to set priorities. I think that’s true of any business, but I have no problem in stating the obvious. Since the goal of OpenNMS is to become the de facto enterprise management framework, our priorities must be set to help us realize that goal.

I have said from the beginning that the key to the success of the OpenNMS Project will be its community. That’s why it’s run by the OGP and not the OpenNMS Group, and why 100% of the OpenNMS code is free. That may not be the quickest way for me to make a whole bunch of money, but in the long term this is the best way to reach our goal, and in the end the money should follow.

Some would say as the CEO of an open source company, I should do things like hang out with all the “open source gurus” in San Francisco at conferences. Well, I guess I suck at being the CEO, because I think we should be focusing on the next crop of open source gurus.

Which is why I am so excited about the involvement of OpenNMS in the Google Summer of Code project. A lot of credit goes to Ben Reed for doing most of the legwork to get us considered, and most of the OGP has volunteered to be mentors.

This is our first year as a participant, and we hope to do some great things as well as interest more people in becoming involved with OpenNMS. It’s humbling to be in such great company as the other GSOC projects, and we plan to make the most of it.

We’ll be using the opennms-devel mailing list to coordinate once we get underway, and of course there is a wiki page about it as well.

2008 OpenNMS European Tour

As I have mentioned a number of times before, the commercial side of OpenNMS has yet to accept any outside funding, yet we survive by being profitable. Basically, this means “spend less than you earn”. We also try to get the best value for our money when we do have to spend it.

David and I need to be in Europe in May, and in order to get the most value for the somewhat expensive airfare we decided it would be cool to visit some of our European customers and partners, and perhaps along the way we could hold a few day-long seminars on OpenNMS. Intra-European travel is actually pretty inexpensive (trains, Easyjet, etc.)

The seminar is called “A Day in the Life – An OpenNMS Use Case”. We have created the following scenario:

A company is getting ready to release a new web-based application. It will rely on a number of servers (web, database, etc.) as well as networking equipment. This seminar will cover how to monitor that application using OpenNMS, from install, through discovery to configuration and troubleshooting.

In order to cover our costs, we will be charging €250/student for the day long course.

We are looking for places to hold this training. We’d need a room big enough for, say, 10 people, a projector for slides, and (optional) an internet connection for demos. If you have such a place and would like to host this seminar, you can send two people for free.

We arrive in the UK the weekend of the 10th, so we are hoping to hold a seminar in London on that date if we can find a sponsor. We are also trying to line up sponsors elsewhere. The tentative schedule is as follows:

12 May: London [Confirmed]
14 May: Frankfurt [Confirmed]
15 May: Milan [Confirmed]
16 May: Apeldoorn, The Netherlands [Confirmed]
19 May: Geneva [Confirmed]

The Geneva date and location is the only thing that is confirmed at the moment. I’ll update this post when we know more. The two places we are in real need of a sponsor would be London and France, as we are in talks with people at the other locations. There may also be a trip to Norway in the works toward the end of that trip.

I am hoping that we can use this opportunity to provide some training to folks who can’t make it to the US, as well as to meet (and in some cases meet again) OpenNMS users in Europe.

Please drop me an e-mail if you would be interested in sponsoring one of these seminars or if you would like to attend.

2008-03-16 Update: The location and date for The Netherlands is confirmed.

2008-03-18 Update: The locations for Frankfurt and London are confirmed. More details soon. Also, I screwed up on the dates and had to shift them out by one.

2008-04-02 Update: Registration is now open. Space is limited.

The Year of Integration

John Willis mentioned (in a nice way) that I tend to ramble on a bit in my posts and he sometimes misses “the point” so I thought I’d put it right up front. Today Hyperic and OpenNMS are officially announcing an integration between our products. This is exciting, as I am a fan of the Hyperic agent, and this was also a truly cooperative effort on the part of both groups.

But as I am a ramblin’ man …

Back in the early to mid 90s I started to get involved with HP’s OpenView product suite. The main reason was due to an independent users organization called the OpenView Forum (OVForum). The “open” in OpenView didn’t mean “open source” of course, but it did mean that HP focused on having a lot of APIs to make it easy to integrate with their products. For example, the dominant language of administrators at the time was Perl, and these API’s allowed Chip Sutton to create a whole set of Perl libraries to interface with OpenView, totally separate of any official involvement with HP.

This created a whole community around the product and encouraged people to create new functionality, which caused OpenView to become, and some would say remain, the main enterprise management framework.

Unfortunately they couldn’t leave a good thing alone, and HP started to use this community as a sales channel. We were already the best sales channel they had. The Compaq acquisition was the beginning of the end for OpenView as there were several years where it was obvious the OpenView product group was being ignored, and people went on to look for alternatives.

My plan for OpenNMS has always been to replace the OpenView of the 90s with an open source framework that would go beyond what OpenView was able to provide with their proprietary software model. I saw how well it thrived under the OVForum and figured an open source community could be even stronger and more vibrant.

To this end OpenNMS has tried to cover a broad spectrum of management tasks while providing a large number of integration points into the application for other vendors to leverage.

One of the things that differentiates the business model of OpenNMS from a proprietary software company is that quite often the features we choose to develop are driven directly by the end users of the product. We don’t sit around a big conference table wondering what to develop, customers come and tell us. About 40% of the revenue of The OpenNMS Group comes from custom development and 100% of that is put back into the community.

We have done a number of integration projects in the past. The first one that comes to mind was a way to send notifications to Request Tracker (RT). Rather than build RT-specific code, a more generic HTTP notifier was created which allows OpenNMS to interact with any web-based tracking system.

Then a client wanted something more robust, so we developed a Trouble Ticket API class that can allow for integration solely using configuration files. The work was originally done to communicate with CentricCRM (now Concursive), but this was soon extended to work with Jira.

Late last year one of our largest clients approached us about an integration with Hyperic HQ. When Hyperic announced that they were going to open source their code, I wasn’t that thrilled about it. Luckily the people at Hyperic are really cool and we started meeting at various trade shows. I learned that our two products don’t really compete but are very complimentary. The focus of Hyperic has always been to provide a high level of systems and application management. Through the use of their agent, not only can they detect problems but they can perform actions to correct them. OpenNMS, being agent-less, is more passive, although we can aggregate information from a wider range of sources. It’s a really good match.

This required a lot of research into the best way to perform the integration, as well as having Hyperic integrate some code into their product to make things smoother. This they were eager to do and it was fun working with them.

For the full details, check out the white papers section of the wiki, or directly access the PDF. There will also be a webinar on March 11th hosted by Hyperic.

On our IRC channel (#opennms on freenode.net) we often have fun with the topic. In 2006 I declared “2006 – The Year of OpenNMS” and we won an award. In 2007 it was “2007 – The Year of Four Releases” and we managed six. This year we have been hunting around for a new “Year of”.

Perhaps it should be “2008 – The Year of Integration”.

What Ever Happened to Network Management?

I’ve been doing network management for a long time. Old timers like me and John Willis remember when the “Big 4” not only made exciting products, they were the only game in town (although some will disagree with the “exciting products” bit)

Coté sent me a link today to an article entitled “What ever happened to network management?“. It was by Dennis Drogseth, a pretty respected analyst that I happened to meet a couple of years back in those halcyon days where you could get a six-figure salary for spelling SNMP.

He starts off with a short history of the management marketplace circa 2000 and how most of those players have been acquired by larger companies such as EMC, CA and IBM. To me the money quote was:

In many of these platforms, politics have gotten in the way of effective integration, leaving network management and its potentially transcendent technologies (analytics, discovery, etc.) in a virtual limbo between foundation and stepchild.

I used these products and can attest to the “political” aspect that is a large part of deploying them. This is not cheap software. I can remember one US$500K Concord deal for a national bank where it turned out that Concord’s Network Health was exactly the wrong solution, but no Director drops a half a million of corporate money and then admits he made a mistake.

I happen to know what happened to network management: it went open source. Network management at scale has always been such a complex problem that solutions were made up of a combination of software and consulting expertise. Consultants like myself want to do what’s best for our clients, and the politics of the commercial frameworks sometimes prevented that, or at least made our jobs harder. Open source offers us a plethora of software tools to use in our solutions. While I am partial to OpenNMS of course, if it doesn’t fit a particular environment another open source tool can be deployed. Without the huge licensing fees, a decision can be made with far less politics and far less heartache should it turn out to be the wrong one.

There is always the question of whether or not open source software is ready for the big time. I’m hoping that question is slowly being put to bed. When TechTarget interviewed 1300 of its readers and asked what management platform they used, the answer was OpenNMS, followed by products from HP and IBM. With OpenNMS, system management tools like Hyperic and configuration management from Ziptie providing real alternatives to expensive commercial solutions, the consultants who drove adoption of those solutions now have other options.

Dennis doesn’t mention open source at all in his article. Perhaps five years from now he’ll write an article entitled “What ever happened to closed source network management?”.

Announcing OpenRusso 2.2

Well, yesterday wasn’t a very fun day. I prefer to focus on the positive and even though it is required of me to deal with the negative I don’t enjoy it. If it was just me I might have been tempted to chuck this whole thing and get a real job (grin).

Luckily, it hasn’t been just me for several years now. Without working up a sappy “wind beneath my wings” vibe here, the community around OpenNMS makes days like yesterday worth it.

By the community I don’t just mean the OGP (although they are a significant part of it), I mean anyone who runs OpenNMS and finds it useful.

At the end of the day I received two little presents that made my mood a bit lighter.

The first was on our IRC channel (#opennms on freenode.net). Ethan (foo’ on the channel) from Checkfree popped in to ask a question. I thought it was cool, since I used Checkfree back around 1992-1993 well before you could do it through your bank directly (and even now they form the basis for a lot of those systems). He wrote:

“I’ve put OpenNMS in place to monitor all of CheckFree’s IP based Telecom systems. It monitors systems all over the world, and does a very good job at it :)”

That was pretty cool to hear. Often we don’t get feedback on who is using OpenNMS and whether or not they like it (trust me, when you deal with bugzilla and support issues all day you can sometimes get a little down on the product).

The second thing I received was (finally) a picture of Salvatore.

Salvatore Russo was born at three minutes to midnight on 11 February 2008. He is the son of Antonio and Roberta Russo. Both baby and mother are home and are fine. He joins his sister Valeria (OpenRusso 2.0) and brother Gabrielle (OpenRusso 2.1) at their home in Naples, Italy.

Antonio is the project ambassador in Italy. He maintains the OpenNMS wiki in Italian, as well as moderating the opennms-italia mailing list. He is also a good friend and a great cook, who I never would have met if not for OpenNMS.

So last night I closed the laptop, poured a couple of fingers of some Bushmills that Craig Gallen gave me awhile back, and drank the first toast to Salvatore. The second was to OpenNMS. Here’s looking at you.

Fire-Retardant Underpants

I woke up this morning to find out that my Slashdot post had been accepted, as well as an e-mail from a friend saying “I hope you’re wearing your fire-retardant underpants today…”

I learned early on that to do open source you need a thick skin (there are hundreds of critics willing to tell you what *you* should do), so I was pretty prepared for the usual raft of somewhat negative comments to my post. But, hey, Bruce Perens (or someone posing as him) actually replied. That’s pretty cool.

Most of the comments advised “Get A Lawyer”.

(sigh)

I don’t want to involve lawyers. Why is it in this country the first knee-jerk reaction is to sue someone. Yes, I did post it under “The Courts” but that is because there wasn’t a better category on Slashdot. There was no “licensing” or “open source” category to choose, so I went with that one.

A lot of people pointed out that there are several references on the Cittio website that mention open source projects like OpenNMS. I was aware of them. My point in the original post was that a potential Cittio customer was totally unaware of their rights under the GPL. Part of the license is “you must show them these terms so they know their rights.” (GPLv2, Preamble) The exact timing of this would be up to the individual company, but my guess is it would have to be before reaching the quote stage. Sure, you don’t have to distribute the actual source code until ownership changes hands (i.e. I can’t demand a copy, only a customer can) but I can’t see where the license requirements for full disclosure can be upheld by revealing the information after the fact.

Note that this is not a one time thing. We have talked with other Cittio clients and potential clients in the past and they tell a similar story. This was the first time, however, that the person was actually concerned about it. I didn’t screw up on the quotes with the statement “That really irritates me” – that came from the client.

This came on the heels of a post on the opennms-install list from a Cittio developer (anonymously) about very recent OpenNMS code. The Cittio site claims they use OpenNMS 1.0.2, which to be quite frank is damn near unusable these days. While it isn’t proof that they are modifying OpenNMS code, it is enough to suggest it.

Which brings me to the open source double standard.

Open source projects are constantly under scrutiny for the potential to incorporate “non-free” code into an open source project. This is very easy to pursue, since the code is out there for anyone to see. Proprietary companies, on the other hand, can easily hide behind binaries. It is very hard to deliver proof that someone has used your code. With all of the amazing stuff being done in the open I can guess that the temptation to use open code in a closed application is strong, especially since the chance of getting caught is slim. I am *not* implying that Cittio in particular does this, but I could see it happen in general.

One might say (as many Slashdot readers did) that this is the domain of the Free Software Foundation (of which I am a member) and its legal arm the Software Freedom Law Center. I tried that route. In 2005 I got an e-mail from Daniel Ravicher that stated “SFLC unfortunately cannot generally represent for profit entities, as such could jeopardize our not-for-profit status.” As the initial code base for OpenNMS is copyright Oculan and most of the rest is copyright The OpenNMS Group (both for-profit companies) they can’t help. We are exploring ways to deal with this, but for now the SFLC can’t help.

This problem raises a number of questions for me, and I think points out a weakness in the GPL. The reason the copyright to OpenNMS is held by a number of entities is due directly to the collaborative nature of the GPL. Suppose Joomla!, a fork of Mambo, modifies under the GPL some original Mambo code, and a third party takes it and uses it in violation of the license. Does Joomla! have any right to pursue action against that party, or do they need Mambo’s permission? It’s very unclear to me.

My favorite comments were those that implied that Cittio would sue me for libel. Again, my bad for asking for advice on Slashdot, and I expected as much. Libel can be defined as “the communication of a statement that makes a false claim, expressively stated or implied to be factual, that may harm the reputation of an individual, business, product, group, government or nation.” I made only two claims:

1) A potential Cittio client that had reached the negotiation/quote stage was not fully aware that OpenNMS was being used as part of Watchtower.

2) A Cittio developer was anonymously asking questions about fairly recent OpenNMS code.

Neither of those are false. These two facts raised doubts within me about whether or not I could take Jamie Lerner at his word that Cittio was obeying the GPL, and I invited Cittio to set the record straight.

It’s not libel.

One has to remember that in 2002 Jamie Lerner contacted us about a commercial license for OpenNMS. We told him there wasn’t one and probably wouldn’t ever be one, yet he went on to use OpenNMS anyway. In 2005 we revisited this and he again assured me that Cittio was just using OpenNMS 1.0.2 and was in no way violating the GPL. This resulted in the few references to OpenNMS that can be found on the Cittio website, but no real details as to how the integration was accomplished. Per the GPLv2 FAQ:

The difference between this and “incorporating” the GPL-covered software is partly a matter of substance and partly form. The substantive part is this: if the two programs are combined so that they become effectively two parts of one program, then you can’t treat them as two separate programs. So the GPL has to cover the whole thing.

If the two programs remain well separated, like the compiler and the kernel, or like an editor and a shell, then you can treat them as two separate programs–but you have to do it properly. The issue is simply one of form: how you describe what you are doing. Why do we care about this? Because we want to make sure the users clearly understand the free status of the GPL-covered software in the collection.

What I want to know is how “well separated” are OpenNMS and Watchtower?

Outside of spending a bunch of money on lawyers, which I didn’t want to do, I figured I could just appeal to the community. Slashdot seemed like a perfect choice, and as Bruce Perens pointed out “You’ve achieved your desired goal”. As I’ve mentioned a couple of times, I welcome Cittio to explain how they integrate with OpenNMS, how they tell clients and potential clients about the open source tools they use, and how they distribute the source code. Perhaps this was all a big misunderstanding.

Note that I’m really not doing this as part of my day job. The OpenNMS Group is a services-only company. We don’t sell software and so the potential loss of a client to Cittio is pretty much a non-event as far as our bottom line is concerned. But I felt compelled to do this for our community. It would be just plain wrong for a company to take their work and to attempt to profit from it, so I look forward to Cittio putting all of our doubts to rest.

I was really surprised at the small amount of Slashdot comments with, for lack of a better word, “righteous indignation” at a possible GPL violation (although we did get support from unlikely corners). Perhaps we in open source are really in our own little world, and stuff like this doesn’t matter to the world at large. Well, it matters to me.