The Nagios Fork: Did Two Wrongs Make a Right???
It's an item that I feel hasn't got much press, at least in the limited RSS entries I've had time to scan lately: Nagios has been forked. I've been using Nagios long enough that I actually used NetSaint for a bit, so I have some mixed feelings about Icinga. In general, I'm all for forks when they are indeed needed - FOSWiki is a great example. But forks shouldn't be taken lightly, in many ways they are like a divorce - they should be a last resort, not a quick way out. Personally, I think that the fork will ultimately either fail or merge back into Nagios, but read on for why I think the Icinga fork is a case of two wrongs making a right.
First, let me state that this is all my personal opinion. I've been around Nagios for a long time, and while I don't know the developers involved personally, I've read enough of all of their emails over the years to have a good feel for what they are about.
All this seems to have come about because of a few reasons:
- Ethan Galstad, the sole person with commit access to Nagios, has become a bottleneck in the project. It took forever for Nagios 3.0 to come about, and development has slowed even more since then.
- People seem to fear the commercialization of Nagios. Ethan's involvement in Nagios Enterprises appears to make some people nervous. I think this is all FUD - there's many examples of commercial OSS out there, and many of them are perfectly community-friendly. If Ethan finally wants to make some money over what he's developed over the past 10 years, then more power to him. If he and his company were to become "evil", then you fork the code, but not before.
- Ethan, like most developers, prioritized bugs and features based upon what he felt like working on the most. This lead many to feel that their requests were going unheard.
Netways is the company that is sponsoring the fork, they are all great coders, and have committed a lot of their resources to Nagios. However, I feel they made a critical mistake - they treated the fork like a coup or a crusade. Ethan states that he was never directly approached about the fork before the announcement "Nagios is dead! Long live Icinga" was made on the mailing list. Part of OSS is open communication, I think that Netways should have tried to discuss things first. Going back to the divorce analogy, they filed for divorce before the spouse knew there was a problem.
So, the title makes reference to two wrongs and a right. I think this may actually be one of the rare occasions where two wrongs do make a right. The two wrongs? Easy!
- Ethan was wrong for taking the community too lightly, and not allowing the community to have more input into the direction of Nagios. He had far too little participation in the mailing lists to be the sole dictator of the code base.
- Netways was wrong starting a fork for the wrong reasons. Don't misunderstand me here, I think nearly all of their reasons are valid, I just don't think that a fork should have been the first step to resolve them.
So, what's the right here? Well, it appears as though this may have been the wake up call that Ethan may have needed. I encourage you to read all of Ethan's posts on his blog, but he is already taking steps to resolve some of the more obvious issues. First and foremost, he's appointed Ton Voon and Andreas Ericsson to be core developers. Ton and Andreas are excellent developers, and likely have committed more of their time to the development and support of Nagios and it's plugins than Ethan himself has over the last couple years. The project could not be in more competent hands than in theirs. He has committed to the setup of a bug/issue/request tracker for Nagios, and has created a site that allows end-users to vote on what features they want to see in Nagios.
Unfortunately, my crystal ball tells me that Icinga will be a casualty, but it has already served it's purpose without a single release - it has pushed Nagios further in a few weeks than anything else has in the past few years. Perhaps two wrongs did make a right?
Personal note: this is the first big opinion story I've ever written here, and it feels odd. Usually I reserve space on my blog for howto's and other facts instead of opinion. However, Nagios has done so much for me over the years, it's hard not to voice my opinion on a piece of software that I truly consider the single most important piece of software I've ever used in my role as a sysadmin. More than likely if you've read this far, you're a sysadmin too and likely have some strong opinions on this topic - please do share them!
Comments
Hello Justin, thank you for
Hello Justin,
thank you for your opinion. I really appreciate your critical thoughts.
I just like to add, that this is not a Netways fork. Yes, three people from our staff participate, but there are more others involved. We did not even initiate the fork, but were approached by members of the German Nagios community and decided to support it.
Some of the other members of the Icinga team are former members of the Nagios community advisory board. They tried multiple times to talk to Ethan, presented ideas and even implemented real improvements like a patch queue. But all this did not work out or was ignored.
And last but not least, we consider Icinga to be a friendly fork and still be part of the Nagios community. The purpose was to secure Nagios future by vitalizing the development. We do not care too much under which name that happens. So we continue to develop Icinga, but are totally open to collaborate by providing patches and ideas and maybe join forces again in the future.
Regards,
Julian
Thanks for the comments
Thanks for the comments Julian! As always, there are two sides to every story - thanks for filling in some of the blanks.
I see that you've already made progress on making the web interface something other than C binaries using CGI. This is excellent progress, and is a perfect example of why you forked. It's been talked about for years, and I thought at one time it was supposed to be part of Nagios 3.0, but nothing ever happened.
The more I think about it, the more I start to think that the community will support one or the other, but more than likely not both. If Icinga is going to have all that Nagios has plus what your goals are, it is very likely that Nagios will be forced to merge into Icinga. In that case, Ethan can keep his services company, and commit code to Icinga.
Unfortunately, I'm still working on my crystal ball implementation, so I can't tell for sure ;-)
Thanks for your comments, and good luck with the project. I'll be checking it out soon.
Justin
git has changed my attitude
git has changed my attitude towards forks. Using a site like github, I've found that forking is a great way to keep active development from stagnating on a project. If the development on the main project slows down, the community can easily continue development in a way that is easy to find for all who are interested in the project. The commit graphs are great for this.
While I doubt very much that I will switch from Nagios to Icinga, I am eager to see what relevant patches they bring to the table. If they're helpful, I might just keep a personal git repo of Nagios with Icinga patches.
Add new comment