The core of GNU's argument is that they need GNU/Linux so people will recognize the importance of the movement, but the manner of people participating in this naming campaign is completely counterproductive.
I don't mean to marginalize the gnu project, but there were already free -nixes out there. Starting over from scratch isn't much of an accomplishment other than the license...
>and created the culture and licenses that made it possible
The GPL has ultimately done more harm than good for open source. The only time proprietary software vendors are forced to release anything is when they accidentally mess up because they didn't understand what they were getting into. This happens rarely and when businesses get burnt, they're more apprehensive to do anything with opensource in the future. I know because I still see this happening today.
When people aren't scared of the codebase, they can start using it. If they can modify it without worrying about legal repercussions, they're not afraid to modify it. Sure they don't have to give back, but if you force them to they're not even going to make the modifications in the first place.
If someone wants to build something closed source, they're going to build something closed source even if it means re-inventing the wheel to avoid the GPL. I'd rather have the wheel be a BSD wheel, so even if product X will never be opensource, at least it will be built with good wheels. I'm a realist that knows closed software isn't going anywhere and at the end of the day I'd like all software to be as good as it can be.
Not true, the various "Free" BSDs came much later. As far as I know, BSD existed but wasn't Free. If it was already free, then RMS would probably not have launched the GNU project.
> Everyone will be permitted to modify and redistribute GNU, but no distributor will be allowed to restrict its further redistribution. That is to say, proprietary modifications will not be allowed. I want to make sure that all versions of GNU remain free.
September 1983: RMS announces the GNU project. (Work actually begins in January 1984.)
March 1987: first release of GCC.
June 1989: first release of bash.
May 1991: FSF announces that work on GNU Hurd (their own kernel) "has begun".
June 1991: first free-as-in-speech BSD release ("Net/2").
October 1991: first release of glibc.
September 1991: first release of Linux (0.01) -- not free-as-in-speech.
March 1992: first release of 386BSD (0.0). July 1992: release 0.1, much more usable.
April 1992: USL v BSDi lawsuit filed. (This was a big obstacle to early adoption of the BSDs.)
December 1992: first free-as-in-speech release of Linux (0.99).
April 1993: first official release of NetBSD (0.8).
November 1993: first official release of FreeBSD (1.0).
January 1994: USL v BSDi lawsuit settled.
April 1994: FSF announces that the Hurd boots (but doesn't do anything much else).
May 2011: still waiting for the first truly usable release of GNU Hurd. No one seems to think it's very likely that there will ever be one.
So ... when the GNU project was announced, there weren't any free Unixes of any sort out there. It's possible that GNU really did create the whole idea of a free alternative to Unix. But the first free Unixoid kernel that was actually released was a BSD, and the first free whole Unixoid OS that was actually released was a BSD.
This claim seems to defy the simplest explanation given the historical success of linux, so I think you need to be a bit more rigorous in substantiating your argument.
I'll agree that strictly enforcing 'giving back' is an unnecessary imposition and cost for adopters when a) there are many similar substitutable goods b) open source has momentum: evidence exists that giving back can be positive and in the adopters' interest.
However, neither of those were the case in the era when the GPL was born. The GPL should at least be given credit for helping bootstrap the present state of open source.
Just look at the Wikipedia entry (an open and free project) for Linux: http://en.wikipedia.org/wiki/Linux
From paragraph 2: "The development of Linux is one of the most prominent examples of free and open source software collaboration; typically all the underlying source code can be used, freely modified, and redistributed, both commercially and non-commercially, by anyone under licenses such as the GNU General Public License."
The italicized portion links to http://en.wikipedia.org/wiki/Free_and_open_source_software. GNU gets its mention there.
Also paragraph 2: "In 1983, Richard Stallman, longtime member of the hacker community at the MIT Artificial Intelligence Laboratory, announced the GNU project, saying that he had become frustrated with the effects of the change in culture of the computer industry and its users.[8] Software development for the GNU operating system began in January 1984, and the Free Software Foundation (FSF) was founded in October 1985. An article outlining the project and its goals was published in March 1985 titled the GNU Manifesto. The manifesto also focused heavily on the philosophy of free software. He developed The Free Software Definition and the concept of "copyleft", designed to ensure software freedom for all."
These kinds of attribution are infinitely better than a "GNU/" tacked thoughtlessly on to a generic term.
That's the point. The GPL is for free software.
Scared of what codebase? I'm more scared of proprietary software than anything because who knows wtf it's doing.
Mind you, usually, the folks who offer to show you the code under NDAs are not nice guys.
And why is that a bad thing? When they "accidentally" copy a random image on Google Image Search and publish it in a flyer, they get sued by the maker for copyright infringement, and they become more apprehensive to copy random images in the future. This is a good thing. Businesses need to learn that there are laws and that software is subject to licenses that they should read. If they fuck up it's their own fault. Do you really want your user base to consist of people who don't read your license and don't try to honor your rights and only care about their own profit?
I'm not saying burnt in a lawsuit against them for infringement, it could be as simple as abandoning technologies based on recommendation or clarification from their legal council.
Oh, they can modify it. They just can't redistribute the modified code as proprietary software (or under a non-compatible license). But there's nothing stopping you from taking emacs code, for example, and modifying it any way you want. Actually, that's the point of Free software.
What the GNU folks brought to the table is the GPL. It negates the incentive to make proprietary forks. The thriving ecosystem in which Canonical, Red Hat, IBM, among others thrive would not be possible without it.
> The GPL has ultimately done more harm than good for open source
citation needed
> Sure they don't have to give back
And that's probably why *BSD is such a rich ecosystem when compared to Linux distros.
> if product X will never be opensource, at least it will be built with good wheels.
I would prefer not creating such incentive to proprietary software. As a user, I value my rights more than I, as a programmer, value my power to restrict my users' rights.
Other than that, how much of my normal CLI usage is attributable to GNU? I'll give screen. What about OpenSSH, Python, htop, pacman, etc.? I use these a lot and they are not from GNU. If I am primarily running Python programs on my Linux box, should I call it Python/Linux since the Python Foundation is the most significant contributor to my userspace experience?
The point isn't that GNU programs aren't useful -- it's just that the claim that GNU is so important it should be included as a mandatory prefix any time anyone mentions "Linux" in a context that is not kernel exclusive is grating and silly.
(I should point out that I too find the whole GNU/Linux tiff silly, but equally silly are the folks who try to write the FSF out of the picture out of spite.)
gcc isn't really "part of the OS" either. Many distributions don't even include it in the default install. Ubuntu is a prominent such distribution.
I'm not trying to write FSF out of the picture. I appreciate their contributions and surely things like gcc, gdb, and emacs are hefty achievements. I am grateful to the FSF and the GNU Project for its legacy and its direct benefit to myself in terms of code provided. However, I don't feel that these contributions entitle GNU to a special prefix on the OS name any more than it entitles KDE, Mozilla, Xorg, or anyone else to a special prefix. I use code from all of those parties and quite appreciate that code, too.
Anyone who might have followed the GNU/ to find out what it is would have found out about the free software movement in the process of learning about Linux. That was my introduction to it, and this naming campaign has given me a negative impression.
I'm glad people are working on replacements for GNU so I don't see someone saying "you mean GNU/Linux" every time anyone mentions Linux in public.
The point isn't that Linux isn't useful -- it's just that the claim that Linux is so important it should be included as a mandatory suffix any time anyone mentions "GNU" in a context that is not kernel exclusive is grating and silly.
On a more serious note, Android is a great example of a non-GNU Linux(or not-as-much-GNU Linux).
Mr. Black & Decker/Bane
Have you looked at cat.c?
You'll be surprised how complex and optimized even the supposedly simple ones are.
Multiple decades of optimization and cross-platform polish are nothing to sneeze at. Try working against the Darwin or Solaris userland sometime if you want to experience what the alternatives look like. Not pretty at all.
1. kernel 9% 2. gnu 8% 3. kde 8% 4,5 java, mozilla 6% 6. gnome 3%
If you combine gnu with gnome, we have 1. gnu 13% 2. kernel 9%
Also considering that java/mozilla are platform agnostic, the candidate names we have are
linux-gnu-kde OR gnu-linux(-kde)
If you are not running KDE, then gnu-linux seems like a very strong candidate for the name. The argument for calling it linux would revolve around the availability of GNU software on other non-linux distributions in some form or the other, thus making GNU a not very distinctive moniker. But MacOS/BSD doesn't really carry as much GNU as Linux distros do.
But the kernel is running all the time when booted up. A better argument would be that only a fraction of GNU software is active at any moment, so by percentage of GNU v/s kernel code executed in any given time interval, the kernel should win handily. This pie chart, as it stands, actually makes a case for calling it GNU\Linux.
It's true that the kernel is loaded all the time (though not usually running more than a small fraction of the time), but so is glibc. It's far from obvious that more cycles are spent in the kernel than are spent in glibc (though of course in both cases the goal is to run as little as possible, allowing more application code to run).
It's also worth considering that only a fraction of the kernel's LOC are even compiled in the average distribution's kernel (are the LOC dedicated to Itanium, Alpha and PA-RISC support really useful to Ubuntu?).
Does the kernel spend more lines of code on platform support or on drivers? I was under the impression that drivers made up the vast majority of the kernel, most of which are enabled in distribution kernels.
Sloccount seems to confirm this on kernel 2.6.35:
4796735 drivers ansic=4791978,yacc=1688,asm=1428,perl=792,lex=779,
sh=57,awk=13
1677610 arch ansic=1449312,asm=226905,sh=674,awk=470,pascal=116,
perl=58,python=45,sed=30If I choose to take the Linux kernel, GNU utilities, and assorted other free software and put them together to form a complete OS, I can call it whatever I want, and BY DEFINITION that is the correct name for my operating system, since I'm the one who put it together.
When I'm generalizing based on the stack people expect, I usually say Linux when I mean the common Glibc, GCC (maybe CLang), and GNU utils with a Linux kernel setup people expect to find normally (and I'm usually excluding Android saying that), or I say that it's UNIX variant when I want to include Mac and BSD or any other generic POSIX complaint OS.
It's like Pop vs Soda vs Coke. I prefer to call everything Coke. http://www.popvssoda.com/
A better argument would be that only a fraction of GNU software is active at any moment, so by percentage of GNU v/s kernel code executed in any given time interval.
A lot of programs link to glibc.Besides, neither the kernel nor the gnu tools are used all that much by a regular user. The desktop environment, the browser, office tools, etc. are much, much more visible to the end user.
In any case, it makes a lot more sense to say just "linux" than to arbitrarily "gnu/" in front just to placate some pedants. Say "gnu" when you're talking about gnu, not when you're talking about linux.