gnulinux-not-linux.html
HTML document, Unicode text, UTF-8 text
1<!DOCTYPE html> 2<html lang="en"> 3<head> 4<meta charset="UTF-8"> 5<title> 6A Reason to Call it GNU/Linux 7</title> 8<link rel="stylesheet" href="/static/style.css"> 9<meta name="viewport" content="width=device-width, initial-scale=1.0"> 10</head> 11<body> 12<header> 13<nav> 14<ul> 15<li><a href="/">Home</a></li> 16<li><a href="/projects">Projects</a></li> 17<li><a href="/index">Index</a></li> 18<li><a href="/about">About</a></li> 19<li><a href="https://roundabout-host.com/roundabout">Roundabout-host</a></li> 20</ul> 21<ul> 22<li><a href="mailto:root@roundabout-host.com" id="mail-link">root@roundabout-host.com</a></li> 23</ul> 24</nav> 25</header> 26<main> 27 28<h1>A Reason to Call it GNU/Linux</h1> 29<div id="article-date">2024-07-31</div> 30<p class="tags"> 31 32<a href="/index/gnu/linux.html" class="tag">gnu/linux</a> 33 34<a href="/index/linux.html" class="tag">linux</a> 35 36<a href="/index/free software.html" class="tag">free software</a> 37 38<a href="/index/android.html" class="tag">android</a> 39 40<a href="/index/opinion.html" class="tag">opinion</a> 41 42</p> 43 44<article class="content-area"> 45<p>Linux isn't very Unix-like by itself. Of course, it's a Unix-like <em class="emphasis-1">kernel</em>, and it 46does Unix-compatible file operations, process management, and system calls, but without the GNU 47suite or some other userland, it is just a kernel which doesn't have to be used as a Unix-like 48one. 49</p><p>Linux is Unix-like, but not all OSes which contain Linux take advantage of that. 50</p><p>Android basically uses Linux like a fancy bootloader. The only thing that runs there is toybox, 51which technically are Unix utilities, but the user can't interact with them, and a JVM. 52Everything the user does is done in Java. 53</p><p>In Android, if you only consider the actual platform that is used for making software, that 54platform is Java, not Unix. No matter how hard you try, Android isn't designed to run Unix packages 55natively. Of course it can, but that doesn't make it Unix-like, since the intended way to run 56applications is in Java. 57</p><p>Calling an OS by its kernel is wrong; the kernel doesn't determine the nature of the OS. We don't 58call Windows "NT" or MacOS "Darwin". 59</p><p>If you call GNU/Linux "Linux", why not call Android "Linux" as well? They're not compatible with 60each other, but technically the name Linux works for both according to your logic. 61</p><p>GNU/Linux means just that: GNU on the Linux kernel. There is a GNU kernel as well, the Hurd, but 62most commonly we substitute it with Linux. There used to be Debian GNU/kFreeBSD, which used the 63FreeBSD kernel, and there is GNU/Darwin, and GNU/Hurd, and so on. They didn't invent a name for 64that combination, but it still doesn't deserve to be named after its kernel. GNU/Linux is more 65compatible with GNU/Hurd or NetBSD (even without GNU) than with Android, Tizen, ChromeOS or 66whatever else happens to contain Linux and use it but don't take advantage of its Unix-like 67nature. 68</p><p>The fact that Android can run GNU/Linux in <code>chroot</code> doesn't mean anything; the core system is 69not GNU; but the kernel still knows how to run GNU software so it will run it. But that doesn't 70make Android GNU/Linux; it would be like saying your machine is Debian when it's actually OpenSUSE 71and you have a Debian chroot. 72</p><p>If someone made a system with the Windows NT kernel but not the Windows userland and GUI, would 73you still call that Windows? No; it <em class="emphasis-1">is</em> NT but that doesn't mean it's Windows, as it doesn't 74have what makes Windows run Windows software. 75</p><p>Obligatory copypasta: 76</p><blockquote><p>I'd just like to interject for a moment. What you're referring to as Linux, is in fact, GNU/Linux, 77or as I've recently taken to calling it, GNU plus Linux. Linux is not an operating system unto 78itself, but rather another free component of a fully functioning GNU system made useful by the GNU 79corelibs, shell utilities and vital system components comprising a full OS as defined by POSIX. 80</p><p>Many computer users run a modified version of the GNU system every day, without realizing it. Through 81a peculiar turn of events, the version of GNU which is widely used today is often called "Linux", 82and many of its users are not aware that it is basically the GNU system, developed by the GNU Project. 83</p><p>There really is a Linux, and these people are using it, but it is just a part of the system they use. 84Linux is the kernel: the program in the system that allocates the machine's resources to the other 85programs that you run. The kernel is an essential part of an operating system, but useless by itself; 86it can only function in the context of a complete operating system. Linux is normally used in 87combination with the GNU operating system: the whole system is basically GNU with Linux added, or 88GNU/Linux. All the so-called "Linux" distributions are really distributions of GNU/Linux! 89</p></blockquote> 90</article> 91 92</main> 93<footer> 94<p>Page generated on Monday, 17 March 2025 at 17:06:45</p> 95<p xmlns:cc="http://creativecommons.org/ns#" >This work is marked with <a href="https://creativecommons.org/publicdomain/zero/1.0/?ref=chooser-v1" target="_blank" rel="license noopener noreferrer" style="display:inline-block;">CC0 1.0 Universal</a> (🄍). No rights reserved.</p> 96<p>Hosted at <a href="https://roundabout-host.com/roundabout">Roundabout-host</a> using the static site service, and generated with <a href="/projects/ampoule.html">Ampoule</a>.</p> 97<a href="#">Back to top</a> 98</footer> 99</body> 100</html>