Does Monitoring Really Suck?

I’ve been seeing the phrase “monitoring sucks” lately. Recently, Kris Buytaert organized a “monitoring sucks” hackathon after FOSDEM, and in a similar vein Cliff Moon, the CTO of Boundary (a monitoring service provider), also posted a “Why monitoring sucks – for now” article.

Working with OpenNMS as I have for the last decade, I really can’t share the sentiment that things suck. Having spent the decade before that as a consultant working with products like HP’s OpenView, Micromuse NetCool, Concord Network Health and BMC’s PATROL, we set out with OpenNMS to build the best tool for consultants like me – something that combines the functions of all of these products under one umbrella, with the ability to quickly and easily expand that functionality as needed. That’s why you’ll hear me refer to OpenNMS as a network management application platform instead of just an application.

OpenNMS has been addressing a lot of the concerns raised in Mr. Moon’s article for years now. Unlike point products that focus on data collection or service monitoring or trending, OpenNMS does all of them in one package. It also includes functions, such as inventory, that aren’t usually addressed in a monitoring solution. With easy, API-level integration with trouble ticketing systems (Request Tracker, OTRS, Jira, etc.) and configuration tools like RANCID, OpenNMS can be easily expanded as a given network environment grows.

We realized a long time ago that traditional alerting mechanisms were broken, so in addition to such staples as “high” and “low” thresholding, we added “relative” and “absolute” options as well to better detect anomalies. The built in alarms subsystem allows for complex automations to be created, and the event translator does a great job of enriching basic events with information such as customer impact. Finally, with 1.10 we’ve resurrected and improved the OpenNMS integration with Drools, where extremely complex analysis can be built into the system to streamline alerting. This is a key feature that led Juniper to license OpenNMS as part of their JunOS Space management product.

But I have to ask myself, if OpenNMS is so cool at solving management problems, why do people still think things suck? I can think of two reasons, although I’m sure that there are many more.

The first is that OpenNMS is written in Java, and a lot of those in the “devops” world either have no Java experience or they are prejudiced against it. The second is that OpenNMS is a seriously complex platform, and unlike some of the point products mentioned it really does take an investment of time to get the most out of it.

I can’t do much about the former issue, and history seems to have demonstrated that if people are prejudiced enough against a better solution they will eventually get left behind. I’m not saying that Java is great or even that Java is better than other options, but in many cases OpenNMS is better than the options and if Java is what’s keeping you away from it, then that’s a shame.

But the second issue I can address, and we hope to do so this year in a number of ways. The best way to help people climb the learning curve with OpenNMS is in education, and we even delayed the release of OpenNMS 1.10 in order to get the documentation to a much higher level than it has been in the past. Also this year we are having a couple of users conferences focusing on addressing real world and real time solutions, as well as increasing the number of our training courses. Finally, I hope to put together some videos to jumpstart those interested in coming up to speed with the platform.

So if you think monitoring sucks, please check out OpenNMS. Perhaps we can change your mind.

Ubuntu's HUD

I am on the road this week (shout out to Boise) and it is the first trip I’ve taken where I’m spending almost all of my time on my Macbook Air since upgrading it to run Linux.

I’ve been pretty happy with it. Wireless works fine, and while I sometimes struggle with nvidia-settings when trying to run an external monitor, I haven’t hit anything where I had to boot back into OS X, at least for very long.

As someone who has decided to run Linux on the Desktop, I am very eager for news on the future direction of such things. I noticed today on Mark Shuttleworth’s blog that he was announcing a new feature in Ubuntu called the “Heads Up Display” (HUD).

The idea is simple – instead of a hierarchical menu have an intelligent search box that learns what you use the most, and can use “fuzzy matching” to help you get to what you want fast. Once it is considered ready for prime time, I’ll probably check it out.

