|
The "P" Word
by Timothy Prickett Morgan
From time to time, as you might expect, I say things that annoy an IT vendor or two. (I know you are shocked, simply shocked, by this admission, but it is true.) Like most of us, I sometimes say something without thinking about it, or something that is no longer PC--as in politically correct, not personal computer. What I said in last week's issue was not all that horrible. It was no egregious statement on social or cultural phenomenon. It was not the kind of evil thing that some people think with only a percentage of them being fools enough to say those nefarious thoughts and beliefs out loud and, thankfully, exposing themselves for the closed-minded buffoons they are.
No, what I said last week that annoyed IBM was that the operating system on the iSeries was "proprietary."
A lot of people in the server business don't like the word proprietary, mainly because it carries some negative connotations after the open systems revolution of the late 1980s and early 1990s (by which I mean Unix, although I think it should be called Pluralix if you want to be fair) and the open source revolution of the late 1990s and early 2000s. Half in good fun and half in pique, Jim Herring, director of iSeries product management and business operations for the iSeries Division, called up and said we did a good job on the COMMON coverage and discussing what IBM's plans were for iSeries machines and i5/OS software, but that I had "used the P word." He said that I ought to know better and that i5/OS was no more proprietary than Windows, and was arguably less proprietary. He added that Linux was the only non-proprietary operating system out there, to which I countered (also half in jest but half in pique) that someone ought to explain that to Linus Torvalds, because I sure bet he feels differently about the operating system that bears his name. . . .
If I had been thinking clearly at the moment--I thought Herring was calling because I had screwed up some important technical detail in the Power5+ announcements or the i5/OS V5R4 preview he had given me, and I could not see where I had got something wrong, so I was braced for something bad and confused about what it might have been--I would have added that the BSD variants of Unix--FreeBSD, NetBSD, OpenBSD, and DragonFlyBSD, just to name four--are all completely open source and are so non-proprietary that the nerds behind them have argued enough to splinter the Berkeley Systems Design variant of Unix at least four times. And, of course, Solaris just went open source with OpenSolaris this year, too. But, I didn't think of any of that while I was talking to Herring on the phone; I was just relieved that he didn't tell me my speculation about Power5+ chips in the iSeries line was off the mark. (Herring did say that, officially, he could not talk about any of that speculation and left me, and therefore you, stewing in my own thoughts about it.)
Anyway, Herring's call got me to thinking. I know as well as anyone that the term proprietary is somewhat passé, but then again, as I told Herring, like many of you, I still call the machine "The Four Hundred." Many of you call it "the 400," but while that may sound the same when you say it out loud, in my world (or rather my head) numbers are spelled out and the "The" is always capitalized as a sign of respect. In fact, what I am really saying in my head is "THE Aiye Ess Four Hundred." But this is not the point. I got to thinking about what proprietary and open really mean these days, decades after that two-front battle between two ways of doing software--proprietary software and open systems software--opened up a third front with free and open source software.
While OS/400--excuse me, i5/OS--may be no more proprietary than other platforms, it certainly is not exactly open source, either. There is a spectrum of openness and proprietary, and each operating system platform has, in fact, changed over time. CPF and OS/400 are what happens when a bunch of radicals in the cornfields of Minnesota can get away with murder, architecturally, because IBM in the late 1960s needed a division it could sell off if Big Blue lost its antitrust battles with the U.S. Department of Justice; having set up a separate and largely autonomous minicomputer business based on the System/3, which as we know evolved into the iSeries, has allowed OS/400 to evolve and to become more open in a bunch of different ways.
Like many people, I like irony. I was there for the Open Systems Revolution, and I watched Sun Microsystems and Hewlett-Packard launch their first Unix servers and IBM follow suit with its RS/6000s. I watched the CISC-RISC War and the Open Systems-Proprietary Systems war. I find it ironic that so-called RISC chips today have many more instructions--and in some cases, much more complex instructions--than CISC chips from the past. And I find it particularly ironic that Unix--or, as I said, Pluralix, because there was not one Unix, but many Unixes--did indeed take over a large swath of the server operating system market. However, Unix didn't win directly. Some Unix platforms supplanted proprietary platforms, to be sure. But it is no coincidence that the former VMS, OS/400, MPE, and MVS platforms for proprietary minicomputers and mainframes--the ones that are still in use today--all adopted huge numbers of Unix APIs and essentially became Unix variants with kernels that are different from the various kernels used in Unix System V Release 4 (co-created by AT&T and Sun) or the BSDs. Beginning in 1993, OS/390 had a big Unix environment embedded in it, and eventually had enough of the Unix APIs supported that it could, technically, be called Unix. (You still had to recompile, of course, but then again, you had to recompile across the various Unix platforms, too.) And by 1995, IBM had supported all but the few supercomputing Unix APIs in OS/400 and, had it thrown those in, you could have rebranded it as OS/400ix.
So Unix did indeed take over the server market--by direct sales and by the indirect adoption of Unix APIs in proprietary server operating systems--and did so just in time for the absolutely proprietary Windows to come along with no Unix APIs and no thoughts of being open at all. (Microsoft has been working on this for the past few years, however.) And that was soon followed by Linux, the antithesis of Windows in that it is both an open system--meaning, Unix-oid, or if you want to be a smart aleck about it, one of the Pluralix collective of closed source Unixes--and open source--meaning, you can get the Linux kernel and the operating system extensions as open source and do with them what you will. The open source BSDs predate both Linux and several other open source operating systems (like Minix, on which Linux is based), but the BSDs did not capture the imagination of the IT industry. Right idea, wrong time? It's hard to say. What is for sure, though, is that the lack of an open source commercial Unix and the frustration with DOS and other PC environments drove Linus Torvalds to create Linux in 1991.
Why didn't he just use BSD? It was there, after all. He never said. But sometimes, if you want to do something right, you have to do it yourself--with a little help from your smartest friends. Linus was having fun, just like Bill Gates was with creating Basic for PCs and snagging a DOS deal for IBM's first PCs. It wasn't just about wanting an operating system; it was as much about wanting to do an operating system. I can't tell you how much I respect that.
The iSeries as a platform is, of course, a mix of proprietary, open systems, and open source components. In many ways, it is a perfect microcosm of the interesting bits of computing in the server market over the past three decades. IBM won't like hearing that, of course, but the iSeries microcode that controls single-level store, hardware abstraction, and hypervisor (arguably the most sophisticated logical partitioning in the world aside from IBM's own mainframes) is definitely closed source and definitely proprietary.
Even other IBM units couldn't get their hands on AS/400 technology, much less the outside world, until relatively recently. It took ten years and two five-year plans at IBM--some unnamed five-year plan from 1995 that made the AS/400 and the RS/6000 start sharing technologies and then "Project Mach 1" in 2000 that started IBM down the road of merging these platforms into the iSeries and pSeries product lines we know today. It took a lot of pressure from the top down at Big Blue to get the company's formerly separate server divisions to share their technology--and you can bet that not everyone is happy about that. If it is hard to think about different server divisions within IBM's Systems Group sharing technology, it is nearly impossible to believe that IBM would actually do what Linus Torvalds did, which is just let go. Let the world have it.
So, in one sense, i5/OS is still largely proprietary. IBM controls it, absolutely and completely, and in this same sense, so do all the other Unix vendors control their platforms and they are, for all intents and purposes, proprietary, too. While the Unix battles that waged in the 1980s and 1990s saw tremendous innovation, the Unix world has settled down to AIX, Solaris, HP-UX, the BSDs, and SCO Unix, with the first three really setting the pace in enterprises. Innovation hasn't stopped, but it sure has slowed. The thing that really matters to most enterprises that use Unix is that Oracle, DB2, and Sybase databases all work on the popular Unixes, that the C compilers all work, and that they have the basic sets of functions that a Unix platform needs in terms of administration and API support. The Unix Wars are over, and every customer won and no vendor really won. And the individual Unixes in the Pluralix collective have become, in a way, proprietary. Their differences are frozen in time, like cement that has hardened.
Windows will always be proprietary, unless Seattle is hit by a comet or something like that, and Linux never will be proprietary as long as the GNU General Public License is valid and holds up in court. But that doesn't mean Linux vendors can't make their Linux implementations pseudo-proprietary, by which I mean different enough from each other that applications that run on one Linux don't need some tweaking, finessing, and certification to work on others. And as we move forward, it is quite possible that someone cooks up a different enough set of open source features in one Linux variant to make it radically distinct from another.
Imagine, if you will, a version of Linux that had a database embedded inside the operating system, transparent to the programmers and woven into the guts of the Linux kernel so that it's file system was the database. Imagine further that it had a native XML interface that allowed all manner of Web-based applications--online transaction processing systems, Web page display systems, batch processing systems, whatever--to be efficiently handled. Such a machine would not have a server operating system layer, a database layer, an application layer, and a Web display layer. Rather, it would think in terms of displaying stuff stored in a database. That is all it would do. And the underlying file systems and storage algorithms for speeding up file access and talking to various kinds of storage devices would be completely virtualized. What such a system would display could be a movie, an online transaction, or a Web page--or all at the same time, maybe. Imagine that such a Linux had a native, embedded, intuitive XML programming environment, one that made programming so easy that normal programmers who are experts in business logic could easily create very sophisticated applications. Such a Linux would, of course, have a virtualized and abstracted hardware layer so it could be easily ported to run on any processor architecture, and it would have virtualized peripherals and networking as well for exactly the same reason. You could even embed Linux, BSD, and Solaris runtime environments in the platform, and use Xen virtual machine partitions, since these are all open source, too. Applications written for such a Linux variant--one might call it TPMix--might not run perfectly on the stock Linux kernel out there at the time. There would have to be a lot of modifications to the kernel to make this all work. It would be a fork off the Linux line.
And anyone creating such a rich and complex platform would, perhaps, be sorely tempted to keep the source and all that hard work to themselves and make a lot of money. This is not possible because of the GPL that governs Linux development, but would certainly be possible with Unix System V, which is closed source and controlled by the SCO Group--provided you paid SCO lots of dough to license Unix, of course.
But creating such a proprietary TPMix would not be politically correct, now would it? I didn't think so. I guess I will have to get rich some other way--or not at all. I can live with either. Quite happily.
|