A Funny Thing Happened on the Way to the Internet …

This morning, as I was browsing through my RSS feeds, I saw an article on Cult of Mac about the VLC media player being removed from Apple’s App Store.

The VLC project is one of those amazing examples where open source is demonstrably better than commercial software. You’d be hard-pressed to find a better media player. Quicktime? Not even close. You have to add Perian just to be able to come near supporting the number of formats VLC can. It seems it would only be a matter of time before someone wanted the power of VLC on iOS, and a company in Paris did just that.

The problem is that VLC is published under the GPL, and Apple’s policies, such as limiting a particular download to just five devices, go against that license. One of the contributors to VLC, Rémi Denis-Courmont, took issue and his complaints caused the app to be pulled.

Now, for iOS lovers this is a bit of a blow, since VLC is such a great piece of software. John Brownlee at Cult of Mac was upset about it, and he posted a pretty vitriolic attack on Denis-Courmont. He also pointed out that Denis-Courmont works for Nokia, an Apple competitor, and thus implied this action might have been driven both by business interests as well as a hatred of Apple.

Most of the true free software people I’ve met encourage the adoption of free software everywhere. Apple wasn’t directly benefiting financially from the inclusion of the software (it was free). Other aspects of the license were maintained, as the developer of the port, Applidium, made all of the sources available. So it is a real grey area as far as the intent of the license goes, but since the GPL expressly forbids adding additional conditions to the license, Apple is indeed in violation, and Denis-Courmont has every right to complain.

I am a fan of Cult of Mac (they featured my original Mac in their 25th anniversary coverage) but I thought Brownlee had expressed his frustration poorly in the ad hominem attack on Denis-Courmont. So I posted a comment pointing it out.

Here’s the funny part, instead of getting slammed by the fanboys, the next three posts agreed with me, and, having had time to chill a bit, Brownlee toned his post way down.

Wow. Calm discourse on the Internet that resulted in a positive change.

How often do you see that happen?

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?

The Prodigal Customer

At The OpenNMS Group, we love our customers, but unfortunately we don’t get to keep all of them. Some drop support due to budget issues. We had at least one client who didn’t renew due to the fact that once OpenNMS was up and running they felt they didn’t need support. But I am happy to say that overall our retention rate year over year is around 93%. While I don’t have any stats to compare this too, I think it’s pretty good.

The first commercial support customer was Children’s Hospitals and Clinics of Minnesota. They purchased support back in December of 2001, when OpenNMS was still managed by Oculan. Last week they renewed for an incredible ninth time, so we have provided enough value that they will have used our services for at least a decade. Rackspace has been a customer since March of 2002, and I think there are few open source companies that can point to that kind of track record.

But I wanted to tell a story about a support renewal that showed up early last month. It was from a client in Virginia who chose not to renew last year. They had been sold on the idea that a commercial solution would meet their needs much better than OpenNMS, and so they decided to go that route.

I’m never happy to lose a customer, but many times I can understand. As a services organization, it does neither us nor the client any good if OpenNMS is not a good fit. OpenNMS is not for everyone – users tend to be well above average in their field and have a honest enjoyment of network management. Sometimes those people are hard to find.

And while we couldn’t exist without the support of our long time customers, I hope I can be forgiven for being just a little more excited about this renewal than most. It is one thing to know that the software you create is worthwhile – it is another thing to have someone who has used it to try alternatives and to come back.

This client was lost and now is found, and that makes me happy.

Welcome to the New Year

It’s hard for me to believe that is it 2011. Not only have we passed two of Arthur C. Clarke’s books without a trip to Saturn or Jupiter, it still seems like yesterday that we were worried about Y2K bugs. I hope to live until 2061 but doubt I’ll make it to 3001 (but you never know). I plan to be around for the Unix time bug in 2038, but of course, by then no one will be using software with that problem so there is little to worry about.

One theory I’ve heard about why time seems to go faster as you get older is that each year is proportionally a smaller part of your life. For example, a year to a 5 year old child represents 20% of its existence, but it is only 2% to a 50 year old person. If I lived to 3001, a year would represent less than 0.1% of my life, or the equivalent of 2 days for the 5 year old.

Trippy.

I was not unhappy to see 2010 in the taillights. While it wasn’t a bad year, it wasn’t great and we experienced some growing pains. On the other hand, I have a great feeling about 2011.

