That is, the part about the end not justifying the means.
In case you’ve missed the recent furor over proprietary modules in GNU/Linux distributions, here’s the deal: because of the rise of popular titles available for Linux gaming, and because of the availability of hardware-accelerated desktop graphics like Xgl+Compiz or AIGLX, getting the vendor-supplied drivers for ATI or nVidia graphics card is almost unavoidable. The problem is that unlike Intel, which recently opened the source for its modern graphics chipsets, the hardcore graphics card makers only provide binary blobs—closed-source modules whose very nature means they can’t be shipped with most distributions. Similar problems arise when discussing mp3 or Windows Media playback on Linux system, which require installing more binary files or open-source programs that exist in a legal grey area in countries that let software monopolies rape and pillage to their hearts’ content (read: America. Thanks, USPTO!).
This presents a problem for a number of reasons: one, the security and quality of the program itself is not up to package maintainers, but rather to the third parties that provide the binary blobs—until today, for instance, nVidia didn’t provide a driver set that would support X.org 7.1, which was released in May. But more important, binary blobs violate the spirit of the Open Source movement (e.g., users can’t edit the source or freely redistribute the program), and make life difficult for projects like Debian, which claim 100% compatibility with Open Source guidelines.
So, the furor is: to what extent to binary blobs like video card drivers get official sanction, and to what extent should development cater to the availability of these proprietary modules?
Well, enter in Eric S. Raymond, famed proponent of Open Source in general, saying some pretty strange things.
As an open-source ambassador, he’s prepared to push some uncomfortable notions. “We need to be prepared to go to the rights holders for these proprietary codecs and say, we’ll give you money, give us a license,” he said. “This is something that the Linux community has a huge antipathy to doing because we’ve got all this idealism about open source. And in the long run, I think that’s true, I view comprising with the proprietary codec vendors as a tactical move designed to get us larger end user market shares, so that in the end we can push more things to the open.”
He makes idealism sound like some sort of kinky hangup instead of a laudable quality. Mind you, I don’t doubt ESR’s sincerity—he’s been passionate about open source software for a long time, but I think he’s maybe missing the point. First of all, he suggests giving rights-holders money for licenses to, say, patented codecs. Who’s going to fork over this money? FOSS is by-and-large a volunteer movement—Novell and Redhat aside, there are no cashcows who are going to pay exorbitant licensing fees for a patent that should never have been granted. This is a problem with patent law, not the FOSS movement. Second of all, ESR seems to see this compromise as a means to an end, but he should know better (or am I too cynical?). If GNU/Linux makes compromises now—accepts binary blob graphics drivers as canonical, for instance, or starts shelling out licensing fees on a per-distribution basis for out-of-the-box WM[A/V] support—and somehow makes enormous gains in the desktop market, does he really think that’s going to give them bargaining power? If, a few years from now, GNU/Linux is a major player in the market, and has accepted into its philosophy the “mostly-open, but some proprietary” stance, what clout will it really have to turn proprietary providers into good, line-toeing GPL-followers? None. If GNU/Linux accepts proprietary now, I don’t think there will ever be a point at which the movement can stop and say, “OK, we’ve had enough of closed-source modules now. Let’s flex our muscles and make them open-source their drivers!” Vendors can merely point to the movement’s hypothetical history of tolerating closed-source code and insist that if proprietary code and licensing fees have worked for them ever since ESR advocated it, there’s no reason to stop that lucrative (for the vendors) deal now!
I hate the term “slippery slope,” but I think in this case, we really are looking at one: I understand that the end-user makes compromises in terms of the FOSS philosophy—hell, I’ve got ATI’s binary blobs running right now on my Ubuntu 6.06 installation—but I think that compromise needs to be left to the end user. Once the distributions start doing it, all bets are off—from there, you’ll see X server releases tailored to meet the whims of video card manufacturers. You’ll see wifi support bend over backwards to accomodate a legion of different vendors. You’ll see format wars—clusterfuck, thy name is Codec—until there’s no choice but to permanently taint everything out-of-the-box with the stink of proprietary code, meaning that you marginalize developers without the money or clout for licensing, and forever knock off-course the upward trend of free software.
I’d expect such blathering from John Dvorak, but Eric S. Raymond should goddamn well know better.