A lot of you have been emailing me the link to John Dvorak's opinion piece, "How to Kill Linux," about how Microsoft allegedly could kill off Linux. Sometimes when I read things like that article, I hardly know where to begin to unravel the mistakes in thinking. As I was pondering, and wishing I could go to Rio for the weekend instead, I got a submission, an article by someone who signed it, A. Linux Kernel, who says reports of his destruction have been exaggerated. I was surprised to hear from him, knowing as I do how the kernel likes to stay humbly in the background. Now, I can't swear on a stack of Bibles that this was written by the *real* Mr. Kernel. But if the Linux kernel could speak, and he felt like horsing around, I think this is what he might say. No, I didn't write it, but it's under my CC license just the same. Enjoy.
*********************
Reports of My Destruction Have Been Greatly Exaggerated
by A. Linux Kernel
Oh boy. After a hard day swapping, caching, and scheduling, I settle
down to check out the RSS feeds. And what's this? A pundit describing
how Microsoft could destroy Linux. Not that that's much new. After all,
I seem to remember that Windows 2000 was going to brush me aside. Or
was it XP? Or Server 2003? Not so long ago, wasn't it Unixware's LKP that was going to
kill me? Or was it Project Janus? Nah, I must be getting mixed up -- it's
Longhorn that will destroy Linux.
If I don't die of old age before it's
released.
Or Palladium. Or Shared Source. Say, I need more memory to
keep track of all the ways folks think they can kill me off.
But this is, I must admit, a new take on the old story. It seems so
simple! Just create a proprietary MS Linux, sit back and watch me die.
It's such a simple strategy, I wonder why they haven't done it already. You don't
suppose there might be a flaw in
this scheme do you? (BTW, guys, you're not very thorough. You haven't
even finished killing OS/2
yet.) Here's how the article begins, and you can imagine how my eyes got wide when I read it:
"While chatting over dinner with the executives of a middleware company during the recent RSA conference for encryption and security in San Francisco, I heard about a secret project. It concerned the development of a version of Linux that runs smoothly as a task under Windows. The
project was completed and then shelved."
Shelved by MS maybe, but the FOSS world has got this working, and unlike
the rumoured secret project, you can get it yourself, and see it
working.
See me running as a task on Windows (it's not the only option either - QEMU for
example.) And has this killed Linux? Err.. no. Because a chain is
only as strong as its weakest link - what's the point of running me on
a crash-happy virus magnet? Especially one you have to pay for Let's read on:
"The immediate usefulness of Linux
running under Windows is obvious. You can use all the Windows drivers
for all the peripherals that don't run under Linux."
Firstly, even if I was running on Windows, it doesn't mean I can see all
your hardware. Probably I only see your network connection, keyboard,
mouse -- things I don't have driver problems with anyway. Case in point:
the other day I spent some time running under VMWare. Nice place, I
must admit. Some guy plugged in their USB scanner. Did I see the
scanner via the Windows driver? No chance. I just had the raw USB data
pumped straight through to me. Good job I had SANE to keep me, well,
sane.
"That said, there is no way Linux
under Windows would be practical with all the overhead involved."
My goodness! QEMU must have been just an amazing dream, then. And VMWare,
and BOCHS. . .
"The idea here would be to cut the
driver layer out of Windows and attach it to Linux directly."
Letting me use Windows binary drivers? Now, there's a thought. In
fact, it's more than a thought. ndiswrapper and CaptiveNTFS
both do this. There's nothing to stop similar projects for other
devices: why don't we see them?
Because most of the time, with mainstream devices, I work out of the
box. For the "savvy user" and OEM builder, the Linux driver "problem"
isn't the problem it was. The days when my poor user had to sweat blood
to get me onto a laptop are long gone. Sure, if I get slung onto some
random old machine there are still wrinkles, but from what I see on the
Windows support forums, that's hardly unique.
But sure, you could go ahead and write ndiswrapper-like code for every
sort of device out there -- sounds like a lot of work though. Shouldn't
they be fixing bugs in IE instead? And don't most of these funny
peripherals only do anything useful in conjunction with a Windows
program anyway? Hey, perhaps Microsoft want to help with the Wine
project! Hmm, doesn't seem likely somehow. Besides, wouldn't all this
driver glue code have to be. . .
"Microsoft would be unable to produce
such a product without allowing
the other vendors access to the driver code as part of the open-source
Linux license arrangement (GPL)."
You read my mind, John!
"Open-source law is new and not
completely tested."
That's true. Those pesky critters keep running away before we
get them into court. Except in Germany. . .
"I'm certain that Microsoft got involved with the SCO versus Linux
lawsuit partly to reach a better understanding of how to proceed."
I hardly think MS needed SCO for research -- they can afford their own
lawyers, and give them a day off per week from filing dodgy patents to
bone up on every FOSS license going. But if they did use SCO for
research rather than FUD, they can't be happy with the results. SCO's
reply to IBM's Counterclaim 8 amounted to a humiliating acceptance of the GPL's
validity. All the tough-talking melted away.
"This concept will benefit only
Microsoft and probably result in the
death of Linux altogether. Let's call it the lopped-off head approach.
Microsoft takes its distribution of Linux and sells it as a lopped-off
head. That means tearing away the entire top of Linux from the driver
layer -- and that would be MS-Linux."
Tearing off my driver layer? That sounds painful! I may support
loadable modules, but it isn't the case that the whole driver layer is
a loadable module. You would have to do some major re-rengineering to
make my whole driver layer detachable, and it would inevitably cause
compatibility problems with existing Linux programs, stability
problems, etc. Unstable, incompatible, and pointlessly re-engineered.
Well, that's "MS-Linux", I suppose.
" . . . the user could pay for the Windows
drivers and attach those to MS-Linux, resulting in an OS that had the
PnP benefits of Windows."
Woah, John, I think I'll have to throw an Oops there. Your logic just
dereferenced a null pointer.
You've taken the whole driver layer
out of Linux, and now you're throwing in a Windows driver and expect it to work?
That's like attaching wheels to a car with an engine but no
transmission.You'll have to write a replacement
driver layer that accepts Windows drivers and allows them to
work with the Linux kernel, just like ndiswrapper does for the limited
case of some wifi cards, in fact.
But John, you don't seriously think this replacement driver layer
wouldn't be a derived work of the kernel, do you?
"I see no reason why this could
not be kept outside the GPL and actually sold as a licensed product
exclusive to Microsoft."
You don't? You must have flunked GPL 101, then. Go sit at the
back of PJ's remedial class. I believe registration is still open for her summer school class. And don't talk to that kid Darl -- he's a
troublemaker and never pays attention.
"Since plenty of commercial products
'attach' to Linux and seem to be protected from the GPL, I have to
assume that the scenario I describe is possible."
You do know the difference between "mere aggregation" and "derived
work" don't you, John? Have you been paying attention in GPL class, or just
drawing beetles on the back of your exercise book?
"Microsoft's MS-Linux would quickly
become the dominant Linux and the company would begin to profit from
all the open-source development work that would go into Linux."
Don't you mean: "The MS driver layer would have to be GPL'ed, everyone
would use it for those troublesome peripherals, one less reason would
exist to ever buy Windows, and MS would lose money?"
"Once the developers saw that happen
they'd stop working on Linux and it would die."
I think you meant to write: "Once the MS developers realize they can't get round
the GPL this way, they will stop working on the 'headless chicken'
project and it will die."
Or do you mean that as soon as a FOSS project benefits the Windows
platform, no one works on it any more? That's why we've seen the demise
of FireFox, OpenOffice, Apache, PHP.... oh, wait... we haven't.
"After all, who wants to do free work
that benefits Microsoft?"
The only beneficiaries would be the hardware manufacturers who only
have to write one driver. MS would have inadvertently created a mark II
version of UDI.
"At some point in the future Microsoft
will make its move on Linux, you can be certain."
In the *future*? Well, a
stopped clock is right twice a day, they say. So far, you're half as
good. Try installing NTP.
"When MS-Linux is announced, it will
be as if Microsoft were doing the world a favor by 'joining' the Linux
community. Praise will be heaped on the company. Congratulations will
flow."
You mean like the praise that was heaped on Sun when they CDDL'ed
Solaris? With praise like that, who needs brickbats? I'll stick my neck
out here, and predict (I can be a pundit too, you know) that anything
Microsoft does with respect to Linux, even if it is genuinely nice, will be
treated with just the tiniest bit of
cynicism and scepticism. Their reputation precedes them.
But you know, I feel like indulging John for a moment. Imagine this
headless chicken FrankenLinux cousin of mine really turns up.
All the kernel developers would have to get the flu or something, so they don't notice
the massive GPL violations, and PJ would have to be sent on a cruise to Barbados or someplace, so she can't get online easily and can't notify the inhabited earth.
"Microsoft's MS-Linux would quickly
become the dominant Linux."
Err. Why? Because FOSS users are just begging to use MS products?
I'll load my "corporate IT manager simulation" module. I can:
A) Buy SuSE or RedHat or Mandrake (or whatever) and get a fully GPL'ed
solution, plus be free from lock-in and have the source code to all my
drivers, and not have any licensing costs, CALs to pay, etc.
Or:
B) I can pay per seat for
MS-Linux, get myself locked into MS-Linux, have half my kernel
closed-source (and of course if it starts crashing or being insecure
from bugs in that portion, I'm SOL), lots of closed-source binary
drivers, pay for CALs, submit to license audits.
For what? So that my $70 BrandX scanner might work?
Tell you what, why don't I give my scanner away and buy a new one that
is supported by Linux! Sure, it'll cost me another $70, but I'll
be saving thousands of dollars by not buying MS-Linux.
The sums don't add up, John. The only person for whom they might add up
is a single-PC individual who finds computers intimidating and doesn't
have the time to do research. But
they'd happily buy Windows anyway. (Or a Mac, if they had more
taste.) Look at the fate
of Caldera's Linux for an example of how 'proprietary' Linux sells like hot cakes. NOT!!
Let me spell it out for you: I get used because I'm open, trusted, free
and reliable. As soon as you make me rely on closed-source code, even
if somehow you could find a way to do it legally, you'd destroy or erode the very reasons
people choose me in the first place.
"The end of Linux will be at hand."
Again? [yawn]
Should I repent now, or later? I think I'll wait. After all, the next
pundit predicting my death will be along in a minute. The mistake the prophets of my doom make is
always the same: they just don't get the GPL. Microsoft gets it. That's why
they hate me and it soooo much.
|