I propose a truce in this too-long prolonged GNU/Linux debate, and to forge this truce, I offer for your perusal, a more precise taxonomy ...
Dig: GNU is not Unix, Unix is not GNU, All Linux distros are GNU, GNU is not only Linux. Got it? Good.
I propose a truce in this too-long prolonged GNU/Linux debate, and to forge this truce, I offer for your perusal, a more precise taxonomy ...
Dig: GNU is not Unix, Unix is not GNU, All Linux distros are GNU, GNU is not only Linux. Got it? Good.
What's in a name?
I don't want to troll for flames here. Refine it or please just walk away and go on doing whatever you were doing before you got here, but Free Software is rapidly gaining steam and it's time for those of us in the free software sphere to work together to get the word out, and to get it straight. It's time we started calling a GNU a GNU.
We have no professional issues creating open-standard and well-formed XHTML, we accept all RFC definitions, and we do this because it keeps our communications clear and unequivocal. To this end, I propose a clearer taxonomy that turns back the clock on the word piracy and PR sour-grapes issues, and I for one am pledging to reform my language to reflect a correct terminology:
GNU is not Unix. Because we've never applied for the certification, GNU is not even "Unix-like" although we can say that Unix is GNU-like. GNU is an operative system, a conglomerate and aggregate entity of a set of free-softwares forming at least the minimum infrastructure for running software applications.
Just as there is no single program called "Unix" there is no file on your disk called 'GNU' -- GNU is abstract, ethereal, untouchable. Like Unix, GNU 'exists' only in the mind. GNU is a way, a world-view that defines how we engage our computing hardware.
GNU can also be used under proprietary and non-free open-source applications, GNU can even be used to run Windows applications under some sort of GNU:Windows emulation.
GNU can also be assembled without the Linux kernel by using any not-Unix kernel, so the set of GNU operating systems is more than just the hundreds of Linux distros, but all those Linux distros are variations on GNU.
The Linux kernel is used in some GNU systems and mediates between the applications and the hardware, and it is largely responsible for the reliability, security and performance of the overall system, so it's important to know if you are building your GNU on Linux or not.
Now this is important: Applications are not Linux, but some applications are Linux-bound because they interact with non-standard kernel services; when we talk about GNU, we are speaking of the pan-Linux/Hurd issues, things that apply across the GNU family of operating systems products. Today, that's almost always Linux, but still does not specify which Linux distribution.
It's worth a footnote that Linus did not want to call the kernel Linux. The name was foisted on him because the more descriptive term 'Free-ux' (sp?) was rejected by his peers, and they posted the code. The current name gives a mis-perception that Linus Torvalds somehow owns this kernel. He doesn't. Thanks to his genius, we all own it.
This is where it gets ambiguous although never ambiguous in practice: 'Linux' also means "One of the family of packaged GNU systems using Linux as its kernel" -- this is a simple Venn intersect of the names the vendors have chosen, so it's a linguistic rule the same way all colas are called colas. If it says 'Linux' on the box, you're fairly assured your Linux-bound GNU applications will run on it, and only somewhat assured your Hurd-based GNU applications will also run on it. Linux is-a GNU, so you know that pan-distro GNU apps are also likely to run on it.
And this is important too: Freedom from any one corporate (or org) DRM means we are free to call what we make by whatever name we wish.
You cannot logically talk about freedom of expression and then require other people to call their products what you say they must be called; it's foolish to boycott any business because of the operating trade names or logos they use.
Boycotting something like the Linux Professional Institute because it is not called the GNU/Linux Professional Institute is as pointless as boycotting Proctor and Gamble because they use mystic symbols in their company logo or boycotting Nike because it reminds you of some guy named Michael who stole your jacket in grade 5. It's only a trade-name, it could as well have been the Miles Davis Professional Institute of ICT or Media Whore Sportswear. Save boycotts for real reasons like sweatshop-labour and animal testing.
Everyone is free to call their GNU whatever they like. They can call it "10,000 Nuns and Orphans Eaten by Rats" if they so wish ("and with a name like that, it's got to be good")
Unix is a trademark and a strictly proprietary system that is superficially similar to GNU, but similar enough that many GNU applications will run on Unix systems with a minimum of porting fuss. Some Unix systems are Posix, and Linux is Posix, so there are many Linux-bound applications that find their way on to BSD, OSX, IRIX, HP-UX, AIX and Solaris systems, but that does not make those systems 'GNU' (because GNU is not Unix) -- those are all still Unix systems, but they can run ported GNU applications.
Now, dig this because this is important too: When I go into an ICT shop and ask about their O/S, sometimes they say "We use Unix" but they also might say they use HP-UX or Solaris or BSD ... they will only very rarely describe their operating system as both and I have never in my 25 years professional experience heard anyone use a term like "Solaris Unix" -- we don't do it because it's redundant, like calling a dog a Dog/Beagle. A Beagle is-a dog, Solaris is-a Unix, and Linux is-a GNU. Seen? Sometimes the special case is important, sometimes it is not. It depends on the context of the question.
Just as Linux has ambiguity between describing the kernel by Torvalds et all vs describing the set of vendor packages of Linux-based GNU, so too popular parlance breeds confusion when we describe certain applications as GNU when we really mean only that this particular application is free software licensed under the GNU General Public or Lesser Public license.
These application are not GNU -- although they are not Unix, that's getting semantically absurd: My cat is not Unix either -- they may not even be a part of GNU because there's nothing in the GPL (anymore) that forbids creating free-software for non-free operating systems.
IMHO, this is where we need a new taxonomy to efficiently describe GPL free software from many greyscales of GPL-like free software, but I don't think we're going to get one. Like it or not, it seems 'GNU' must similarly hold a dual meaning to denote GPL free software.
That's my list, and I'm pledging to live by it on www.teledyn.com. I haven't migrated all my 1000's of legacy articles, but I have assigned all my previous 'Linux' items to reside under the 'GNU' category, because mostly, that's where they belonged, and then fixed up the past few months worth to fix-up truly Linux items. Obviously many articles are also crossing points between the two taxonomics.
'Survival' means 'Putting into practice' (Zen proverb)
I will implement these definitions in our websites and in my future writings by following these topic assignment rules:
Items about Linux distributions or about developments specific in the Linux kernel, it's a Linux item.
The SCO debacle is a Linux thing, as are press release announcements from any Linux vendor.
Items about the GNU alternative operating systems independent of specific vendors are GNU items.
This includes general news about the adoption of GNU desktops in governments and businesses.
Items about the Free Software movement, about the growing number of businesses who are seeing the light and embracing the GPL -- or any compatible free-sharing license -- will become GPL items.
This includes stories about previously proprietary works going GPL, about GPL success stories, or any of the other issues to do with the puritan definition of freedom in intellectual property.
If all they do is share the source, it's an Open Source item.
Without doubt there are crossing points and grey areas, and, well, I'm not all that disciplined in the first place. But at least it's a start, and besides, the word-sound of 'GNU' opens up a thousand dimensions of useful puns and groaners.
Hello, my name is Gary, and I run with the GNU.
The free-software message of GNU in the information technology world is critical, and recognition of the Free Software Foundation is vital and deserved. Maybe we can't take out double page spreads in Business Week to get our point across or put up major islands of PR in every trade show, but we can do what we do best. We can be precise and clear.
And who knows ... maybe applying our engineering precisions to our own language can open a few more eyes to the GNU way of seeing.
One thing to remember is that a good number of Linux systems are *not* GNU systems. It's rather a bit arbitrary as to which parts are necessary to call a system a GNU system, I'll admit - but when you're running a Linux system using a non-GNU libc (like dietlibc, perhaps), non-GNU utilities (busybox? BSD tools?), XFree86 and KDE, etc. the system *isn't* a GNU system.
Even an OS running glibc, GNU userspace tools, etc. could still arguably *not* be a GNU system. Just because you install GTK on a Windows box doesn't mean you're running a GNU system; it just means you've a library that's part of the GNU project installed. When my OS requires many non-GNU utilities for me to consider it "operating", such as XFree86, the kernel itself (say what you will, it's not an OS without the kernel, and its not a usable OS without the Linux kernel, due to binary compatible and driver requirements), a desktop (I use GNOME, which is part of GNU, but the ever popular KDE, ROX, XFCE, and many others are not), then my OS isn't GNU. It's GNU plus a whole bunch of other stuff. Just calling it GNU is doing those other parts just as much a disservice as calling the whole thing Linux.
It's also important to note that you can swap out almost all the GNU parts of a Linux OS, and still be 100% compatible. Swap out the non-GNU parts, however, and you likely end up with a non-compatible OS. Linux is Linux with or without GNU, but Linux isn't Linux without Linux. ;-) All of my applications, hardware drivers, etc. care a lot more about the Linux part than the GNU part. ~,^
Basically, what I'm getting to, is that while *you* may be a running a system that is just GNU + the Linux kernel, many many people are *not* running a GNU OS at all, but are running a different OS in which the GNU parts play a relatively minor role; a role that can be replaced easily without even blinking. So sure, GNU may very well be the right term to use in many cases, *maybe* even the right term to use for all my systems, but don't fall into the trap of assuming that "all those Linux distros are variations on GNU" - only the GNU/Linux distros are variations of GNU. ;-)
It seems to me that opponents of free software have done everything they can to co-opt and pervert the movement by subtle and not so subtle changes in terminology. I particularly have a problem with the dilution of free software by equating it with the term 'open source'. I mention that in the following article Defending Stallman.
Free software flows cleanly from the GPL and GNU. It might flow cleanly from other sources as well, but it's hard to say for sure. Note that rms was slammed for getting his nose out of joint about calling GNU/Linux merely 'Linux'. I think that the best solution is to either dub one of the new releases simply 'GNUOS' or something like that or (preferable) build a nice new clean kernel and give it a name that appropriately refers to GNU.
I agree with the spirit of your hierarchy. What is needed is some push to educate the public about where this stuff comes from and why. Given that GNU was around long before Linux and is the source of the majority of the code, etc. I think it would be reasonable to expect major players like IBM, RedHat, Caldera (ha ha ha), etc. to make some note of it in their advertising. Not so. I think that it better serves the interests of a lot of the weasels that moved into the Linux spotlight to obscure the real source (pun etc.) of the code they are distributing.
SCO is the most flagrant example of what I think is a spirit that plagues the free software movement. They are simply using using the bandwagon for their own purposes and it best serves their interests to misrepresent the movement altogether. Their most powerful weapon in this is perverting the language of discourse. [BTW -- I honestly think that the SCO thing is just an old-fashioned stock swindle, nothing more. By sending everyone off on a red-herring debate about their chances of winning their nonsense suits they obscure the fact that they are cynically pumping and dumping SCO stock.]
elanthis, you're nbringing in outside definitions which I did not present, and those scenarios are irrelevent. My purpose here is to arrive at a precise taxonomy based on these terms. If you run Linux, you're running GNU, and I don't see how X gets into that picture. If you can run Linux with a non-GNU libc, they you have something else because what I said was
GNU is an operative system, a conglomerate and aggregate entity of a set of free-softwares forming at least the minimum infrastructure for running software applications.and I also said that you can use bits from a GNU system, but that doesn't make Solaris GNU if I use GNU parts on a unix core. By your own descriptions, those systems you describe with libc and other core and fundamental unix parts missing already disqualifies those systems. However, using a proprietary X server does not, because that is not part of the fundamental minimum operative system, it's just an application. I don't destroy the GNU-ness of Debian by running Netscape on it either.
Also, in that scenario
Linux is Linux with or without GNU, but Linux isn't Linux without Linux.I assume you refer to certain embedded platforms, and in those cases, you may be right, it may be possible to have Linux (which itself is GNU Software under my definitions above) but have it supported in the fundamental device O/S by proprietary systems. In that case, yes, you have the Linux kernel that is not GNU (but neither is it Unix) and you may even have a Linux distro for this odd package.
The only such system that comes to mind does not exist yet: That's the ELK distro for the 8086 Embeddable Linux Kernel ... which I do not believe actually exists and by my reasoning, I wouldn't precisely call it an "operating system" if it did, but I will concede that it is potentially operative.
So, assuming you can show that it is possible to have the GNU-free Linux O/S, you have a point: Almost all Linux systems are GNU systems and so, yes, the two are effectively distinct because they are only partially overlapping.
Nonetheless, I would not expect my GNU applications software to run on your un-GNU Linux, so I will still need to ask "Is it GNU?" (and that returns to the other point, that the vendors should carry a GNU-head logo that certifies their compliance to a minimum operative system based on the GNU components) -- even so, it is such a rare scenario that it is more lexically and linguistically efficient to simply note that ELK is un-GNU and leave any unspecified GNU-ishness of a Linux as understood; we don't need to have RedHat say they are GNU, we just need to purple cows to say that they are not.
I'm not any expert on the subject of linkages and libraries and licenses (oh my), but I do know that Linux is GPL, so then, is it legal to link Linux to any non-GPL library? Thus, I believe I was perhaps right the first time: All Linux are GNU.
I agree with the spirit of your taxonomy and with most of the specifics of your article, but I disagree with your last two bullets - and I believe that even Stallman would agree with my reasoning on this (although of course I haven't asked him - but what I'm about to say is in line with what I know of his stated opinions).
Firstly, as you correctly point out, the GPL is not the only Free Software license. There are at least two categories of Free Software license recognised by the FSF as acceptable: GPL-compatible, and GPL-incompatible. Reading your definitions strictly, it sounds like you're proposing that GPL-compatible free licenses would go under "GPL", but GPL-incompatible free licenses would go under "Open Source".
This has two major problems: Firstly, despite being compatible, GPL-compatible licenses are *not* the GPL itself. Your reasoning puts the X11, Modified-BSD, and LGPL licenses under the GPL category, when in fact they do not belong there. And secondly, it draws a major distinction between GPL-compatible and GPL-incompatible, but draws no distinction whatsoever between the far more important criteria of Free versus Non-free. The MPL, original-BSD, Apache, and numerous other FSF-recognized free licenses are lumped with the non-free stuff for no good reason.
Thus, I'd suggest your second-last bullet should cover all Free Software, by the FSF's definition, regardless of whether the license is GPL-compatible. Stallman would have you call this category "Free Software", ESR would have you call it "Open Source" - but both would agree, pretty much, on what its contents should be.
Which brings me to my second major problem with your taxonomy, which is the use of the term "Open Source" to cover non-free software as long as the source is available. Even though RMS strongly disagrees with the use of the term "Open Source" in general, even he is quoted as recognizing that the software to which it refers is the same software as what he would call "Free Software". I think the exact quote went along the lines of "We're referring to the same software. We're just saying different things about it". In other words, using the term "Open Source" is, to Stallman, a problem of emphasis - the emphasis is on something other than the Freedom involved - but not a problem of correctness, because the set of software covered by the two terms is the same.
Thus, the use of Open Source to refer to non-free software is misleading, and doesn't correspond to generally-recognized usage of the term - even the usage recognized by Stallman, who hates it! I suggest using a term like "Available Source" to refer to items for which the source is available, but not Freely licensed.
 Note that I'm purposely taking no position on what you choose to call this category, as long as it isn't misleading in the way it currently is.