I expect that we’ll release OpenNMS 1.10 in the first half of the year, with the focus being mainly on IPv6 support. Seth has done a great job in refactoring the code to support both IPv4 and IPv6 addresses, and what’s left is a lot of testing as well as adding some IPv6 specific discovery mechanisms. We are also working to improve our Windows support, since believe it or not we seem to generate a lot of interest in the Windows version of OpenNMS.

We are also trying to extend our training to more parts of the world. On the last day of the month we’ll be holding, for the first time, our week long training course in Europe, which will immediately be followed by our first partner certification training. Look for more news about our new partner program next week.

We will also hold training in the US at the Pittsboro, NC, headquarters starting the last day in February. Both courses will have the a module on the new database reporting system based on JasperReports.

I will be speaking at a number of events this year. Next week I’ll be in Atlanta speaking at ATLNSMTUG (pronounced “awkward-acronym-ug”) on the OpenNMS Project. Since the Atlanta NSM Technical User Group is made up of some hardcore NSM nerds, the focus of this talk will be on how we set out to build a better NSM platform and how it compares to products like Netcool, eHealth and Netcool. It will be pretty technical, and I’m buying the pizza, so if you are into that sort of thing please register and I hope to see you there.

I will also be the opening keynote speaker at the inaugural Indiana LinuxFest to be held in Indianapolis on March 25-27th. I was very flattered to be asked to talk, and I plan to present some thoughts on how the open source community actually benefits from all its various groups and factions. I’ve titled the talk “Why We Can’t All Get Along (And Why This Is a Good Thing)” and I hope it lives up to the expectations of the organizers and attendees.

Here’s my sincere wish to my three readers that they had a wonderful holiday, and may all you wish for in 2011 be the least you receive.

Give Some Learnin'

It’s that time of year again, and if you are at a loss for what to give that special network manager in your life, consider OpenNMS training.

(grin)

We have just announced dates for both training in the UK and training in the USA.

For the first time, The OpenNMS Group is able to offer in Europe our full, week long training course on OpenNMS. The class will be held in the city of Reading in the United Kingdom the week of 31 January – 4 February.

In addition, we will be holding our usual USA training in lovely downtown Pittsboro, North Carolina in March.

Registration is now open.

OpenNMS 1.8.7 (stable) and 1.9.3 (unstable) Released

This week we released two new versions of OpenNMS.

Infrastructure

Before I talk about the releases, I want to mention infrastructure. Running an open source project is only partially about the code itself. There is a lot of stuff that goes into managing that code and making it useful.

One major change that has been made is in the build system. OpenNMS depends on a number of outside projects, and the build system was not optimized to deal with different aspects of the code using the same libraries. Since we use maven, a lot of work went in to separating the “build” portion of the process from the “assembly” portion. This should make builds run much, much faster, and for once our Debian nightly snapshots are running (RPM-based snapshots have worked for some time).

Another change is that we’ve migrated from using Bugzilla as our issue tracker to Jira. The folks at Atlassian were kind enough to give us a license, and while we prefer open source solutions, Jira works a lot better with our Agile development methods.

Finally, while this isn’t new per se, for those of you who struggle with managing OpenNMS configuration files, you may want to consider using git. In our classes we teach best practices to make this easier, and combined with git it can be much, much faster to upgrade.

New in 1.9.3

Please remember that this release is the cutting edge of OpenNMS and is probably not suitable for production. There is a lot of work going on in this branch specifically around IPv6 support.

The architecture of OpenNMS is such that adding support for IPv6 definitely will not require a rewrite of the entire software, but there are a number of things that must happen before it can fully support IPv6.

Most of those things have been addressed, including changing the iplike function to deal with IPv6 addresses, and while it is possible to play with this now, it should be easy to explore in the next release.

One of the big issues is how to do discovery, since a particular IPv6 address range can be prohibitively large to scan. We plan to develop different “listeners” that can use wire protocols to discover IPv6 addresses. Of course, the ability to manually configure IPv6 addresses exists already, but it won’t scale to the enterprise.

For full details, visit New and Noteworthy.

New in 1.8.7

OpenNMS is our production, stable release and this version is recommended for everyone.

