Re: Circumventing the GPL via open standards
"Deven T. Corzine" <[email protected]>
| Newsgroups | gmane.comp.emulators.wine.license |
|---|---|
| Message-ID | <[email protected]> |
On Mon, 10 Jun 2002, Roger Fujii wrote:
> oh, you hit a really sore spot with me on rms and UDI....
Yeah, his stance on UDI ticks me off too.
> You can see what rms' real intentions are when you look his reasoning
> with UDI. Having drivers that is OS independent (even if it were at a
> source level) would be a *good* thing, as it would give the end user more
> choices (no longer would you be locked into any particular OS to get a
> piece of hardware working). However, rms is borderline against UDI.
> Why? Because it does not push the GPL agenda (and no, I'm not putting
> words in his mouth)
> http://slashdot.org/articles/98/10/04/2211242.shtml
A more canonical reference to this diatribe is on the GNU website itself:
http://www.gnu.org/philosophy/udi.html
RMS is being shortsighted and foolish with this stance on UDI. First, it's
obvious that he made a snap judgement here. It seems he did the same with
the term "Open Source". Yet, rather than reconsidering snap judgements
later in the light of additional information, he always seems to feel like
he's compelled to rationalize and reinforce his initial snap judgement to
avoid having to reverse himself. This doesn't inspire confidence in his
judgement, as far as I'm concerned. People make mistakes, and should have
the integrity to admit their mistakes instead of pretending they make none.
It's not hard to see that Stallman made a poor judgement about UDI:
* He presents it as an Intel initiative aimed at taking advantage of the
poor free software developers working on Linux. In point of fact, UDI
was originated by major proprietary Unix vendors like SCO, Sun and HP.
Intel was a relatively late player in UDI. UDI was designed to unify
the driver support for Unix systems for the benefit of the OS vendors
AND the hardware vendors. Linux wasn't even a factor in the equation.
* He even admits that having one driver for a hardware device work on any
operating system would be a good idea, as it would "enable a higher
level of cooperation". This is true, and UDI's entire purpose in life.
But then he ignores this wisdom and proceeds to argue against UDI since
his snap judgement was that Intel was trying to take advantage of free
software developers.
* He described the "actual world" as containing "both free software
developers seeking cooperation, and proprietary software developers
seeking domination". Strangely, with UDI it's the proprietary software
developers seeking cooperation (that's what UDI is all about) and the
leader of the free software movement (RMS) seeking domination -- since
RMS doesn't see UDI as a benefit to the free software movement, he is
opposed to it -- it doesn't further his drive toward GPL domination.
* He then goes on to list the supposed risks of UDI, ignoring completely
that discouraging people from participating doesn't abate those risks.
* "People could run free GPL-covered Linux drivers with Windows systems."
First off, who cares? Almost every hardware vendor targets Windows
support anyway, so there's no NEED to use a free driver from Linux.
Second, this would require Microsoft to support UDI -- since it would
weaken their grip on the OS market, they're not likely to do this. (If
Windows supports UDI, there's no longer a reason to write native Windows
drivers, which opens the OS market up more to competitors!) Finally, if
Microsoft really wanted to do this, they could support UDI on one hand,
help port Linux drivers to UDI separately (maybe anonymously), and let
the user put the two together. Hostility from free software developers
couldn't stop this from happening. But again, why would they bother?!?
* "It can also be a violation of the GNU GPL to link the drivers into a
proprietary kernel." This is wishful thinking on his part. He wants it
to be a violation, but he has to realize that dynamically loading modules
with a neutral API does not a derived work create. This is pure FUD.
* "People could run non-free Windows drivers on GNU/Linux systems." Hello?
Linux already allows non-free proprietary binary device drivers to be
used on "GNU/Linux" systems. ("GNU/Linux" is a misnomer, but that's a
whole different discussion.) So there's no protection against non-free
drivers in Linux. Also, to run Windows drivers, specifically, you'd need
to port the Windows driver source code to UDI. Most Windows drivers are
proprietary, owned by the hardware vendor. Thus the vendor would need to
do the porting. If the vendor did this, it would be GOOD for Linux, as
it would weaken Microsoft's stranglehold on the market. But RMS doesn't
see this; to him, it means a possible increase in non-free code used by
people he's trying to force to use ONLY "free" code, GPL if possible.
* "This would not directly affect the range of hardware supported by free
software." On the contrary, it would greatly expand the range, but if
it's via a non-free driver, that's Just Not Good Enough for Stallman.
He'd rather be obstinate for political reasons than to have people use
non-free drivers to run Linux (free software) on. Nevermind that many
people who might use Linux can't because there isn't a free driver for
their hardware, so they continue to use Windows.
* Most importantly, UDI could end the fragmentation between the various
free software projects regarding hardware support. Linux supports some
hardware, while FreeBSD's hardware support is different. HURD only has
hardware support when it's ported from Linux, an effort that wouldn't be
necessary with UDI. Windows doesn't have much to gain from UDI, so it's
a near certainty that Microsoft won't support it without strong customer
demands for it. (And in their monopoly position, even that probably
won't be enough.) Proprietary Unix vendors WOULD benefit from UDI and
free software drivers, but at least it's easier to wean people from a
proprietary Unix to Linux than from Windows.
* Ironically, UDI is probably the HURD's best (and perhaps only) hope for
taking over from Linux as the default kernel for "the GNU system". This
suggests that Stallman should jump at the chance to get Linux developers
to support UDI, but his GPL worldview is so myopic that all he sees is
the possibility of mixing free and non-free code, and he freaks out...
* "[...] the ultimate goal for free kernels and drivers: supporting all
important hardware with free drivers." For most people, they want to use
free software, sure. But they just want their hardware to WORK, whether
or not it's free software. They'll take a black box if it works. Oddly,
Stallman doesn't blink if the black box is in microcode or even tied to
the processor like Transmeta's chips. But run it with the normal CPU
instructions, and suddenly it's sacred and MUST be free software or else.
Stallman's ultimate goal is GPL world domination. Most Linux users will
be satisfied with a driver that works correctly on their hardware.
* "One way to make a deal a good one could be by modifying the UDI project
itself. Eric Raymond has proposed that UDI compliance could require that
the driver be free software." Now we see the true motivation. Stallman
wants to use community support as a bargaining chip to get UDI to join
his crusade against proprietary software. Nevermind that proprietary
software companies have spent YEARS developing the UDI standard -- all
Stallman cares about is his goals. Nevermind that Project UDI has made
the standard available freely to ANYONE -- they easily could have charged
money for it, and the proprietary companies could easily afford to pay.
He has no right to ask for the authors of the standard to lock THEMSELVES
out of using it! Project UDI was developed by people on the payroll of
proprietary software and hardware vendors. If they want to develop any
proprietary drivers with it, they have every right to do so. It's pretty
sleazy of Stallman to try to hold them hostage for community support,
just because of his petty self-interest.
Project UDI has been very open and neutral in their approach. In theory,
UDI drivers could run as well on Windows 3.1, Windows 95, Windows NT,
Windows XP, MacOS, OS X, Darwin, FreeBSD, OpenBSD, NetBSD, Linux, HURD,
BeOS, AmigaOS, Amoeba, and yes, even MS-DOS. In theory, UDI can be made to
work with just about any operating system model, single-threaded or
multi-threaded, single-user or multi-user, single-CPU or multiprocessor,
memory-protected or not, virtual memory or not, etc. It's a brilliant
piece of work, and it has the potential to significantly advance the state
of the entire computer industry, and might encourage more open standards.
(Filesystems would be the next obvious are to tackle.)
UDI is a very GOOD thing, and Stallman is being petty and shortsighted by
refusing to support it. Linux developers shouldn't blindly follow his
lead on this, but of course they will. Maybe the BSD community will help
support UDI. They're not blind idealogues...
Deven