Thursday, November 02, 2006

Microsoft + Novell = ??


Strange doings are afoot in the open source software world, as Oracle has decided to distribute its own version of Linux and erstwhile bitter enemies Microsoft and Novell today announced a pact. This world is often misunderstood, so please bear with me while I recapitulate the main points.

"Open source" software is software which is created by a person or company and then released to the public under a license with an unusual privilege and an unusual requirement. The privilege is that the buyer or user of the software is allowed to look at the "source code"; the requirement is that he or she is bound by the exact same condition in passing on the program to someone else, i.e., that person must also be able to see the source code and be bound by the same agreement. Open source software is not "public domain"—you can't do whatever you want with it—but it allows users to see the inside workings of the machine.

"Source code" by the way is the original program as it was written by a programmer in some human-readable language; programs are often then "compiled" into machine-readable ones and zeroes which make computers work but which are complete gobbledygook to the human reader. It's the difference between having parts of your car engine you can pull out and understand and replace, like 1970 Pontiacs, and having modular boxes which can only be bought (at high markup) from the factory, like today's Toyotas. Being able to read the source code is potentially a huge boon to budding programmers who want to learn the tricks of the trade, as well as to competitors, but offers nothing for the typical users of software, who simply want to get their jobs done and do not want to know what makes a program tick. Do you program your DVD player, or do you use it to watch movies? Most people are in the former category, and rightfully so.

The fact that an open source license binds the next person and in turns binds the next person, etc., has caused Microsoft to term the license "viral". The effect is stronger, because under the most common of the open source licences, the GPL, a piece of code which incorporates an open source chunk of code will itself become fully open source. This prevents large software companies like Microsoft from using open source code for fear that they will lose their livelihoods. Conversely, it has an almost magical effect on individual voluntary developers who want to create something and give it to the world for free: by virtually guaranteeing that commercial software companies cannot take their code and profit off it in return for nothing, the GPL has reassured tens thousands of software developers worldwide that it is ok to post their code freely for the use of others.

And they have posted it, and posted it, and the presence of the Internet has allowed all this code written by all these developers to be aggregated into coherent wholes which have in many cases become immensely powerful and well-designed programs used by millions. The Firefox program which I am now using to write this is a good example. There is no doubt at this point that the open source model is a powerful model for getting things done, one which tends to fly in the face of traditional models of "capitalism" and "socialism" as the only means of production, but which mirrors the successes of early American voluntary societies.

Yet the large corporation writing software continues to be a productive model as well, although there are really only a handful of corporations, including Novell, Microsoft, and Oracle, which have ever managed to do this well. Which returns us to the question: just what are Microsoft and Novell up to?

What Oracle is up to is rather easier to answer. Bundles of open source platforms that all work together and rely on the Linux kernel developed by Linux Torvalds and his followers are usually called "Linux Distributions". There are hundreds of such but only a few which are used widely in commercial enterprises, including Red Hat Linux and Suse Linux, owned by Novell. The danger for open source companies like Red Hat is that, since the code is completely open, there is no reason whatsoever why someone else can't grab the exact same code, put it in the exact same bundle, and market it under its own moniker. There are neither patents nor copyrights on collections of programs, so how can such a company protect itself? That didn't matter much when the world of Linux was solely a hobby of geeks, but as Linux increasingly becomes big business the danger of outright theft becomes greater, which is apparently what Oracle has all but done. Thank you, Red Hat, for all your work, we'll take it from here.

The main points of the Microsoft-Novell agreement seem to be twofold: that Novell and Microsoft are entering into a patent cross-license, and a pledge by Microsoft not to sue any individual non-commercial developers over its patents. This seems to be a good deal for Novell, but what's in it for Microsoft? Apparently the value to Microsoft hinges around the desire to make hay in the virtualization market, an area where Novell has been making great headway with its "Zen" virtualization software. This allows users to run Windows inside Linux, so that computer users can have the best of both worlds simultaneously, running all their Windows applications on top of a stable operating system. Apple and Microsoft have both been working on similar virtualization programs, so maybe Microsoft wishes to incorporate Zen into some of its offerings? Or do both companies feel threatened by Apple and its new Intel-based offerings?


Some bloggers such as the famous Bruce Perens are skeptical and believe that Microsoft is attempting to attack Linux through this agreement. That seems very unlikely to me for several reasons, though I expect it to be the line that Seneca takes. For one thing, Linux is a practically insignificant market on the desktop and Microsoft can't be bothered. It is far more concerned with the very real threats from Google, Sony, and Oracle, three companies in vigorous competition with Microsoft in strong competitive positions, than it is with any threat from the tiny Linux companies. For another thing, while Perens insists that Microsoft reserves the right to sue commercial Linux developers, this argument is odd, because Microsoft retained this right before the existence of this agreement. This agreement abrogates no rights previously owned by Linux developers and in fact adds to the protection that some of them at least will enjoy. Where's the downside for Linux developers?

Still, the agreement strikes this long-time Linux user as decidely strange. Is Zen really that good? Is it an Oracle-killer play?

1 comment:

chuck said...

I'm trying to figure out what's in this deal for Microsoft. Are the Novell patents really that big a threat to Microsoft? Is it a play against Oracle? Does virtualization matter? Are they pushing .net and mono in the unix space?

The most fascinating thing would be if Microsoft were interested in Linux per se. There's more about the deal at LWN. There is lots of speculation in the comments, but nobody seems to know why this deal was made. I suspect the thing to watch is how much money Microsoft spends on the cooperative research and development.