Part one
Not wanting to miss out on the orgiastic frenzy surrounding Apple’s bombshell Intel announcement, I wanted to go on the record with my predictions and armchair quarterbacking as to the ramifications to the open source community. I’ll try to not differentiate my predictions from my suggestions. That way, when my predictions are right, I’ll look clairvoyant. When they’re wrong, I’ll claim that they were suggestions and appear visionary.
Higher volumes, lower margins for Apple
Apple just became a software company, but they might not realize it yet. Let me be the first to promise it: OS X will run on vendor X’s beige box computer. Despite Apple’s best efforts, I’m positive that somebody will figure out how to install OS X on non-Apple hardware. If people managed to write a frickin’ PPC machine emulator to run OS X on Intel, someone will hack Darwin and run OS X on their Dell. Finally, Apple hardware won’t be that different. Alert reader Tim Uckun reports from WWDC that he’s already seen one of Apple’s prototype Intel Macs run Knoppix without issue.
Market share for OS X will rise as a result of piracy. Just as you can buy hacked versions of Windows XP that don’t require registration on the streets of Moscow, you’ll be able to buy hacked versions of OS X on professionally stamped CDs. This may even be Apple’s strategy for the near term. As long as the pirates aren’t too aggressive about it, I suspect that Apple will be content to build market share in this way. Remember when Microsoft’s stance on piracy was, “well, at least they are pirating Microsoft”? Apple can get a risk-free way of building pent up demand and device drivers.
For corporate users and ethical home users who can’t simply pirate OS X, they’ll have a choice: Buy Apple hardware with OS X or buy Dell and Windows. Given the escalation of malware and Windows’s “weak by default” security posture, some will switch to presumably cheaper Intel Macs. Others will stick it out with their existing contracts with Dell. I bet at least one such company will beat on Dell to give them OS X. Dell will in turn apply pressure to Apple. Eventually demand will rise to the point where Dell gives Apple a really sweet deal on licensing OS X for a handful of corporate customers. After this, it’s only a matter of time before lawsuits and changing markets lead Apple to license OS X for the masses.
The Rise of Darwin
When first released, Darwin caught a lot of attention. Would it be useable as a standalone operating system? Would it get all the goodies (minus GUI) that OS X got? How does it compare to Linux / *BSD?
Well, interest died quickly. Apple didn’t release Darwin in a form that was particularly easy to install. Performance always felt doggy on Intel (mostly due to a brutally slow frame-buffer driver). Hardware support made Solaris for Intel look good. Plus, there were quirks that the standard *nix crowd didn’t like or understand: NetInfo, strange rc scripts, um… NetInfo. But most damningly, Darwin on Intel was boring. All of the good stuff was on OS X, and for that you needed a Mac.
Well, all of this is still pretty much true, but a larger install base of OS X changes things a little. Device drivers will be written for Darwin to accommodate the hackers who just can’t live without OS X on their Athlon QZXR 77000 with an NVidia H-Bomb video card. There will be back spill. All of a sudden, a community of early adopters starts running their personal web server on Darwin.
I don’t know whether this market upsurge will cannibalize users and developers from Linux, FreeBSD, NetBSD, and OpenBSD. I kind of hope so. I’d like to see a little more consolidation of the open operating systems. Not too much, but a little would concentrate brain trust.
Some will recognize that Darwin is a great deal for the open source community. Linux, FreeBSD, NetBSD, and OpenBSD are all great systems, but that’s usually not because of the kernel. That so many people believe that Mac OS X actually runs FreeBSD’s kernel instead of the Mach micro-kernel is proof that it’s the user land that people care about. Even tech savvy people seem to believe this. This provides a great opportunity for OS hackers to improve the OS, while leaving kernel design to paid professionals. This isn’t a jab at the open source community; far from it. I think that NetBSD is the cleanest, best designed OS out there. But it’s not the kernel that makes me gooey inside.
GNUStep for the people
Though I love my PowerBook and Mac OS X, I still secretly long for a platform by, of, and for the people. I envision that we’d all live in peace and harmony in a land free of intellectual property and intangible possessions. An open system and strong cryptography would guarantee our civil liberties and the free flow of ideas. People would code unencumbered by profit motive and would advance the cause of human knowledge.
Apple has some great technology, and they are mostly not evil. But the fact remains that Apple could turn evil, or go broke, leaving us to the mercy Bill Gates. I believe the world really does need a free (Free?) open platform.
Apple has a proven model for making *nix user friendly and facilitating consistent user interface development. They were even nice enough to release specifications for it. The Open Source community will figure out that KDE and GNOME will always fall short of Apple and its NeXT underpinnings. Developers will repent and flock to GNUStep to save the world. Plus, wouldn’t it be great if developers could target Apple and Linux/BSD with the same code base?
GNUStep has the potential to do this. It’s a nearly complete OpenStep compliant system. The open source community is so self conscious about chasing tail lights, but it has proven that it can do this and win. Linux and BSD have all but killed the traditional Unix implementations. Firefox wasn’t really so much about innovation as it was about building an evolutionary improvement to an existing invention. The open source community has no shortage of innovation. What it lacks is strategy and a willingness to make tactical decisions.
A Darwin/GNUStep platform has a long way to go in terms of quality and polish. But it would be an extremely tactical move. Maybe people won’t recognize this. Maybe people are content to eat Apple’s admittedly gourmet dog food. What do you think? Is this tilting at windmills? Does the world need an open platform?
Next time: Wine, Qemu, and Xen
Comments (archived)
doc modulo, on Jun. 12, 2005 wrote:
You are absolutely right about GNUStep. I read the site behind the link and did a little research via Google after that and my conclusion is, like I said, that you’re right.
I’ll contain myself and try to keep it short. I’ve deleted a lot out of earlier versions of this post which was mostly technical.
- Users only care about user land. They care about where to find files and programs. The choise users make is on the level of KDE, GNOME, GNUStep or Cocoa not on the level of Linux, FreeBSD or Darwin.
- KDE and GNOME are just a thin shell around the underlying kernel. When you use FreeBSD, you will get confronted by FreeBSD. When you use Linux as a kernel, that will shine through in it’s own way as well. However, Open/GNUStep create a complete user environment. A stable place for a human to call it’s home on the PC. No matter what the underlying kernel is, the user will see GNUStep.
One of the user land features of GNUStep that both KDE and GNOME do NOT have is application folders/bundles/appfolders. This means that an “installed” program is always completely encased in it’s own directory called “program.app”. Install the program by just copying one directory/.app file over to your PC. Uninstalling is just as easy. This is so great because it makes the PC so much better to use for a human being.
Traditionally, installing a program meant that the program’s files were thrown all over different directories on your PC’s hard drive. If you wanted to get rid of your program because it was misbehaving, you’d have to rely on something called an “installer” that had to have a perfect record of where all the individual files were thrown to in the past. This perfect record never happened of course.
This and a couple of other user land things that are really nice, like a standard directory structure which is the same no matter what kind of kernel is running under GNUStep, is why GNUStep will win the fight of becoming part of the ultimate operating system of the future.
- We’ve all fantasized about the ultimate operating system, and I now know what it will look like: An NetBSD, OpenBSD or *BSD kernel for their technical excellence and simplicity, GNUStep on top of that and lots and lots of programs ported to that new operating system in neat little “.app” appfolders.
- Because Windows, MacOS X and Linux can also host GNUStep, programmers are able to write programs only keeping in mind the GNUStep Programming Environment. Windows users that want to keep using their Windows games can keep running their usual OS while at the same time get used to the superiour GNUStep way of appfolders and the GNUStep programming language (Objective-C).
Another easy way for people to transition over to the “Ultimate OS” is with Intel processors with the “Lagrande” feature (AMD has something similar). This feature will allow you to run 2 operating systems on 1 processor AT THE SAME TIME. This means you can switch between the “Ultimate OS” and Windows/MacOS X without rebooting. Problem of the world moving over to Freedom and technical excellence is hereby solved.
- The only “tactical choise” that could improve the “Ultimate OS” is the programming language. The new programming language of GNOME (Mono C#) and GNUStep’s language (Objective-C) compare like this:
** Deleted a lot of technical stuff again **
I would like the GNUStep OS to switch to another programming language because I think Objective-C does not prevent the #1 security bug, buffer overflows. Other “languages” will automatically prevent that bug and of those languages I would like it to be either DotGNU’s or Mono’s C#, Erlang or Haskell. C# because it’s almost the same as Java, but the Mono and DotGNU versions of it are under Freedom licenses.
Erlang and Haskell are functional programming languages which prevent even more types of bugs in programs automatically. Also, because they are functional languages, it is easy to write programs that automatically use multi-processor/core processors. Great feature because that’s the way Intel and AMD are going to increase processor power in the future, not more MHz.
Anyway, great article, I agree and the link convinced me of the way to go in computing, hope others will be convinced as well and we can go where we all want to be as fast as possible.
doc modulo, on Jul. 5th, 2005 wrote:
People who want to further discuss and read about the future ultimate OS should go here:
http://akaimbatman.blogspot.com/2005/06/linux-desktop-distribution-of-future_15.html
Have fun and help make it happen.
Timothy JsD Quinn, on Feb. 22nd, 2006 wrote:
Hey dude,
I have been keeping my eye closely on GNUStep as well. I have people tempting me with $ to go C# .Net windows based development but personally, I would rather work at McDonalds.
I am hoping that Mono and GNUStep can get really friendly soon so I can finally start building serious enterprise software to go against the giants. (Once I find a company brave enough to fund of coarse :) SAP and eMatrix look out!
Love my OSX but would be equally be happy with Darwin + GNUStep, with a serious pinch of UI polish and tweaks.
Now if only I can find customers brave enough to go further down the open platform & language road and steer from the dark side :]
Thursday, June 9, 2005
Subscribe to:
Post Comments (Atom)

0 comments:
Post a Comment