Well, would Sunday be complete without a Rob Enderle article on Linux to have a laugh over with you? Of course not. So here you are, Mr. Enderle on whether IBM is a boon or a bane to Linux. Of course, he gets almost everything wrong about GNU/Linux, and quite a bit about IBM too, now that I think of it, but that is the fun of it, no? And since he uses the word Grok, we seem to be halfway there with him, so let's see if I can now pull him, albeit kicking and screaming, across the finish line. The piece he doesn't get is the GPL.
He begins combatively, as is his wont:
"IBM is arguably the most active supporter of Linux: at war with SCO, aggressively contributing to the Linux code base with its own intellectual property, and providing (for them) unprecedented executive-level support for a product the company doesn't actually own. On the other hand, the SCO issue, which wouldn't even exist if it weren't for IBM, has created the largest FUD cloud around the Linux platform."
I take it this is intended as a line on his resume, since he certainly has contributed mightily to the FUD cloud, including the final sentence here, since so far SCO has presented no evidence any of us have seen that IBM has done one thing deserving of becoming SCO's target, except having deep pockets and the misfortune of signing a license agreement in the 1980s with a predecessor-in-interest (maybe, partially, sorta, who knows?) of SCO. I am guessing that's statistically about the same odds of trouble as someday hitting a deer on the highway, one of those events that can happen but for which there are few effective avoidance strategies, so I don't think IBM can be blamed.
I just know one of you brainiacs is going to actually compute the odds of hitting a deer and of being sued by SCO and tell me that actually, to be precise, the odds are not identical.
Mr. Enderle next notices that IBM selling off the PC division could have implications, namely that IBM is more committed than ever to GNU/Linux:
"With the divestiture of its PC division, which is expected eventually to pull the XServe line, IBM will be more focused on PowerPC and Linux than ever before. This focus is very similar to the way IBM worked prior to the PC era, when the company owned its platforms and dominated the PC business. This shift will allow IBM to focus its resources on both platforms and, potentially, to become a true competitor to both Intel and Microsoft."
What would we do without analysts to explain things to us? But, what is the bane part? Here is where he starts to wobble:
"OK, now step back for a moment and grok what I just said. What is it you like about Linux? The collaborative nature of the product, the idea that is it created by a community, the freedom, the low price? Now think of the technology world the way it was in the 1970s. Was there ever a world farther away from these core values?
"If IBM is successful, it will effectively own Linux. It will have the best tools, it will make the most measured contributions to the installed base, and it will bend every rule to make sure its solutions are better, faster, and stronger than anyone else's.
Look at the SCO problem: Didn't it result from IBM's unilateral actions to introduce code into Linux that was at risk? Now take that kind of practice and multiply it a thousand fold. Rather than Linux becoming the new UNIX, doesn't it now become the new AIX, the most non-standard of the UNIX variants?
Oh dear. This is like shooting fish in a barrel. Let me try to be kind. I'll break this down into Little Golden Book terms.
Here is the key to grokking this subject:
The Linux kernel is distributed under the General Public License, the GPL.
That means no one can own it, in the sense Mr. Enderle means, control it, or coopt it. The author of a contributed bit of software can and does own the piece they personally contributed. You can see that in IBM's memorandum in support of its motion for partial summary judgment on its 8th counterclaim on copyright infringement, where the allegations relate only to the pieces they themselves contributed. But once code is placed under the GPL, it's licensed under its terms.
All the individual pieces are copyrighted to the individual or entity that wrote them. Linus owns the copyright on the collective work. But no one can contribute code to the kernel without accepting the GPL's terms. What that means is no corporate entity can contribute code that is accepted into the kernel that only they can "own", use, distribute, or that they can keep others from using, expanding, distributing, modifying, copying, etc. It's one of the requirements of the GPL that you pass on to users the same rights and freedoms that you enjoy under the GPL. It's a circle of a compelled niceness, if you will, or at least an enforceable niceness for those who choose to enter the circle. No one has to.
So even if we accepted that IBM contributed code it shouldn't have, and frankly I see plenty of evidence that they had every right to contribute what they did, there is no way for IBM to control Linux or GNU/Linux and make it "non-standard". The worst they could do is their own version of a GNU/Linux product, and sell services for it for a fee and set up some bumps in the road that the ungeeky have trouble getting over. But if they do that, no one has to buy it. The GPL code is freely available to the universe. Well, the world, anyway, Planet Earth and any astronauts who want to take it with them on interplanetary visits. Think about it. Would you rather your spaceship ran on Windows?
Hopefully this explanation will resolve Mr. Enderle's worries. And if he doubts my explanation that no one has to buy a product they feel is not altogether free, I suggest he just think back to Caldera, when it tried to get just as close to the acceptable GPL line as it could. Contemplate how well that worked out for them. Not.
But here we reach Mr. Enderle's biggest misunderstanding:
"I've often thought that the Linux community in its blind rush to displace Microsoft was making the same mistake that Microsoft made in its efforts to displace IBM. You often have to become what it is you are fighting, and just as often that means moving into a world you actually don't want to live in.
"What made Linux attractive was its freedom in terms of both cost and behavior, the community cooperation, the camaraderie, and, frankly, that it represented a kind of rebel counterculture. . . .
"If you have to become what you hate in order to win, isn't that self-defeating? If the goal of beating Microsoft requires you destroy what is attractive about Linux, does that really make sense? Yet IBM and Linux are on a path which could, in fact, allow the company not only to pummel Microsoft and Windows but to replace them."
Mr. Enderle would like GNU/Linux to remain a hobbyist platform. Well, so, coincidentally, I'm sure, would Microsoft. So would SCO. Businesses, however, have discovered there is a real competitive advantage in using GNU/Linux systems, and they are the ones pursuing. Linus hasn't changed.
And heaven only knows, Stallman is a masterpiece of consistency. The genius of the GPL is that no one can break the niceness circle without consequences, as SCO is finding out. All they can do is not participate in the first place. I truly believe that Stallman's genius is shown in the GPL every bit as much as in the code he wrote. Of course, that is precisely why greedo corps hate it. They can't control, coopt, divert, embrace or extend that code. They have to play by the GPL rules, and that gets in their way.
It was designed to.
And the world has watched the SCO case with interest, and we see the role the GPL has played, and unless pigs really do start to fly, the GPL is the big winner in the whole litigation. It has played the role it was designed to play -- to force corporations to play nice. It will be SCO's Waterloo. There is a next version in the works, reportedly more business-friendly, but I have zero fear that there will be anything in it Microsoft or SCO will like.
Clue: Linux doesn't care who wins in the marketplace. It wasn't created to destroy or replace Microsoft. And the community honestly doesn't much care about that. Certainly Linus has said he doesn't. I know I don't. The community is very diverse, so some might care. IBM might, but IBM isn't Linux. The only reason Microsoft even appears on Groklaw's pages is because it has said and done some things that make me think it is trying to destroy the GPL and Linux competition, using FUD and some other dirty tricks, from our standpoint. If Microsoft just competed fair and square, nobody would give them a thought. But when Hannibal is heading over the mountains on his elephants in your direction, it's prudent to wake up, throw on some armor, and study your options.
While I take heart in seeing Mr. Enderle using a word like grok and having deep thoughts about the future of GNU/Linux, I would remind him that it's very hard to reach solid conclusions unless you base your thinking on actual facts. Think garbage in, garbage out. Therefore I suggest before he writes about Linux, he might wish to read the General Public License, its FAQ page, how to place your program under the GPL or the LGPL, why FSF gets copyright assignments for GNU projects, the LGPL, and then take the FSF GPL quiz. By the way, for those of you who have wondered about it, the FSF recognizes the difference between software, documentation and other kinds of works:
Licenses for Other Types of Works
We believe that published software and documentation should be free software and free documentation. We recommend making all sorts of educational and reference works free also, using free documentation licenses such as the GNU Free Documentation License (GNU FDL).
For other kinds of works, we recommend you consider the licenses proposed by Creative Commons.
A good example of releasing documentation under the GNU Free Documentation License is the book "Knowing Knoppix," which I just downloaded after seeing it mentioned on Slashdot. It is designed to help a beginner wanting to try out Knoppix but who likes to have a book handy to ease any pain, and there is nothing wrong with that. It's subtitled, "The beginner's guide to the Linux that runs from CD." I've always been the type that just starts clicking away on things to see what happens, and that is how I like to learn. It's a mighty slow way, though, if you mess up, so a book like this is great. One of the things it explains is how to rescue your files after your Windows computer no longer starts, using Knoppix. That's how I first used Knoppix, actually, on rescue missions, and it has a lot to do with why I eventually switched over. I look forward to reading this book very much. I love Knoppix, which comes to us under the GPL. Who knows what happens to it if software patents are approved in Europe? That reminds me. Some of you may wish to say thank you to Poland. If so, here's where you can.
Maybe Mr. Enderle should also take the time to read about how copyleft works:
What Is Copyleft?
Copyleft is a general method for making a program free software and requiring all modified and extended versions of the program to be free software as well.
The simplest way to make a program free is to put it in the public domain, uncopyrighted. This allows people to share the program and their improvements, if they are so minded. But it also allows uncooperative people to convert the program into proprietary software. They can make changes, many or few, and distribute the result as a proprietary product. People who receive the program in that modified form do not have the freedom that the original author gave them; the middleman has stripped it away.
In the GNU project, our aim is to give all users the freedom to redistribute and change GNU software. If middlemen could strip off the freedom, we might have many users, but those users would not have freedom. So instead of putting GNU software in the public domain, we ``copyleft'' it. Copyleft says that anyone who redistributes the software, with or without changes, must pass along the freedom to further copy and change it. Copyleft guarantees that every user has freedom.
Copyleft also provides an incentive for other programmers to add to free software. Important free programs such as the GNU C++ compiler exist only because of this.
Copyleft also helps programmers who want to contribute improvements to free software get permission to do that. These programmers often work for companies or universities that would do almost anything to get more money. A programmer may want to contribute her changes to the community, but her employer may want to turn the changes into a proprietary software product.
When we explain to the employer that it is illegal to distribute the improved version except as free software, the employer usually decides to release it as free software rather than throw it away.
To copyleft a program, we first state that it is copyrighted; then we add distribution terms, which are a legal instrument that gives everyone the rights to use, modify, and redistribute the program's code or any program derived from it but only if the distribution terms are unchanged. Thus, the code and the freedoms become legally inseparable.
Proprietary software developers use copyright to take away the users' freedom; we use copyright to guarantee their freedom. That's why we reverse the name, changing ``copyright'' into ``copyleft.''
Copyleft is a general concept; there are many ways to fill in the details. In the GNU Project, the specific distribution terms that we use are contained in the GNU General Public License, the GNU Lesser General Public License and the GNU Free Documentation License.
The appropriate license is included in many manuals and in each GNU source code distribution.
The GNU GPL is designed so that you can easily apply it to your own program if you are the copyright holder. You don't have to modify the GNU GPL to do this, just add notices to your program which refer properly to the GNU GPL. Please note that you must use the entire text of the GPL, if you use it. It is an integral whole, and partial copies are not permitted. (Likewise for the LGPL and the FDL.)
Using the same distribution terms for many different programs makes it easy to copy code between various different programs. Since they all have the same distribution terms, there is no need to think about whether the terms are compatible. The Lesser GPL includes a provision that lets you alter the distribution terms to the ordinary GPL, so that you can copy code into another program covered by the GPL.
After he reads all this and then really think about what the GPL does and what it disallows, I think he'll have to rewrite his article. That's the thing about knowledge. It wilts FUD dead away, like Dorothy tossing water on the Wicked Witch of the West. Of course, Dorothy did that by accident, whereas I know exactly what I'm trying to do.