Nessus and the move to closed source
When I’m not doing my Sys Admin “thing” at IPC, I’m part of the open source Blastwave project, packaging up various products for Solaris. One of the packages I maintain (the Nessus security scanner) recently had a new release – offering a whole host of enhancements including a very funky looking RSS feed for plugin updating, and major performance improvements to name just two. Except this time, I’m not doing my usual w00t-dance, and I won’t be packaging it, or even running it, for that matter.
The reason being that the developers, Tenable solutions, chose to make this version closed source. Now, that’s all well and good and they’re obviously well within their rights to do so. But as with so many closed source products (Zend, I’m looking at you), it’s released for Linux/x86 first (although FreeBSD packages are also available), and everything else takes a back seat until some unspecified time in the future. It it is this ramification of the license change that I find most infuriating. It wouldn’t perhaps be so bad if Tenable could guarantee that all platforms would have binaries available for them – but this means they’re leaving a large section of their userbase out in the cold. And woe betide you if you’re running anything they consider really obscure or not worth supporting. Even something like Solaris/x86 is frequently ignored, and I can’t begin to imagine what people running something like NetBSD on Alpha must have to contend with…
With the open source model (take MySQL as an example), you can get the source code, and can be pretty sure that you can build it on pretty much any platform you want. MySQL runs on most platforms – from Unix to Windows, OpenVMS to Linux/S390. If it doesn’t run on your chosen platform, or the developers don’t have access to the relevant development environment, you can hack it yourself and contribute patches back to the community.
Once the source is closed, that option is gone forever. You’re then totally dependant on the developer to continue supporting your platform. You also, by extension, you have to hope they never go out of business, especially if their product incorporates some sort of time-locked licensing! If they wake up one morning and decide that it’s no longer economically viable to continue building their product for your platform, you’re screwed. Never mind that you may have built your entire infrastructure around a certain technology, and it’s not economically viable for you to jump ship to whatever the flavour of the month is; if you want to continue running closed source product X, you have to dance to the beat of the developers’ drum.
It’s for precisely this reason that I was so glad to see Sun open up Solaris (SPARC has been an open architecture for a long while now, so that’s never been an issue). Yeah, the community Sun has built up around it is fantastic, as is the ability to get a sneak preview of all the latest features and browse the code yourself. But it now means that whatever happens to Sun (although I seriously doubt they’re going anywhere anytime soon), our investment is secure.
So, I’m sorry that Tenable felt they had no other option than to close the source of Nessus – but I for one look forward to the continued development of the forked GPL version…