We can also have a GNU system running with a BSD kernel, as demonstrated by the redoubtable mjg59 and his tour-de-force Debian GNU/NetBSD. It's likely that there are more GNU/BSD systems in production than GNU/Hurd systems. In fact, it's (still) premature to list Hurd as a viable GNU kernel. When we say GNU is not picky about kernels, we should list Linux and the BSDs as kernel candidates. We can add Hurd when it's ready. (I'm not holding my breath.)
I'm ncm and I run Linuxy GNU systems. :-)
GNU/BSD, how can that be? Isn't BSD unix???? Certainly you can have a BSD system, which is Unix, and fill it out with almost 100% GNU utilities, but you don't have a GNU system, you have a BSD-Unix system that uses GNU bits. By my definition above, to be a GNU, it has to be GNU, and GNU is not Unix.
Yes, I wasn't clear on that point, but you are right, there is Free software, and then there is Free Software. So as not to clutter my taxonomy, what I actually use is the subject of Free Software for compatible and incompatible to GPL, and for strictly compatible to GPL I use the 'GPL' topic, even though it may not strictly be GPL but just a good plug-compatible clone.
But for opensource, I actually have a sinister ulterior motive: I want the non-free 'opensource' pretenders lumped in with the Microsoft community shared-source to make a point ...
well, ok, that's an exaggeration because I never talk about Microsoft's farce as anything like opensource, but let's say the Sun Community License instead, or wait, maybe not ...
GNU doesn't mean GPL'd software. Software is explicitly part of the GNU project, or not. Even if I'm using "definitions" outside what you proposed, it doesn't matter - my Linux system is mostly not GNU, and the GNU software on it is mostly optional. I could with a bit of effort strip out just about all GNU software. I'd still have a lot of GPL software left, but it wouldn't be a part of GNU. There's quite a few existing distributions of Linux which aren't GNU, you can find them if you look. (Certainly, none of the major desktop/server distros are non-GNU, that I'm aware; and, as I said before, I'd agree those could be just called GNU.)
And yes, there *are* tons of non-GNU Linux OS out there. I'd wager most embedded Linux systems, which probably already outnumber the desktops/servers, don't use much GNU software at all. I certainly wouldn't want GNU software, which is rather known for being over-bloated with extensions and features (which are *good* things for users, just bad for limited resource embedded environments) running on an embedded system. ;-)
GNU apps are also quite capable of running on non-GNU systems, assuming you wrote your app well. You don't write an app for the GNU OS, if you care about portability, you write your app for POSIX and/or other standards. GNOME is GNU software, and runs on very non-GNU systems.
And back to X and such, it *does* matter. If you take X off my system now, it's useless. I no longer have an operating system, I have a useless terminal. I can code it in, perhaps, or maybe run a web server, but that's not what the computer in front of me is for. My OS *must* have X, *must* have a desktop, etc., or its no longer operating properly. A non-GNU piece of sofware, XFree86, is fundamental to my OS. Likewise, another non-GNU piece of software, the Linux kernel, is also fundamental, since my hardware doesn't work with any GNU-supported kernel I'm aware of, aside from Linux. Pure GNU doesn't operate on this machine, and it's as much a lie to call this OS GNU as it is to call it Linux, or call the OS XFree86.
Really, the whole reason I'm bring this up at all is because you mentioned that "All Linux distros are variants on GNU," which is untrue. Just most distros. ;-) I think its clear that's been corrected now, so I'm not going to argue on it anymore. My first post was intended more as a side note than as a counter-argument. ^,^
I grant you that there is a substantial body of non-GNU use of the Linux kernel in the embedded market, and those are certainly not GNU, but to say GNU without X is useless is ignoring every backroom server, and a blatent insult to blind programmer and non-programmer who do 100% of their work on emacspeak. Them's fightin' words partner ...
But ok, you win on the embedded case and I'll accept that there are Linux-kernel systems running independent of GNU, and just as there are Unix systems running high percentages of GNU-system software (I ran such at U of T because we couldn't afford the rest of IRIX) so ok, Linux does not imply GNU when used in the kernel sense, however, used in the distro sense, it still does and thus it doesn't really upset my taxonomy that much.
Append it to "All Linux distros are GNU" ... at least until we find a counter example in the real world.
I've been practicing saying this, for theraputic purposes, and just to gage some reactions. It actually feels good, like its something cutting edge and new.
I use GNUtry it. it's fun.
As you might expect, I read the whole thread with great interest. Any thoughts out there about the GNUness of GNU-Darwin?
Of course, I have my own thoughts about this, but I am interested in what you all think.
Please try not to get confused by religion. Ask a true-blue BSDer if BSD is Unix. ("No, it's BSD.") Ask the Open Group, legal holder of the UNIX trademark. ("The BSDs have no license to apply the name.") None of those things matter, really; a BSD system is still Unix, by any name.
GNU was the first project to produce a Free-qua-Free OS. Replace any one component, even the kernel, and it's still a product of that project. After all, GNU doesn't even have an official kernel, and for most of its infancy it was hosted on purely proprietary kernels. The BSDs and their kernels are entirely Free, so are fully qualified as candidates for components of an officially GNU complete system.
Debian GNU/NetBSD uses all the components of the Debian GNU distribution except the kernel and a few kernel-related utilities. Debian GNU is a complete, maintained system. Each BSD is another. Swap pieces between them and you haven't changed that; what matters is the heritage of the complete system, and its maintainers. In the case of Debian GNU/NetBSD, the Debian Project maintains a GNU distribution. The BSDs have adopted lots of GNU-project components, most notably the C compiler, but they still argue too much, so they are still BSD.
There have also been projects to put the BSD userland on top of a Linux kernel -- mostly to take advantage of Linux's more complete driver coverage, and/or more mature SMP. I don't know how much progress has been made. In any case, such a system would be a BSD system, not a GNU system, regardless of the kernel.
(Is it legal to put the BSD userland on top of a Linux kernel? Of course. One would have to be very confused indeed to believe otherwise.)
When I refer to GNU, I refer to GNU project. If there is a "proper" use of GNU that is probably it. The history of computing consists of many complex interactions. The article is revisionist in principle, trying to assign entirely different meanings to existing and known names.
Free software is not the unique conception of RMS, but he is undoubtably the most successful in writing about his interpretation of the idea and recuiting followers to his particular ideology.
I think the success of free Unix systems owes a great deal to the prevalence and influence of standardized C. There is really so much history present in what today is known as GNU/Linux systems. So many independent developments and different styles of development. In no way could someone say this was product of one train of thought, one set of ideas.
The problem with software packages is that you can mix and match components quite freely, so if one wants precision in naming software, it's pretty much a lost cause. In an RFC, a definition means one specific thing, or one class of specific things. But a software package can be composed of many things from many sources. Suppose I build an OS kernel with some bits taken from Linux, some from *BSD, some from Hurd (well, with the Flux OSKit this may be possible...), then heap upon it a shell with elements of bash, csh, es and what have you, and follow that up with the good old X server, some no-name window manager, and a hand-hacked HTTP server. Can you give a precise label on that?
If this sounds unrealistic, we just need to see that most **ix distributions contain software from a variety of sources, and labels are just a convenient way of referring to those huge melting pots we call software distributions.
SCO's main fallacy doesn't lie in twisting the meanings of terms, it lies in purposely confusing the philosophy behind a movement with the copyright license that realizes it. To summarize:
(1) We don't like the FSF philosophy.
(2) Ergo, the FSF philosophy is invalid.
(3) Ergo, the GPL is invalid.
However, the GNU zealots would like to twist that into something that supports their own agenda of using the terms "GNU/Linux" over "Linux", and "free software" over "open source" (even if the word "free" itself is ambiguous!), and "RMS" over "ESR" or "Linus"... I say, forget any truce, let's just go on arguing. :-B
GNU is not that much about technical things - they are second most important. The idea Richard announced 20 years ago, is to write a Free operating system in contrast to the more and more unfree getting OSes. So the "is not Unix" is more related to AT&T making the unix source code unavailable.
The definition of Free Software was not established at that time because most hackers have ever been sharing code and didn't feel hindered by lawyers.
Over the time, many decisions have been made, and one of them was that GNU (the OS) will include parts of software which are Free (like X) but have not been developed directly or GNU. OTOH, it is also important to keep a lot of parts under the auspices of the GNU project to avoid the danger of getting GNU proprietarized and thus keep a Free operating system around.
GNU/Linux is IMHO a good name because it gives credits to all those hackers who build a GNU system from the existing parts and a new kernel.
With more support, the Hurd folks will eventually succeed and fulfill the orginal 1990 plan for the GNU kernel. The name should then be GNU of course. However this is not important to Free Software, the ultimate goal of having an entire Free operating system has been achieved with GNU/Linux, many years ago. Whether having The Hurd as kernel, or Linux or the BSD kernel is merely a technical matter and thus secondary.
The problem with the proposal of "truce" is that it begs the question of who it is that you are negotiating with.
"We, the readers" are not the ones that determine what is or is not considered to be "GNU." The prime mover, in that regard, is none other than Richard Stallman, the prime mover of the FSF.
Licensing does not determine what is "GNU Software," since things like TeX and XFree86 have been considered part of the "GNU System," despite being licensed under non-FSF-related licenses, and things like KDE have not been considered part of it, despite using FSF licenses.
No, the answer to the question "What's GNU?" is, instead, "What RMS Thinks is GNU." So if there is to be any detente, it must be with RMS and others involved in running the FSF. Convincing anyone here of the merits of your arguments is irrelevant when the people that need convincing are those at the FSF; RMS, Bradley Kuhn, and such.
There is no "truce" in submitting an open letter that the relevant people never bother to read because they were never aware of its existence. And there is no truce unless the relevant people actually agree to a truce.
These issues of whether one hybrid is one name or whether some other is not was not in my article: Clearly I said that hybrids are possible and I have used Solaris with GNU utilities for years before Linux was even a concept. That doesn't change the simple fact that some systems are GNU, and to say GNU/Linux is redundant because all GNU systems using the Linux/GPL kernel are GNU, they are in fact one of only two currently available species of GNU, the other being GNU using the Hurd.
My proposal is to call both of these systems 'GNU' systems, to distinguish them from all other O/S as being of the genus 'GNU' of which there are oodles and oodles of not-quite-compatible species, for example, try deploying RedHat RPMs on SuSE and you'll find the LSB is not all it's cracked up to be. (ok, it works sometimes)
The purpose here is not precision in saying you run a "GNUish Apache/OOo system with some stolen bits from SCO" (shhhh) -- the purpose is to stop quibbling about what the kernel might be, and to be proud of the fact that it is not Unix, but GNU.
Because it is GNU. Plain and simple. Solaris with GNU-software (which I also defined seperately in the article) is not GNU, it is solaris with GNU-software, and ditto for BSD and OS/X with GNU-software. Similarly, BSD with a GNU-software kernel is not GNU, it is BSD with a GNU-software kernel. Dig? And you can run Microsoft Office on GNU without changing the name to MSOffice/GNU because GNU is the O/S, not the functional deployment, just the O/S, just that minimum that makes it function for the purpose of running applications, and who cares what the license or vendor of those apps maybe. I can run Linux under Windows, but it's not Windows/GNU/Linux, it is still Windows, I am just running Linux as a userspace process, the O/S is unchanged and just as much the property of Redmond as it was before my userspace process began. No matter what it runs, distro-level Linux is still the GNU O/S.
Linux, the product lines of distros popularly called "Linux" in the press, these can be called RedHat, or Mandrake, or SuSE, they can be called Linux or Hurd or whatever comes next.
but I say they are all GNU. Just GNU. GNU is what they are, GNU is what we should call them.
This is an interesting one -- when you say in your article that the FSF has endorsed the Apple license as a free license, are they saying it is GPL compatible? If so, then by my loose definition of "free software" defined in a comment some bits back there to be "GPL and compatibles" then yes, maybe GNU/Darwin is also redundant.
I'd defer this ruling to the FSF people because they may wish to reserve the actual GNU monicker to GPL through and throughout the core O/S, so we'd have a situation very much like the BSD kernel with GNU-software, or the GPL Linux kernel under BSD, we'd have a hybrid that is effectively GNU, but it may be only "GNU-compatible" even if to a very high degree.
If I were calling the shots, though, and if the Darwin license is GPL compatible enough that you could splice parts of Darwin into Linux and vice versa, then I'd say A Rose by any other name and grant license to Darwin to call itself the Third GNU, which in itself has a certain marketing ring to it :)
As an aside to that, since you mention Darwin, my local kindergarden has some nearly toasted old 5200 (powerpc?) and would love to get some use from them. Are these viable candidates for the Darwin GNU?
The FSF site that you cite says
The Apple Public Source License (APSL), version 2. This is a free software license, incompatible with the GNU GPL. We recommend that you not use this license for new software that you write, but it is ok to use and improve the software released under this license. More explanation is available.so I'd have to then say that Darwin is still a "GNU-like" O/S, or "Darwin with GNU-software" ... or heck, sure, why not stick with GNU-Darwin just like GNU-FreeBSD both of which are a darn sight better than GNU-Solaris.
It's not precisely GNU, but it's close, and probably close enough for most practical purposes, just like BSD with GNU-software. It's not optimum (because Darwin can't improve Linux or Hurd and vice versa) but it's better than being chained to a close-source rock.
Since it's silly to quibble over definitional details in the abstract, I decided to ask RMS himself what's GNU and what's gnot. He wrote:
I should correct a misunderstanding here. GNU is a proper name, not an adjective. GNU is the name of a specific operating system which uses the GNU Hurd as its kernel. [...]So, there you have it. It's not really GNU without the Hurd, so the kernel is not just a component among many, as far as RMS is concerned. Furthermore, Linux deserves more recognition than kernel-of-NetBSD. I'll presume that is because it's deliberately designed as part of GNU, and not just shoehorned in for convenience or bragging rights. Allow me to presume further that by "Linus Torvalds", above, he really means "Linus and all his helpers", just as GNU refers to ideals of hundreds of people who have contributed to GNU proper, and not just RMS's personal project.
Debian GNU/kernel-of-NetBSD is about as close to the GNU system as Debian GNU/Linux is. I think it is reasonable in both cases to say "We run GNU." However, in the latter case I'd rather say "I run GNU/Linux", because I'd rather give Linus Torvalds part of the credit.
But one thing is clear: GNU/kernel-of-NetBSD is GNU, regardless of any code in it that came out of Bell Labs.
New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.
Keep up with the latest Advogato features by reading the Advogato status blog.
If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!