Ask Slashdot: Is It Linux or GNU/Linux? (linuxjournal.com)
An anonymous reader writes: Should the Linux operating system be called "Linux" or "GNU/Linux"? These days, asking that question might get as many blank stares returned as asking, "Is it live or is it Memorex?" Some may remember that the Linux naming convention was a controversy that raged from the late 1990s until about the end of the first decade of the 21st century. Back then, if you called it "Linux", the GNU/Linux crowd was sure to start a flame war with accusations that the GNU Project wasn't being given due credit for its contribution to the OS. And if you called it "GNU/Linux", accusations were made about political correctness, although operating systems are pretty much apolitical by nature as far as I can tell.
The brouhaha got started in the mid-1990s when Richard Stallman, among other things the founder of the Free Software Movement who penned the General Public License, began insisting on using the term "GNU/Linux" in recognition of the importance of the GNU Project to the OS. GNU was started by Stallman as an effort to build a free-in-every-way operating system based on the still-not-ready-for-prime-time Hurd microkernel. According to this take, Linux was merely the kernel, and GNU software was the sauce that made Linux work. Noting that the issue seems to have died down in recent years, and mindful of Shakespeare's observation on roses, names and smells, I wondered if anyone really cares anymore what Linux is called. For once and all, I wanted to ask Slashdot crowd what they think.
The brouhaha got started in the mid-1990s when Richard Stallman, among other things the founder of the Free Software Movement who penned the General Public License, began insisting on using the term "GNU/Linux" in recognition of the importance of the GNU Project to the OS. GNU was started by Stallman as an effort to build a free-in-every-way operating system based on the still-not-ready-for-prime-time Hurd microkernel. According to this take, Linux was merely the kernel, and GNU software was the sauce that made Linux work. Noting that the issue seems to have died down in recent years, and mindful of Shakespeare's observation on roses, names and smells, I wondered if anyone really cares anymore what Linux is called. For once and all, I wanted to ask Slashdot crowd what they think.
FFS, where did I put my popcorn!
I mean, ... really?
We suffer more in our imagination than in reality. - Seneca
Linus blew his chance for lasting immortality.
It's Systemd/Linux, at least for the next couple of years.
By the way, does anyone think ginger goes well with broccoli?
Confucius say, "Find worm in apple - bad. Find half a worm - worse."
GNU/Linux since Linux is only the kernel and GNU has provided most of the programs that are crucial for a working GNU/Linux system. Linux for short.
Call it whatever you want, don't correct me and I won't correct you.
... little. Some cultures have their offsprints retain both their parents lastnames. Some others choose one parent, usually the father. Linus is the father of Linux. It's obvious GNU is the mother here, and wants her lastname attached as well. Actually, the DNA of a Linux system is so intermingled with GNU projects that even if Linux has some children with non GNU wives, and vice versa, we are talking about Linux, the one with GNU.
Ultimately, it doesn't matter, but it's good to note that the wife seduced Linus here, and made her have the children that have raised to fame, in large part due to the wife's traits.
Btw, my kids have both lastnames, and it's just so inconvenient for them. They have no doubts about how they came to be, the roles, but on the plus side, it's like having a tatoo, you never stop to bring to attention the fact that two different things combined to make something unique, for some specific reason.
unfinished: (adj.)
I purposefully avoid saying GNU/Linux because GNU is not responsible for much of the code of my machine anymore. If anything, it is dwarfed by Libre-office, Firefox/Chromium, the Linux kernel, or the X.Org-related code. So, why would GNU get credit when others do not?
I am a Graphics Stack/Freedesktop developer and I sit on the X.Org board of directors, but you don't see me mandating people to call their system X.Org/Linux or Freedesktop/Linux, do you? To me, Linux either means the Linux kernel, or a Linux-based system (including or not GNU tools).
If its systemd its called Garbage.
This is one of those pointless topics. like Mac versus PC.
"I believe in Karma. That means I can do bad things to people all day long and I assume they deserve it." : Dogbert
I didn't give a shit about that until I met RMS irl.
Since then it's Linux.
I'd just like to interject for a moment. What you're referring to as Linux,
is in fact, GNU/Linux, or as I've recently taken to calling it, GNU plus Linux.
Linux is not an operating system unto itself, but rather another free component
of a fully functioning GNU system made useful by the GNU corelibs, shell
utilities and vital system components comprising a full OS as defined by POSIX.
Many computer users run a modified version of the GNU system every day,
without realizing it. Through a peculiar turn of events, the version of GNU
which is widely used today is often called "Linux", and many of its users are
not aware that it is basically the GNU system, developed by the GNU Project.
There really is a Linux, and these people are using it, but it is just a
part of the system they use. Linux is the kernel: the program in the system
that allocates the machine's resources to the other programs that you run.
The kernel is an essential part of an operating system, but useless by itself;
it can only function in the context of a complete operating system. Linux is
normally used in combination with the GNU operating system: the whole system
is basically GNU with Linux added, or GNU/Linux. All the so-called "Linux"
distributions are really distributions of GNU/Linux.
I have to return some videotapes...
It hasn't been GNU/Linux for a long time. There are too many alternatives for the GNU Operating System components. Look at all those micro distributions using Busybox to provide what GNU used to. GNU remains a nice package but it fell markedly short of what it was supposed to be.
The basis of "GNU" was re-implementing Bell Lab's Unix. Extending Stallman's logic, if Linux is derived from GNU, and GNU was derived from Unix, the whole mess is the result of work done at Bell Labs, so it should take precedence over "GNU" in the name.
No need to explain the significance of the GNU project. Or the role it played in getting Linux out there. But on my Debian system, I have software written by:
Just to name a few. Why would GNU be special enough to be named in one breath with Linux, but not those other authors? Makes no sense to me. Therefore, "Linux based OS" or similar will do fine. Or just name the specific distro or software component(s) and be done with it.
Since Google made Android, the distinction between Linux and GNU/Linux has become rather obvious. Just name the thing appropriately. If you are talking about kernel, say Linux. If the subject matter is Ubuntu distribution, call it Ubuntu. If a game publisher says “Tomb rider now available on Linux”, they better have it on Android. This is why I like the approach that Steam takes, where tiles are available on Windows, Mac and SteamOS. It remove expectations that the game will work on my Linux From Scratch. The only saving grace for calling everything “Linux” is Linux Standard Base, but I am not sure this is relevant today.
There is no rule in English grammar about splitting infinitives. There is such a "rule" in Latin (where infinitives are single words and can't be split).
If GNU is not UNIX, why would it be Linux?
This is one of those pointless topics. like Mac versus PC.
As opposed to the important topics such as vi vs (whatever that crappy other operating system is)
I am Slashdot. Are you Slashdot as well?
Hmmm. According to Andy Tanenbaum:
"On top of the operating system is the rest of the system software. Here we find the command interpreter (shell), window systems, compilers, editors, and similar application-independent programs. It is important to realize that these programs are definitely not part of the operating system, even though they are typically supplied preinstalled by the computer manufacturer, or in a package with the operating system if it is installed after purchase. This is a crucial, but subtle, point. The operating system is (usually) that portion of the software that runs in kernel mode or supervisor mode. It is protected from user tampering by the hardware..."
"Slow down, Cowboy! It has been 3 years, 7 months and 26 days since you last successfully posted a comment."
I'm tired of the "Gnu/Linux" discussion too.
Anyone who cares to can call it "Apache/Mozilla/Gnu/X/Gnome/Linux" if that's their preference, I call it Linux.
The submitter brought up an interesting tangent, though:
> although operating systems are pretty much apolitical by nature as far as I can tell.
For Richard Stallman and the FSF leaders, free software is very much political. In case anyone was unsure, he said it is just two weeks ago. For Stallman, it's about changing (part of) society, advancing a popularist ideology which has some things in common with Marxism. To Stallman,. proprietary software is EVIL, an evil which must be defeated.
For Linus Torvalds and the "open source" folks generally, it's not really political, it's simply a way of producing quality software, a good way to produce software which has several advantages. To Linus, proprietary software isn't the best match to his needs - except when it is. The kernel source control was a proprietary system he bought called Bitkeeper. He could have used open source version control, but at the time he thought Bitkeeper, the proprietary system, fit his needs better. So he used it. Later, Linus wrote git to exactly fit his needs.
What are people's thoughts on this? Free Software as a political movement, or Open Source as a better way to get software done?
This whole thing would have been so much easier if the FSF would have build a proper Linux distribution of their own and called it GNU, but they didn't (outside of that Hurd thing I booted up some 15+ years ago).
Yes. If the FSF were smarter (collectively) it would have embraced Linux as the kernel for the GNU OS right away. HURD could have existed as a research project off the side of that, and would probably have gotten more attention in that form. Then they could have focused on making a complete system out of nothing but FSF-copyright software plus the Linux kernel, and achieved all the non-kernel goals that way.
To be fair, it's not too late. And such a thing would be systemd-free by its nature, so there's a ready audience. A lot of people would welcome such a beast.
"You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
Many computer users run a modified version of the GNU system every day, without realizing it. Through a peculiar turn of events, the version of GNU which is widely used today is often called "Linux", and many of its users are not aware that it is basically the GNU system, developed by the GNU Project.
The vast majority of daily Linux users are using Android, the vast majority of them probably don't even know it's Linux let alone what Linux is, and Android doesn't use GNU utilities in their userland.
GNU is how we got where we are today, so all Linux users owe it a massive debt of gratitude for getting us here. Desktop Linux users, in the main part, still owe it thanks daily, but desktop Linux users are a tiny minority — both of Linux users, and of desktop users.
All the so-called "Linux" distributions are really distributions of GNU/Linux.
If you want to be pedantic, be fully pedantic. Not all of them are GNU/Linux distributions. For example, Alpine Linux. There is also a list of other Linux-based products which don't use the GNU userland on the Busybox site. There have even been a couple of attempts to wed a BSD userland to a Linux kernel, but none of them appear to still be around AFAICT. Seems like they should take the Solaris 2 approach of adding a BSD userland directory into their distribution for people who need it for scripts, or just want to use it to be perverse.
"You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
The operating system is (usually) that portion of the software that runs in kernel mode or supervisor mode. It is protected from user tampering by the hardware..."
That's a nonsense definition designed to make Minix look cool. But it's a lot of bollocks. The operating system is the collection of software which provides the functionality intended to be offered to users and developers alike. That means the kernel (for all operating systems) and the userland (for operating systems in which shell scripting is a feature — you know, like Unix, DOS, Windows... and literally every modern operating system.)
"You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
Anyone who cares to can call it "Apache/Mozilla/Gnu/X/Gnome/Linux" if that's their preference, I call it Linux.
Then how would you answer the following: Will an application made for "Linux" run on an Android system, which uses Linux as its kernel?
I tend to use the terms "GNU/Linux" and "X11/Linux" when distinguishing the server and traditional desktop operating environment from Android.
Yes, applications written for LINUX, such as OpenVPN, will run on Android. Bash, Imagemagick, Perl, Python, ffmpeg, sed, awk, Emacs, vim, nano ... all this stuff runs fine on Android. Postgresql is a bit tricky to install.
Applications written for X11 will run on systems with X11- which doesn't include most of the hundreds of Linux systems I've owned or administered, mostly servers, along with some VPN endpoints and other types of systems. Applications written for KDE will run on KDE systems, Gnome applications on systems with Gnome, etc.
Python
Breaks if you try to import tkinter.
Applications written for X11 will run on systems with X11- which doesn't include most of the hundreds of Linux systems I've owned or administered
Among the subset of those Linux systems that you have administered that also have a graphical user interface, how many have X11?
Applications written for KDE will run on KDE systems, Gnome applications on systems with Gnome, etc.
Most popular KDE Plasma distributions will let the administrator easily install a package containing libraries to run GNOME applications or vice versa. As far as I can tell, Android is an outlier in this sense.
The GNU/Linux argument was also propped up by the fact that you can swap out the Linux kernel with FreeBSD's kernel and keep (nearly) the entire rest of the Debian system (or other distros). In that case, it behaves very much like a Linux based distro, but there is no Linux in it. Not many people really used those other things though, and the argument kinda died out due to lack of interest.
Now enter Microsoft, who now has a "Windows Subsystem for Linux", but it's really just a compatibility layer to run all the GNU and other stuff on the Windows kernel. There's really very little "Linux" there.
> And it's not perfect but since you can review the code you can figure out exactly where and how it doesn't do what it's supposed to do.
That's super important to me. I virtually ALWAYS find and fix any issue at all on an open source system by using one consistent method - trace the program, let look at the source to see exactly what's going on. If the issue is that I have to pass a different argument to the program, I can see that clearly. It'll say right in the source:
if (option.be_sane) {
do_what_ray_wants();
}
If there is a bug in the program, I can see it and fix it.
Whatever the problem, the solution is always the same - go look at the portion of the code that handles that and see exactly what's going on.
For the last couple of weeks a co-worker and I have been trying to enable WMI on a Windows 10 box. According to all the documentation we can find, that should be a simple 3-minute process. Yet it doesn't work. No matter what we try, Windows just returns an undocumented and apparently irrelevant error code. The Windows logs show nothing. All we can do at this point is make random guesses and try different things which are not documented to be needed. There is no process which will solve problems on Windows, or any proprietary software, because we can't look at the source and see what's going on. We can only guess at random and hope we eventually hit the Windows jackpot and happen across the lucky set of registry settings and reboots that makes it work, for no apparent reason.
Linux.
Stallman is looking at the naming as an issue of who gets credit. For everyone else, the point of the OS having a name is primarily to denote where something can be run. If I have some software package that "runs on Linux" that means it runs on Linux, whether or not it depends on some other available software that also runs on Linux. That is why Android isn't "Linux", even though it uses the Linux kernel - Android software depends on things that are only available on Android. Likewise, "GNU" doesn't mean anything, software written for "GNU/Linux" will not run on Windows even if you have all the GNU tools installed, whereas it's likely to run on Linux with musl and busybox.
We should continue honoring the importance of GNU and Linux to the systemd project.
You criticized me for pointing out that for Stillman, free software is a political issue, then you linked to one of his articles in which he says it's a "political camp" and that to "the Free Software movement, non-free software is a social problem".
So you're upset that I said he thinks that, then you link to him saying that? I'm confused.
> to advance your own views
What views do you think those are? My views I'm trying to advance, you say, what views do you think I'm trying to advance?
Would I be advancing a certain view if I said Linus thinks proprietary, closed development is a "suboptimal" way of developing software? Which view would that advance? Would stating Linus' view in those terms be advocating for or against what Stallman says?
If you're going to name via dependencies then why would you only list one of the dependencies in its name rather than all of them?
It's a matter of correlation. If a system has the dependency that forms part of a platform's name, then it's far more likely than not that the system has, or that its administrator can practically install, common dependencies of other applications for the same platform. By this measure, perhaps GNU is most central to server applications and programming tools designed for Linux, and X Window System to desktop GUI apps. Hence the names "GNU/Linux" and "X11/Linux" to contrast with "Android/Linux".
And what constitutes a GNU/Linux system?
Free Software Foundation acknowledges use of Linux apart from the GNU OS while intentionally declining to give a precise definition. This has led David Johnson to write an article titled "By Any Other Name" making the reduction to absurdity argument you may have been anticipating, largely by replacing GNU with an adaptation of the FreeBSD userland. But my personal definition, based on correlation with installable dependencies, is GNU Coreutils plus two other major components of GNU, such as Bash, GCC, glibc, and Emacs. This means that Cygwin, MinGW with MSYS, and Microsoft WSL are GNU/Windows, and a full installation of DJGPP is GNU/MS-DOS or GNU/FreeDOS.
And further to your question does an application written for the GNU C runtime not run on bionic for example or do you need to include that as part of your naming convention?
Some applications are specialized to run on glibc, the implementation of the C language and POSIX standard library included with GNU. Others will run on any reasonable implementation of the C library that provides varying level of support for POSIX, such as Bionic. But many applications built for Bionic have a more central dependency they can cite, namely the Android userspace.
> . One of great thing about python is you can built portable environment around it, with particular python version, libs, etc.
One of the horrible things about Python is that to run a simple script you have ship an entire separate environment for each script, with particular python version, libs, etc.
Perl, PHP, and other similar languages don't have this requirement. Perl scripts I wrote 15 years ago still run fine in an up-to-date environment, because they don't break the language with every update. They add new features and facilities, rather than removing commonly-used things, or worse, changing things around with no real benefit - just because the Python maintainers decided that they prefer left instead of right. Either way works, but switching things around without a clear need to do so is silly.
Well actually, Debian do call their "GNU/Linux", for the very practical reason that they also try other combinations such as Debian GNU/kFreeBSD, Debian GNU/Hurd, etc.
(And if you squint at it you'll notice that none of the Linux distribution in the microsoft app store actually still has bits from Linus' kernel.
Per Stallman's classification, those should be called GNU/NTkernel, it's still your garden variety distro, but running agaisnt the WinNT kernel and it's ability to also speak a minimalist subset of Linux kernel API.
So they are thing called "Linux" distro that litteraly contain no bits of the actual Linux kernel)
"Sufficiently advanced satire is indistinguishable from reality." - [Tips: 1DrYakQDKCQ6y52z6QbnkxHXAocMZJE61o ]