However, there were a couple of things about his post that bothered me. First, he wants to add voice recognition. While that is all well and good, I must be the only person on the planet who doesn’t want to talk at his electronics. Sure, I love being able to dial my mobile phone by voice when driving, but I don’t want to have to speak “Find Nekkid Pictures of Scarlett Johansson” into my browser. I experience so many people on cellphones creating noise pollution that I don’t want to have to deal with it in other aspects of technology. While this probably won’t be the default for most devices, I am still not as excited about it as Mark seems to be.

Second, nowhere in his post did he mention Gnome 3 as an inspiration. I’ve been using the much maligned desktop for awhile now and I love it. When I need to run a program I simply drag my mouse into the upper left corner of the screen and type in the name of what I am looking for in the “Type to search” box. Now it isn’t smart or fuzzy, but it gets the job done and seems to me to be very similar to HUD.

I especially liked Mark’s comment “Instead of cluttering up the interface ALL the time, let’s clear out the chrome, and show users just what they want, when they want it.” which is very similar to what I wrote about Gnome 3: “It gets me to where I need to be, and then it gets the hell out of the way.”

As someone who doesn’t plan to leave the linux desktop, I am excited when improvements like HUD are being implemented. In the ecosystem that is open source, the great ideas will propagate, and if HUD takes off I would expect to see something similar in other offerings.

Some Thoughts on SOPA/PIPA

It is doubtful that anyone who actively uses the Internet missed yesterday’s protest of the SOPA/PIPA bills now before congress (well, at least PIPA, I do believe SOPA has been stalled in the House but not killed outright).

I am, of course, against this legislation, but more due to the fact that I doubt the US Government would understand the Internet enough to correctly enforce it versus wanting to support piracy. Last year saw a US congressman lose his seat because he was clueless when it came to understanding how information on the network is made available, and my belief is that he was probably one of the better informed politicians. SOPA and PIPA go much farther than, say, legislation like the Digital Millennium Copyright Act (DMCA), and there have been several notable abuses of that law (such as its use against Dmitry Sklyarov) that one can only imagine the horrors that would be unleashed.

I read a number of commentaries about these bills, including the one by Scott Adams and the one by Wil Wheaton, who both produce creative content and are against SOPA/PIPA (although for different reasons).

My take on the whole thing is that it is not a effort to protect the content industry from piracy, but instead it is an effort to protect a dying business model. Promoting entertainment, in the forms of music, video, books, software, etc., is both very profitable and controlled by a small group of people. It used to be necessary to have a studio, record company or publishing house manufacture and promote an artist’s work, but with the advent of the Internet both the cost and need of these industries has diminished. They used to be a necessary evil, and it appears that in the interest of greed they often screwed over the people who actually created the content (see Hollywood Accounting on Wikipedia). Now that they are becoming unnecessary, they are scared, and since we are talking about billions of dollars here, it is doubtful that they are going to go gently into that good night. They want to lock down and control distribution again, and one way to do that is to create legislation that lets them go after any site that displeases them, preferably with as vague and nebulous rules as it is possible to create.

Most people hate change (I think I am one glaring exception) as it tends to cause some friction and stress. In every great transition: from the telegraph to the telephone, from the horse and buggy to the automobile, from radio to television, even from closed to open source, there are those that want to hold on to the old way. But no matter how long it is delayed, change is inevitable, and it is often better to adopt early then to fight it.

That is why I always applaud when I see artists attempt new models. Bands like Radiohead sell directly to their fans (the biggest fear of the record companies) and performers like Louis CK are able to produce and distribute their own films. Those are examples of how the Internet changes distribution, but what really gets me excited is when business models change. Randall Monroe makes a free web comic, and he is able to make a living at it (it does help when the work is brilliant). Likewise, the band Phish makes money touring (even inviting fans to record and distribute their performances) in addition to record sales, and acts like Jonathan Coulton offer certain bonus “bundles” in addition to the music itself.