As such, we try not to make any huge changes that could introduce bugs, so these are mainly maintenance releases with bug fixes.

However, there are some new features. One of my favorite is the SNMP Asset Provisioning Adapter:

http://www.opennms.org/wiki/SNMP_Asset_Provisioning_Adapter

This allows OpenNMS to populate asset fields for nodes using SNMP. It has been around for awhile but since I haven’t mentioned it before now, I wanted to do so.

Also, we are continuously adding new database reports based on our JasperReports integration. We have added the ability to gather data from the JRobin RRD files and to include that in these reports.

As always, we welcome contributions from the community so if you come up with a cool report, be sure to send it in (just open an issue at http://issues.opennms.org)

For more info on 1.8.7 visit New and Noteworthy.

We hope that you enjoy these changes and find value in what we do.

How I Learned to Stop Worrying and Love Canonical

It used to be that Microsoft was considered the antithesis of open source, but now I would claim that Apple represents the opposite of “open” (which is a little ironic considering that the Darwin operating system that forms the basis for Mac OS X is based on BSD). From difficulties in getting software on such devices as the iPhone, to the addition of custom “security” screws on its hardware, Apple is the new icon for monolithic “cathedral-like” development.

Steve Jobs is a master of controlling the conversation, and he has attempted to reframe the “open vs. closed” debate into “integrated vs. fragmented“. There can be no doubt that his “integrated” approach has proven very profitable for Apple (poised to become the most valuable company on the planet this year, passing Exxon) but I don’t believe that his methods are ultimately sustainable. Truly open environments (as exemplified by Andy Rubin’s wonderful tweet in response to Jobs’ comments) can grow and adapt much more quickly than closed systems, and as more people are drawn to them this innovation accelerates.

Part of this may arise from frustration. When the iPad was announced, a friend of mine who uses a Kindle stated that he liked the fact that the Kindle didn’t rotate orientation, so he could read a book in bed on his side without it going into landscape mode. When the iPad came out there was a switch on the side that served as an orientation lock, given the iPad the same functionality.

However, in iOS 4.2, that switch became a mute button, and there is no way to change it. This is extremely annoying to people who use that feature and they have no recourse short of jailbreaking their device.

But the question remains: is it possible to create polished and “integrated” apps using open source? Many people opt for Apple’s products (myself included) because they “just work”. They trade freedom for ease of use, in much the same way that old quote mentions that in a fascist state the trains run on time.

I believe that from the fragmented chaos that is open source, order can arise, but in doing so it needs to adopt some of the methods of people like Steve Jobs. Many open source projects are run by committee. One of my favorite quotes about committees comes from Ferdinand Porsche:

“Committees are, by nature, timid. They are based on the premise of safety in numbers; content to survive inconspicuously, rather than take risks and move independently ahead. Without independence, without the freedom for new ideas to be tried, to fail, and to ultimately succeed, the world will not move ahead, but live in fear of its own potential.”

Now this may fly in the face of what most people think about open source communities, and I’m not saying that every project needs a benevolent dictator, but in any kind of chaotic system order can arise around certain people and ideas.

Take the web, for example. If I am traveling and I want to investigate a particular hotel, there are any number of web sites offering reviews and advice. But I tend to head straight for TripAdvisor. Over the years, that site has built a reputation with me as a great place for information. Even though there is no pay-wall, even though I access it the same way I can access all of those other sites, I go to TripAdvisor.

In much the same way, I expect Apple to start seeing serious competition from solutions based on open source.

To make this happen, the open source community is going to have to come to grips with the idea that certain leaders are going to arise and start making decisions that aren’t popular in order to achieve a high level of integration, where all the apps seamlessly interact and have a similar look and feel. One such person is Mark Shuttleworth of Canonical.

I doubt anyone reading this is unaware of Mark Shuttleworth. I first became aware of him when these “Ubuntu” CDs started appearing like mushrooms after a summer rain a few years back. At a time when the Linux desktop was considered to be all but dead, he put his energy and considerable resources into a new distribution based on Debian with a focus on the desktop experience.

While I rarely see a Linux laptop that isn’t running Ubuntu, Shuttleworth’s efforts have not been without criticism. He decided to include non-free, proprietary drivers in Ubuntu in order to make the user experience easier. There have been some claims that Canonical doesn’t contribute back to the communities of the software they use.

The most recent controversy arose when it was announced that future releases of Ubuntu would use the Unity desktop instead of being based on GNOME.

I got the idea for this, now increasingly, long winded post when I read a note on Jono Bacon’s blog about the need for respect in open source communities. Jono is the community manager for Ubuntu and a Canonical employee, and I can’t help but think that his post arose from the Unity decision.

I think it is quite natural for people in the open source community to be a bit wary of Canonical. There are a lot of people out there who want to exploit open source and even I have wondered about Shuttleworth’s motives. I’m always suspicious of altruism (at least the in the business world) and considering the millions of dollars that Canonical has put into Ubuntu I think we are all waiting for the other shoe to drop.

But, you know, it really doesn’t matter. It’s open source. This is the main reason, while Shuttleworth may create things as good a Jobs, that he will not become the next Jobs. He could decide to change the orientation lock button to a mute button, but it would then be a simple matter to change it back, or at least make it a configurable option.

Awhile back Shuttleworth made a hiring decision that seemed rather strange to me, as this person was kind of the poster child for everything wrong with open source business. At conferences in LA, Oregon and Ohio I asked members of the local Ubuntu communities what they thought about it.

The answer? They didn’t. One guy in LA said quite bluntly that they didn’t care much about what Canonical did. This, more than anything, is why open solutions are more powerful in the long run.

Sure, it takes someone with vision like Shuttleworth to make an Ubuntu, but he doesn’t control it. That is why it has such a rabid following. Prefer KDE? Switch to Kubuntu. Don’t like some aspect of it? Fork it.

Ease of use often means the removal of options. It is one of the reasons I describe OpenNMS as a network management application platform instead of an application. It has so many options that it can be hard for a newcomer to understand how to use it, but once that learning curve is climbed it is truly powerful and empowering. Fewer options would make it easier to use initially, but then you are stuck when, inevitably, a unique problem arises that needs to be addressed. That’s why we see such a migration from other “easier” tools to our project.

Critics of open source may look at our factions and our bickering as reasons why open source will fail. I look at the fact that we can’t all get along as a strength. It allows “ideas to be tried, to fail, and to ultimately succeed” in a way that closed culture simply can not match.

Windows Expert Needed for Contract Project

I am aware that there is an operating system called “Windows” by some company called “Microsoft”. A lot of people seem to like it, apparently, and since it supports Java it is possible to run that most amazing network management application platform, OpenNMS, on the beast.

In fact, a large number of people hitting the OpenNMS project website do so while searching with the term Windows.

The problem is that while OpenNMS runs on Windows, we don’t have any in-house windows expertise and our implementation could use some improvement.

Specifically:

1) Currently OpenNMS is started via a bat file and thus the window must remain open for OpenNMS to run. We’d love to have this run as a service by default.

