Unix guys are weird!
I've talked to Unix weenies for years -- heck, two decades ago I did Unix Q.A., and I've been familiar with it. But always when the Unix Advocates hit me with the "Unix is great", "Linux will rule", I've kind of yawned, patted them on the head, and shoo'ed them on their way. (I've been hearing that for 15 years).
Don't get me wrong, Unix is great technology, and has been for the last 25 years -- it just isn't an Operating System that can be easily mainstreamed. It is fully catch-phrase compliant, and the hardware has finally caught up with the Software capabilities.
For the first 15 years Unix would be too much of a resource pig to be really viable -- but Moore's Law (Computer Hardware will double in capability ever 18-24 months) cured that about 5+ years ago. Now days we've got enough MHz and Memory and Storage space to burn that Unix size and girth aren't holding it back. Just its usability.
I've worked with Sun's Solaris, briefly seen SGI's Irix, played briefly with IBM's AIX, used Apple's AUX, and even remember Microsoft Xenix. They are all basically the same thing to me -- a command line with various degrees of bad User Interfaces stuck on top. No matter how good an individual windowing system is, there is no consistency, no rules across applications, it can be changed easily, and every weenie implements things differently! There are no standards! Slapping a few controls does not make a program into an interface, you need a lot more than that -- you need consistency.
Solaris' UI was a tragedy -- I couldn't believe they could get that many UI concepts wrong all in one interface, until I tried X-Windows (that sucked worse). Many of the others are better -- but the problem is that there is no Unix User Interface.
Until you can suggest that your grandmother can go down and buy Unix and slap it on her home computer, and with a single double click (and a filling out a few questions), and have it install and configure itself, then Unix will never mainstream -- it will always just be the really cool Geek and Server OS that it has been for the last few decades. It also makes good single solution machines (install one Application on it, and use only that) -- the reason is because no one wants to have to learn more than one Unix Application.
I don't care if Linux is free, I don't care if it is powerful, I don't want to do that much work (or learn that much) just to use my computer. I shouldn't have to dive for a manual (online or not) every time I forget the exact way to type a command. Red-hat makes it easier to install -- fine, still no consistent Interface. They've got some fairly nice bolt on UI's, none of them standard -- still no consistent Interface. Red-hat and Caldera are finally offering support, so you don't have to debug everything yourself -- good step, still no interface. It just isn't there yet as a real viable mainstream OS, and won't be until that changes.
So Unix is a cool set of technologies with no place to go. A CLI with out a home. And I can use a CLI -- I've used dozens of them and was a real whiz. I made my own hybrid CLI languages so my AOS/VS, VMS, and DOS machines had the same commands and ways of getting around (switching back and forth was driving me nuts). I can do the CLI thing, and I'm fast at it (I type quickly), and I really get it. But I shouldn't have to. So I don't (or rarely use them). I certainly shouldn't have to tell my Grandma how to use it to get around on her computer or have to try to explain RegEx to find something!
Then it hit me in a blinding flash and a smack across the head, Apple should freeware Carbon API's and stuff it on top of Linux and make it the free User Interface STANDARD for all Unicies (Unixxen)! FINALLY A UNIX INTERFACE!
Of course the smack was greatly aided by a friend I was discussing fixing Macs marketshare with, when he casually mentions "Apple could put Carbon on Linux for Mac OS X". I don't know if he meant "instead of the Mach/Unix variant they are going to use" or not. I've heard that "instead of the current Mac OS X plans" thing dozens of times -- people talking about Apple replacing their Mach-Unix with Linux as the basis for Mac OS X. I've always been pretty bored and disinterested. Linux is not significantly better than Apple's (NeXT's) Mach based Unix, so using it instead of Apple's Unix is silly (little upside, lots of downsides).
Apple needs to have a high quality commercial Unix that they are in control of. It isn't in Apples best interests to bet its future on a bunch of freeware weirdo's who don't even understand the value of a consistent UI. Customers want and need support, and for Apple to do that they need to be in control of their own OS -- not married to long-haired and bearded weirdo's who think that all software should be free, or that think that if your favorite App has a bug in it that you should fix it yourself. Uh huh -- "Peace, love, and compile the kernel". I don't buy that crap. I certainly can't tell my Grandma to go buy Blue-Hat (Blue-Hair?) Linux with Mac OS UI on top and compile herself a new OS. That is stupid. People need the support infrastructure, precompiled Applications, and polish that a commercial Unix and Apple (OS X) can give. Linux won't.
Don't get me wrong, those long-haired eccentric weirdo's have done some truly incredible stuff, in their own little eccentric world. But companies and individuals need support, they want to be able to buy commercial apps, and they don't want to know all the stuff that the freeware software writers keep expecting them to know. No matter how we look at it, Linux is geeks writing software for other geeks. But they are usually 99% of the way to writing Commercial Apps.
I've been preaching for a while that MacOS on Unix is a great thing because it marries the best of both worlds -- Apple's superior UI, Unix's superior architecture. I think that Apple's OS X is a big deal because it will immediately be the coolest Unix ever. Someday I know that with Apple's Unix (Mac OS X) I can tell my grandma to go down and get it, without feeling like I'm going to have to teach her about man pages, root, how to change owner privileges from a command line, and all this other unneeded and cryptic crud that she shouldn't have to worry about. She won't have to compile it, she won't have to learn all that low-level computer-monkey garbage, she will just be using the most powerful Microcomputer OS, without ever knowing about "rm" or "RegEx" or anything. That is what makes Mac OS X so powerful -- it will be USABLE! Add to that, that you will get tons of legacy Apps from the Mac that work thanks to Carbon, and more Apps from Unix ported over to OS X because it will be so easy (1). So OS X will get lots of benefits of tons of Unix Apps -- it will get the benefits of the technology (Unix) and be fully Jargon-Compliant (SMP, PMT, Protection, etc.), with the benefits of the Macs ease of use. And geeks and weenies can still drop into a command line and do the "geek" thing, and CLI around and make macros, play with our shells, and so on. The right stuff.
(1) The User Interface is only about 20-40% of the work of writing an App (depending on the App), and towards the low end if you have good UI tools.
If you can't beat 'em, get them to join you!
This time that comment (put Mac OS X on Linux) hit me the other way around. Apple still shouldn't put Carbon on Linux for Apple's commercial OS (Mac OS X) -- Apple should give away Carbon to the Unix weenies because they will write software for it! And that will be a free port to Apple's commercial version (Mac OS X). Commercial and Freeware versions can compliment each other!
There is a ton of software and a ton of support building behind Linux and Unix flavors -- many many high end Apps and custom solutions are available. If Apple starts giving away Carbon for the Linux guys, a lot of them will start using it. Many will learn something about User Interface, many may even follow a UI standard (I can hope. At least some will). Netscape gave away Navigator, IBM is doing it with some of their Apps, and even Sun and Oracle are joining that party. With Apple's Carbon being free to all the Linux people out there, many will write Apps for Carbon on Linux!
To port Carbon-Linux Apps back to the commercial version of Apple's OS X will be a breeze! We are talking 3% extra development effort, at most -- and possible no recompiles at best.
Think of the amount of Applications that will suddenly be available to Macs! In one fell swoop Apple could cure the whole Market share argument once and for all! It wouldn't be Apple against the world, it would be Apple, all the commercial Unixes, and all the freeware Unixes combined against Microsoft. Gates will fill his pants with smelly brown stuff on the day of the announcement! Linux is a better solution than NT for serving already -- but put a good UI on it, and the combined momentum of Apple, Freeware guys, Unix guys, Universities (who use Unix), and all the other momentum by large companies that use Unix, and look out baby! The amount of software being created will make NT and Windows look like they are starving for developers. I bet within 5 years, the market would be completely different (back closer to 50/50). With half of the development in the computer industry being done for non-Windows platforms. In 10 years, who knows?
Now it is a huge risk for Apple to give away the family jewels. Don't underestimate how big a risk that is -- or how many people inside of Apple (or out) that would scare (and will resist). But it has potential like nobodies business. There are also big legal hurdles -- how do you give something away, and still retain some legal rights, control, and not give away too much? It is really tricky! But others have figured it out -- Apple can too.
But wait, there's more!
It doesn't have to be just Carbon API's. Apple could give away parts of Yellow Box, QuickTime, and so on. They can build momentum like a steam roller down a mountain! Netscape's one finger salute to Microsoft (by giving away Navigator) may be a way for the whole industry to combat Microsoft! Those Linux geeks pounding out code and features, those University Students, those corporations all creating big custom solutions, can all work together to offer far more software variety then there ever was before. They can all feedback features, use each others code (within limits and legalities),improve faster, and still have some controls. Still the big boys will be in charge of what gets put in the "official" releases -- so there are some limits and controls (which is needed). This has so much potential it is not funny.
Who's got more to lose?
The risk is that everyone will pickup the freeware (Linux) version of Mac OS X and not buy Apple's Releases, or not use Macs (and use PC's instead). But the reality is that isn't really isn't a loss. Apple's market right now is in offering solutions and support -- people want easy to use turnkey computers. Apple offers those. So Apple is very unlikely to lose it's customer base to a "hack your own" Linux solutions(2) -- but Microsoft's user base is far more used to hacking! Microsoft users are tired of the same old garbage, pain, and so on -- many are already looking (and getting excited) about Linux. Imagine if they had Linux with a good UI! So I see a lose-win situation -- Microsoft loses control and marketshare and frustrated users and Developers, Apple Wins many of them, Linux-Carbon gets the rest (many of whom write Application and utilities which help Apple win more customers).
(2) Linux still requires recompiles to fix problems (and handle updates) -- and while that will be made more transparent in the future, it still isn't a Mac. Apple can figure out how to make some revenue off of parts it is making available -- but it is guaranteed to get tons new Software Applications. The effort to port from Linux/Carbon to Mac OS X Carbon is probably measured in hours (if it isn't a push button compile). That will mean lots of a new Mac Apps in all sorts of markets.
Apple will still be able to offer value with its solutions. Macs will still be cool hardware, and I suspect many more PC users will consider the move over to Macs when they are guaranteed lots of software and an incredible future -- and freedom from the shackles (and hack-ware) that they get from Microsoft.
So while there are some risks for Apple, the potential benefits far far outweigh any risks. This could make an Open OS standard truly viable -- because it finally offers the key, the User Interface! So many people's OS's could be based on more similar technologies. Apple could even sell them commercial versions of their code, tools and support. (Like Sun with Java -- only better). Apple can also offer many other commercial solutions (like say AppleScript) or drop even more into public domain (if they are getting a good return on investment). And there are many layers on top of the OS where real solutions are made -- those all have lots of value to customers. Web Objects is only one example of that. Apple could evolve into more a solutions company, with their hardware market more secure than ever.
I think that Apple will "get it", and some surprise like this is in the works. If it is, buy stock now! I've made a killing on mine this year alone -- and this could be nothing compared to what it would be worth if this future comes to pass! I expect that Wall Street will flip over this solution once their analysts and technology advisers start to "get it"! Apple is still a very undervalued technology company, many see them as "beleaguered" because of attracting software developers and good Applications -- Mac OS X will certainly help -- but Apple offering Carbon (and/or Yellow Box) to Linux community could be a complete market revolution!