In the case of SOPA and PIPA, we’re lucky that it impacts a number of companies with as deep pockets as the media industry. The next time we might not be as lucky. The price of our freedom is constant vigilance.

OpenNMS in China (update)

Final Update: We asked a client of ours who speaks Chinese to look at this, and this is his reply:

It’s graduation project composed by students in Tungnan University. I think the video shows they were doing oral defense for their graduation project.

So it’s Taiwan, not Japan, and it’s a student project – cool.

[Note: Google initially told me this was Japanese. I now have confirmation it is in Chinese, so I have updated this post]

During this holiday, Markus made an interesting discovery on YouTube:

It appears to be a long presentation in Chinese on OpenNMS. At the moment we don’t have any official partners in China, so it was cool to see someone take the trouble to put on this demonstration, complete with OpenNMS logo gift bags.

It has been a long time since I was in China, and I didn’t go for OpenNMS so I don’t know any of the people in this video. I must admit that the CEO in me is a little nervous about the use of our trademark, but overall anything that promotes the team’s work is a Good Thing(tm).

If any of my three readers can shed some light on what’s going on in this video, I’d appreciate it.

Some Props for Gian at Microsoft

It is rare that you hear the terms “open source” and Microsoft in a favorable light, but Microsoft has always been helpful to the OpenNMS project. One way they do this is by providing us with a subscription to the Microsoft Developers Network (MSDN).

When ours expired this year, Gianugo Rabellino, Senior Director of Open Source Communities (who I met in person at this year’s OSCON) jumped right in to get it renewed. In his words “Ask and ye shall receive”.

One might wonder why we would bother with supporting OpenNMS on Windows, but a quick look at our page stats from the last week shows that the Windows installation page is the third most popular one on the whole site.

We are currently working on a project to make OpenNMS support on Windows even stronger, and that wouldn’t be possible without an MSDN subscription.

Steve Jobs

I’m in Europe at the moment. I love visiting here, but the lack of easily accessible Internet access outside of my clients’ offices is frustrating. For example, this week I have the option of paying 5€ per hour for crappy hotel wi-fi limited to ports 80 and 443, or, thanks to my client, a somewhat okay connection via a Vodafone UMTS USB modem. Since I want to limit the amount of traffic that they get billed for, I only use it to check e-mail, and sporadically at that.

I just arrived at the office and learned that Steve Jobs has died.

I am saddened, of course. He was only 56, eleven years older than I am now.

I figured I’d try to capture my feelings while they are still fresh.

