|Home » Learning Curve » Developers Workshop
Three Reasons 3/3
Apple's 'Leopard' OS remains a system punters can and will adopt but Apple are not within reach of the more important professional market.
Apple are now into their fourth release of the world's major 64-bit operating system and according to pundits everywhere things still aren't right. Eventually the previous (Tiger) version will disappear and the single digit user base will use the new system almost exclusively. But that doesn't correlate to anything significant. Apple's OS will remain doomed to the margins.
There are at least three reasons for this. These are perhaps difficult for punters to understand but they're there still the same.
This article addresses the third of these.
Structural inadequacies. Postulate you're an Apple enterprise client. Granted that's an impossibility as Apple have no enterprise clients and have declared on more than one occasion they don't want any. But suppose the impossible for a second - suppose you are one.
Suppose further you've already prepared your corporation for Apple's new 64-bit Leopard platform. Then how are you going to feel - and how is your corporation going to fare - when the news reaches you Leopard is being delayed because Apple want to work on their new iPhone instead? What's that going to do for your IT plans?
Apple have to decide whether they're selling IT hardware and software or whether they're just going to market any gadget at all they think they can sell.
You don't build industry trust with an attitude like that.
All along Apple have stretched themselves too thin and screwed business associates for reasons only old graybeards would ever understand. Best Buy got screwed by Jobs - he wouldn't ship the orders they'd placed. Granted Best Buy might actually know better what products they could move but that wasn't good enough for His Highness. Best Buy placed one order and Steve shipped another - not the order Best Buy made but the order Mister Steve thought they should have placed instead.
You just don't do business like that. It's therefore no wonder and no surprise that as soon as the ink on the Apple/NeXT merger was dry the few enterprise clients NeXT had managed to acquire - Dell Computer and WorldCom being two famous examples - ran for it.
The Apple concept - the Steve Jobs concept - of the 'whole banana' is frightening to say the least. And never you mind the obvious uncomfortable phallic associations. Steve Jobs likes to sell gadgets. He's not a computer man. Bill Gates is a computer man. Bill Joy is a computer man. IBM are overrun by computer men. Sun CEO Jonathan Schwartz and Sun founder Scott McNealy are computer men. Steve Jobs is a gadget boy.
But computers - computers for the enterprise - are not gadgets. They can't be regarded as such and they can't be designed and built as such. And in this era of the New Millennium it's pretty freaking obvious how software is supposed to be built. Even Apple find it difficult to not read the writing on the wall. It's all about open source.
A document found on most Apple computers tells a tale Apple don't really want to take to heart. It's found at the path /Library/Documentation/Acknowledgements.rtf. The Tiger 10.4 version of this file is rendered here - the Leopard version is even more monstrous - 483327 bytes.
And what's it for? It's the collection of 'acknowledgements' - for code from open source Apple are using. And open source is good - it means you let the other guy do the hard work as Brian Kernighan used to say; it means you don't reinvent the wheel as so many others describe it; it means you get closer to what Dan Geer was after when he quipped that 'simplicity is the goal of all good design'.
NeXTSTEP was about as simple - and as elegant - as you'd ever want. As you could ever imagine. Clean straightforward interfaces between self evident layers. Not too good for Apple where congestion and confusion have always been the ideal. Today the descendent to NeXTSTEP - Apple's 'own' OS - is what's described by Anandtech as a 'hodgepodge' - it's a stew of so many different conflicting technologies all in the same pot. It's on simmer and the smell's getting worse.
You don't take a stinkingly obvious system and pervert it for twisted fetishes. You don't dismantle the most dazzling operating system ever made and try to put it back together again - especially when your own engineers have already proved they're not exactly capable of creating operating systems on their own. Especially when their design standards and design ideas are so frightfully behind the times.
It's often been said the things that are wrong with Apple's OS have nothing to do with the NeXTSTEP heritage and everything to do with the fact Apple today are buggering around with the NeXTSTEP code. And it's often said because it's true.
But that's OK. You could still sell a system with systemic contradictions and weaknesses. Your end user isn't going to see much of that anyway. People who work their lives to create beauty in system design will weep but your average partially educated system administrator, marketing group, and board of directors won't notice much. That's not where the whole banana feels uncomfortable.
The discomfort comes from the fact that all this open source code has to pass the 'whole banana' test and pass through the 'Apple' transformation before it's used. The basic issue is Apple use nearly no open source code 'out of the box' - they have to change it all the time to conform to their 'Apple' standards.
So just try to think about that for a moment. The whole idea with open source is to develop core groups who become experts in their chosen fields. They do one thing and do it well. Real Unix philosophy at work. They spend years getting good at what they do. They release updates to their products. They expect others in the industry to use their code 'as is'. No one masters the domain as well as they do. That's the theory at any rate. And it works everywhere in the world except for one place. And you get to guess what place that is.
The Tiger version of the 'acknowledgements' file has 235 [two hundred thirty five] copyright references. That's 235 [two hundred thirty five] open source modules in whole or in part shoveled over to Apple for further use. How many of these open source modules are used straight 'out of the box'? How many have to be severely modified before they're 'up to Apple standards'?
And it's not only a hysterical way to do business - it also takes too much time.
Charlie Miller's found the ideal way to hack an Apple computer. Take a list such as the 'acknowledgements' file and for each item check the status of the 'real' open source project and compare the latest version number with what Apple are currently using. Often you find Apple are severely - sometimes a year or two - behind the times.
There's nothing wrong with the new version of the open source module - it's just that Apple can't keep up. They have to study the new source code in depth. They don't use the module out of the box so their code tree isn't going to match the new code tree by a long shot. They have to run utilities like FileMerge on it. They have to study and discover and test test test - where other companies just take the danged thing and plug it in.
And so at this point Charlie will study the 'changelog' for the new version and see if any nasty security holes were plugged. You'd think Apple also studied these changelogs but they don't - they don't have time.
And if Charlie finds a nasty security bug in previous versions - in the dusty versions Apple are still using - he knows where to concentrate his attack.
The irony is that Apple are using what must be some of the most secure code in the world and yet their 'whole banana' approach means they're in many ways easier to hack than Microsoft. They're not only leaving the windows and doors open - they're drawing maps for the hackers as well.
Apple can't keep up. No one company ever could. Some pundits guesstimate Apple get over 10,000 bug reports per week. Even if most of these reports are baseless or at least too confused to act on somebody has to sift through them. How many staff does it take in the front line to accomplish the first sort?
What happens when the most important incoming reports are from the enterprise? Again: just postulate it for a second. Everybody knows Apple have no enterprise clients and have declared on more than one occasion they don't want any. But suppose the impossible for a second - suppose there are such reports coming in.
What are these hyper-important clients going to say and do when they find there are no responses to their inquiries until Mister Steve has been able to unveil the latest iPhone again?
Apple are riddled with systemic corporate weaknesses. Structural inadequacies. None of this is critical as long as they're only selling gadget boxes. Blue boxes, beige boxes, white boxes, anodised aluminium boxes. But if their operating system is to be the norm for 64-bit enterprise computing they're going to have to make up their minds how they're going to do business and how they're going to learn to leave well enough alone.
Which is all water under the bridge for the fanboys. They want their iTurds™ and they keep coming back for seconds. But if you're interested in computing and only marginally amused by Mister Steve's gadgets then these trends are very important to you.
Developers Workshop: Three Reasons 1/3
Developers Workshop: Three Reasons 2/3
Industry Watch: 10.6 A Maintenance Update?
Industry Watch: Steve Ballmer & Open Source II
Hall of Monkeys: That Wobbly House That Steve Jobs Built