I’ve been spending a little time rebuilding the mess of bookmarks that I demolished a couple of months back. They’re the one thing that I never think of backing up. In a sense that’s a reason that this weblog even exists. I perpetually lose notebooks (which was my old default method of preserving some sense of coherence when continually moving from public machine to public machine — write everything down) and I have a limited memory for convoluted URLs. I’d entirely forgotten about Librenix and I’m glad that semi-random wandering led me back there. As tired as I’m sure most folks are of the GNU/Linux versus Linux argument, an article over there reminded me precisely why being a pain in the ass about the details is so important. His rant is pretty cohesive and he brings up a number of good points but the entire point of strapping the GNU on (god, that sounds really nasty) is lost in the discussion of technical points. Most of us who code or make things involving the Linux kernel know how important gcc is to the creation and development of it. This is a big contributing factor to everyone being so weary with Stallman’s awkward naming of our dear operating system. Being engaged by the technical innards of the beast is the sort of familiarity that breeds contempt or at least impatience. The thing is that there are a lot of people who download an ISO, burn a CD, and are off doing end user tasks. What this ignores is that there is some significant history behind the motivations for developing the kernel and all of the things that float on top of it.
Linus didn’t develop the kernel alone (which oddly enough is asserted in the aforementioned article) and he didn’t begin the project just because he had nothing better to do. Linux was started because Unix was locked away behind prohibitively expensive licensing at least in part. I don’t think that his choice to GPL the whole thing was coincidental no matter how much backpedalling goes on in interviews. I’ll grant that part of this is probably due to the fact that the effort is indeed a collaborative one and you don’t get people sending you thousands of lines of code when you’re going to nail that code into a binary only coffin and pimp it out. But, as I said earlier, we already (or at least should know already know) know all of this.
gcc is usually pretty transparent to most end users even if they’re compiling software they’ve downloaded. In most situations the user runs a configure script, an install script, and forgets all about the process. In the absolute worst case, distributions forgo even the Linux tag and simply name their operating systems whatever which ignores not only the work of the GNU folks but the kernel hackers as well. Lindows is a worst case example as it derives from the work of so many other people but is presented as an independent entity. In this case, you’re also ignoring the incredible work of thousands of people involved with Debian. I’d feel like an alarmist of sorts if I didn’t witness the weird resentment that end users display towards free software developers. If you followed their logic the most important development ever done on any Linux related product was providing an easy installation. Follow that train of thought back a few steps and you’ll start to see a gulf emerging between the spirit of free software development and the spoiled children whining of end users who don’t want to hear about it. Substitute all the helpful and productive bug reports you’ve ever received with a bunch of nasty email complaints telling you how shitty your software is and you might get a glimpse into the future of agnostic open source software. Again, like the GPL, I consider this a measure of self preservation. Do you want a community or do you want a lot of grief?
(An operating system) != (a distribution). Linux is an operating system. By my definition, an operating system is that software which provides and limits access to hardware resources on a computer. That definition applies whereever you see Linux in use. However, Linux is usually distributed with a collection of utilities and applications to make it easily configurable as a desktop system, a server, a development box, or a graphics workstation, or whatever the user needs. In such a configuration, we have a Linux (based) distribution. Therein lies your strongest argument for the unwieldy title ‘GNU/Linux’ (when said bundled software is largely from the FSF). Go bug the distribution makers on that one. Take your beef to Red Hat, Mandrake, and Slackware. At least there you have an argument. Linux alone is an operating system that can be used in various applications without any GNU software whatsoever. Embedded applications come to mind as an obvious example.
That sounds like a wonderful argument but the sad part is that a majority of the reported GPL violations come from embedded projects which points either to total ignorace of what the GPL is all about, willful concealment in hopes that the violation won’t be discovered, or thinking that a couple of dirty hippies with a goat for a logo don’t have the resources to do anything about it. In the first issue of the dead tree FSF newsletter Free Software Foundation Bulletin there’s a really informative article about this by the GPL Compliance Engineer David Turner. He writes that
A plurality of GPL violations on FSF-copyrighted Free Software are in the embedded market. Companies often port GCC to new chips or boards and distribute the binaries without releasing the source code.[ ...] Corporate lawyers often like to wrap a whole distribution with an End User Licensing Agreement (EULA). Most of the time, such EULAs are incompatible with the GPL, as they attempt to trump the rights that the GPL protects.
I guess the point here is that while the awareness of Linux continues to grow the understanding of or respect for where it comes from seems to decrease. I don’t think I’m too far off base by pointing to a correlation here. Unfortunately, a lot of the burden of dealing with explaining how the GPL works falls on the FSF and sometimes they even have to explain how it can coexist with non-free software (again quoted from David Turner)
Sometimes, we have to explain the intricacies of how GPL’d code can be distributed alongside proprietary code (and how it can’t).
Sucky isn’t it?
I didn’t set out to point by point refute the article at Librenix. Hopefully this doesn’t come off that way. I just think that people need to step away from the console for a few seconds when considering the validity of Stallman’s argument. I don’t think fame was ever the motivation for any of his creations and I don’t think that it’s his motivation for badgering us with the request to use “GNU/Linux.” It’s just something to give a little consideration to before writing some spleen venting about RMS’ stubbornness even though lines seem to be already drawn in the sand for most people at this point even for those who don’t know the details of the work he did/does and how important that work is for what we’re doing now.