My first computer was a TRS-80 (model 1, ‘natch) which put me squarely in the camp opposite the Apple ][ fans. The reason I had a TRS-80 over an Apple was simple – there was a Radio Shack in my small town. I did have some exposure the the machine, and I especially liked the fact that the cover popped open and you could see inside it. While I spent a lot of time inside my TRS-80, I immediately voided the warranty when I did it.

My path did not cross Apple’s again for several years, when a friend of mine bought a Mac Plus. This would have been around 1986. He taught me how to use the interface, and I was impressed by the quality of the documents I could output from the machine. However, being a DOS/Windows user, I was often frustrated by the lack of a command line interface.

In 1988 I started working for Northern Telecom, which was a Mac shop. I think I had a Mac IIcx on my desk, but I forget the exact model. This was one of the first machines I used that was networked – not quite to the Internet but definitely to other machines within the company.

These were the twilight years for Apple. The machines were pretty, but they were expensive and prone to viruses. A friend of a friend was the Apple rep for Nortel, and I can remember that Terry came in one day to demo some new machines and he spent two hours disinfecting them.

Once I left Nortel, I didn’t work with Apple for a long while. I did date a woman with a (at the time) screamin’ SE/30, but I used it mainly to play games (Fool’s Errand, etc.).

Flash forward to January of 2003, and I started seeing all of these things called “Powerbooks” showing up at the local LUG. My company was doing well, so when the 12″ Powerbook was announced, I bought one along with an iPod.

I was hooked.

Here was a machine with a strong Unix base but an easy to use interface. Here was a machine that I could use to run all of my favorite open source software but I could also get a decent printer driver from the vendor. It even made me nostalgic for that old, original Mac, so when I saw one on its way to the dumpster, I rescued it and made it whole again.

Since then, I’ve been a Mac user and fanboy. None of this would have been possible without Steve Jobs.

He created great things, but what I like the most is that he showed it was possible for one person to make a difference. While my team doesn’t work along the dictatorial style he was known for, we are much smaller than the companies with which we compete. Steve showed that it was possible to successfully compete against giants. He took a company on the verge of bankruptcy and turned it in to the most profitable company in the world.

I couldn’t be honest with myself if I didn’t remind my three readers that I am parting ways with Apple. With its amazing success, Apple is moving in a direction that I don’t agree with. I am much more excited at the moment about the pending release of Ubuntu 11.10 (Onanistic Olifant) than I am about the iPhone 4S. I don’t like where Apple is going, but that should not take away from where they have been.

The best comment I’ve read so far is that Steve Jobs made it possible to have an emotional connection to technology. As I write this on a Macbook Air, I am not thinking about OS X or licensing, but I am imagining I am having a conversation with a few old, good friends about the passing of another. Steve, in part, made that possible.

I admire Steve Jobs, but despite his success, I would not have wanted to be him. Fifty-six is way too young. To quote Woody Allen, I don’t was to achieve immortality through my work, I want to achieve it through not dying.

So long Steve, and thanks for all the tech.

On the Nature of MySQL Closed Extensions

Matt Raykowski pointed out a couple of notes about the recent announcement by Oracle that it would begin supplying closed source extensions to MySQL, which it acquired when it bought Sun Microsystems (such as this one from Simon Phipps and this one from Monty Widenius)

I can’t say that the move surprised me, but I’ve been busy teaching this week and am newly obsessed with De Rerum Natura by Lucretius, which was rescued from obscurity by Poggio the Florentine when he found a copy at a Benedictine Abbey in Fulda, where I happen to be.

I believe I have tracked down that abbey, so I am now free to once again bore my three readers by discussing the open core business model.

First, when it comes to Oracle, one must surely realize that they are a commercial software company and their customers consist of people both used to and comfortable with buying proprietary code. I don’t really see this move as “open core” since Oracle has never, to my knowledge, described itself as an open source company. Instead, they join the ranks of Microsoft, Google and Apple who sell proprietary products based on open source code. There is no market confusion here, as the vast majority of companies who buy these products realize that they are buying commercial software.

I think it is more interesting to examine the role of commercially licensed software within the realm of an open source business.

To use MySQL AB as an example, I had no problem with the company both providing MySQL code under an open license as well as selling it under a proprietary license so it could be imbedded into commercial products. As long as all the bits are the same, I think it is a great way to fund open source development. We offer the same model with our “Powered by OpenNMS” program.

The problem arises when features are withheld from the “open” version. One of the powerful aspects of open source software is that the community of users and developers around it allow it to develop rapidly. OpenNMS is able to compete with products that have yearly R&D budgets in the tens of millions, mainly because features can advance rapidly due to a large, disparate development community.

This “withholding of features” is a key part of the open core model. It doesn’t work, and it is why open core companies are running away from it as fast as they can. Take Hyperic for example. Just recently on their messaging boards came a post asking about the next community release, since the “enterprise” release has been out for awhile now. Because the software has this separation, someone has to make the decision on how much of it to release as open. Thus, the decision on how to manage, test, distribute and improve the code has been removed from the community and placed in the hands of the vendor. The code is hidden until the vendor decides to release it, which all but removes the advantage of having it as open source in the first place.

Again, to contrast that to OpenNMS, anyone with access to the Internet can get to our git repository and see the latest and greatest code whenever they want. If they want to run our next stable release before its time, they can download testing (the next point release), unstable (the next major release) or snapshot (the raw, unrefined, latest code) which are built nightly.

The second major issue when talking about the role of commercial software within an open source business is the topic of copyright assignment. MySQL required that developers contributing code assign the copyright to them. Only the copyright holder can set the terms of the license, so Oracle would not be able to create a proprietary version of the MySQL database without it.

At OpenNMS, the discussion was lengthy when we were deciding on a copyright assignment strategy. We had been stung by the fact that a company had taken our code and turned it into a commercial product in violation of the license, and when we pursued legal action, that company’s response was that if they were using the OpenNMS code, it was from an earlier version to which we did not own the copyright. Now that The OpenNMS Group holds the entire copyright to OpenNMS, it makes such issues easier to defend.

We adopted, at the suggestion of DJ Gregor, the Sun contributors agreement, in which the copyright is assigned to the project but the contributor also maintains copyright.

There is one huge positive to this and one minor negative.

The positive is that the contributor retains ownership of their work. Think about it – supposed you wrote some part of MySQL and assigned the copyright to MySQL AB. Now you want to improve that code and submit it to another project. Since MySQL owns the copyright to the original work, you are bound by whatever license under which it is published. If it was published under the GPLv2, you wouldn’t be able to submit it to a project licensed under GPLv3 without express permission from MySQL. You don’t own your own work.

In the case of “dual copyright”, you still maintain ownership and you can license it any way you want.

The negative is that dual copyright may not be enforceable around the world, and it has not, to my knowledge, been tested in court. But this was the same FUD spread about the GPL in the beginning, and numerous court challenges have upheld the license’s validity. I am confident that should this ever be tested in court, it too will be found valid (just as if, say, William Gibson and Bruce Sterling decided to write a book together, they could each share in the ownership of the final product).

Publishing all the bits under an open source license (even if they are also sold commercially) and having a permissive contributors agreement that favors the developer are key to being successful as an open source business.

I’m afraid I have little sympathy for the developers of MySQL. They took their 40 pieces of silver when they sold themselves to Sun for US$1 billion. At that valuation, they had a ton of options, including an IPO, but somewhere along the way they made decisions that eventually led to Oracle owning the project.

I think this is more a lesson in foresight versus some strange and unexpected strategy by Oracle.

And Who Says Nixon Is the Only One Who Can Go to China?

Please forgive me if this post is a little spacier than usual, but I was up from 2am until 6am this morning doing an upgrade at a client site.

When I came into the office, everyone was talking about a project Ronny Trommer spotted on Sourceforge called YbmNMS.

It appears to be a Chinese fork of OpenNMS.

I am always amazed at where our code ends up, and I think it is pretty cool that someone in China is using it. While I visited China in the 1990s (Guangzhou and Chengdu), I haven’t been back since, and we don’t have any commercial support customers in China.

I always worry, however, about whether or not projects that use our code obey the license. The code for YbmNMS seems to be hosted as the “Netcools” project on Sourceforge, and it appears that all that has been done, with respect to the copyright, is a global search and replace on the string “OpenNMS” and substituting “YbmNMS”.

From one file:

// YbmNMS(R) is Copyright (C) 2002-2005 The YbmNMS Group, Inc. All rights reserved.
// YbmNMS(R) is a derivative work, containing both original code, included code and modified
// code that was published under the GNU General Public License. Copyrights for modified
// and included code are below.
//
// YbmNMS(R) is a registered trademark of The YbmNMS Group, Inc.

Considering that not all of our code is there, YbmNMS may be focusing on just that functionality that is similar to IBM’s Netcool product, hence the Netcools name.

I tried to send an e-mail to the “mailto” link on their website (ybmnms@ybmnms.com) but it bounced, so I sent a note to Yin Bangmin to learn more about what he is doing and to get the copyright notice corrected.

“The only thing worse than being talked about is not being talked about.”

-Oscar Wilde