Marcus Ranum has this little rant on his web site and it got picked up by Slashdot, so I read it. Divide And Conquer Yourself
His basic premise is that the n-flavors of Linux, BSD, and System V kernel based operating systems make it easy for Microsoft to play the various vendors against themselves and market universally compatible back office products and applications, and that makes it easier for product developers to do the same, and for customers to “choose” to buy Windows versus UNIX or Linux. Obviously I think he’s wrong about a few things or else I wouldn’t bother to write about it.
Thing one. Stop thinking UNIX is UNIX is UNIX. BSD, System V, and Linux are THREE DIFFERENT KERNELS. Expecting program ‘x’ to run on all three of them is irrational. That there are programs that do has nothing to do with reason. Using the “it doesn’t compile on Gentoo, Solaris, Darwin, and SuSE so we should (buy | program for | recommend) a Microsoft analog” argument is just stupid. Sorry, dude, I usually like what you say, but this time you are a moron.
Thing two. No one only runs Windows or BSD or System V or Linux. By no one I really mean “no one that matters to the cosmos”. If you are an IT operation that isn’t actually at one of the corporate HQ’s of an operating system vendor and you aren’t building a diversified infrastructure, you should be fired. Your boss should be fired. Neither of you should ever get to be in charge of anything but a 64 node Vic20 cluster running O/S2. Some products are better than others, period. Using anything but the best possible solution for a given function, particularly for as bad a reason as not wanting to be bothered with the task of integration, is unconscionable. Advocating that coders, consultants, and buyers adopt that rule is opprobrious.
The merit of Ranum’s diatribe is this: When I buy a piece of software, and the spec sheet says “runs on ‘x’”, I expect it to run on ‘x’. If you tell me your application integrates with Active Directory, then I expect it to integrate with Active Directory and do a little more than authenticate users via a POP3 server on IIS. Almost nothing in the Enterprise Software world that runs on a non-Microsoft kernel has full featured Active Directory integration built into it from the start. The same can be said of every directory server out there: not Sun Enterprise Identity Manager, or whatever it’s called this week; not Novell, not OpenLDAP, not any of the directory or identity management services from any vendor offer a streamlined, click through, mostly automatic, never fails, all comers authentication mechanism. And once you’ve locked an enterprise infrastructure into an authentication mechanism, there isn’t a lot they can do when it comes to judging function solutions on their merits.
The reason for this is simple: Geeks are stupid, toy-centric, self-indulgent children in grown-up bodies. But they have been the one’s in charge of technical decision making at those organizations that have bothered to let a qualified person make technical decisions in stead of MBA’s who have to have their email printed out for them by their secretaries. In their foolishness, geeks have refused to accept that interoperability is the only defense against hegemony. The business decisions of operating system and application vendors, system integrators, and corporate IT offices don’t expand interoperability, they reduce it. Why is it so hard to set up an enterprise portal? Because you have to tie together the HR, financial, email, calendaring, workflow, remote access, CRM, and any niche applications to one authentication system. Why is that so hard? Because each one is designed from the ground up as if it is alone in the world, or in a world of just products from that vendor. Is it any wonder most software projects fail in businesses with more than 500 employees? Why do you think it is so hard to secure personal information? Why do you think it’s so hard to get computers and software to stop being the scapegoats for every failed project, blown deal, and goofy fiasco? It’s so hard because every vendor wants to own the totality of every customer’s operation, and the customer’s, despite the fact that they don’t have homogeneous systems, aren’t pushing back.
Until the software marketplace wises up and expects the kind of service from technologists as it does from fastener manufacturers – ubiquitous connectors within a industry wide standard determined by function, not schematics – the burden of integration will be on the purchaser, at full consulting prices. Just like we wouldn’t expect to have to pay to have a custom set of wrenches made every time we want to put together a new bicycle, we shouldn’t have to buy a new set of connectors every time we buy a new enterprise application. The geeks have been providing glue and duct tape for years, and yet the whole time the reality of that glue and duct tape being a prerequisite for the actual functioning of the infrastructure has somehow been ignored by the vendors and the buyers.
As long as there are ignorant buyers, the market will be non-cooperative, and the product vendors and integration consultants will continue to scalp anyone caught in their ambush.