2) Upgrades are truly painful. With Linux we have packaging systems that can remove old files, add new ones and keep track of configuration files. I assume this is possible with this Windows thing.

3) While OpenNMS is written mainly in Java, there is a small part that is in C. We have packaged up at least one DLL to handle the C portion of the application but occasionally, and for reasons that border on the truly random, users have problems executing it. We’d love to have that fixed.

I get to associate on a daily basis with experts in Linux and open source software, and I’m looking for someone of similar caliber in the Windows space. Someone for whom navigating the eccentricities of that operating system come as second nature, and someone who can improve our Windows installer and packaging to make it truly easy to install and maintain.

Of course I don’t expect this person to do this out of the goodness of their own heart. There is money involved – honest to goodness, folding money. I want to contract this particular task as a fixed price project, although I am hoping to literally be overcome with sweat at the abilities of the person we hire for this, and I hope it is the start of a long and fruitful relationship.

So, got what it takes? If not, know someone who’s got what it takes?

If so, let me know, and thanks in advance.

Please Purchase from My Competitor

Matt Raykowski (OGP) sent me a link to a “funny because it is true” blog post about the problems when there is a mismatch between a piece of software and the end user.

When I am talking to people about our OpenNMS services, I stress that if I don’t think that OpenNMS is a good fit I won’t sell to them. Since we do not charge license fees, most of our revenue comes from professional services and if there is a software/user mismatch neither of us will be happy. I will end up both losing money and having an unhappy customer – neither of which I can afford.

Check it out.