4 ms·
Ask HN: Does GNU still contribute anything meaningful to a Linux OS?
Stallman always wanted Linux called Gnu/Linux. I understand this is because Linux uses GNU command line utilities.
But these days does Gnu play any real role in Linux?
I could certainly understand the name being Linux/systemd rather than Gnu/Linux because for many distros systemd plays such a large role it can almost be said to be much of the operating system.
Systemd plays a demonstrably critical role in Linux, whereas….. what does Gnu do? What is the Gnu part of Gnu/Linux?
- nullindividual 3y agoGNU still plays a role in the GNU portion of the GNU/Linux equation. That is, user-space tooling. If you want to see what GNU has been up to, including a recent release of binutils, you can check their blog [0]. [0] https://www.gnu.org/software/recent-releases.html https://www.gnu.org/software/recent-releases.html
- pjmlp 3y agoGCC? Which supports more hardware, and has better ISO C and ISO C++ compliance than clang, since Apple and Google decided to refocus on their language stacks? Emacs, for those of us that can't put up with vi?
- retrac 3y agoThe userland is quite GNU. Think bash, gawk and coreutils (ls, etc.) as well as the libraries the userland depends on -- including the C and C++ standard libraries, pthreads, readline, etc. Very little of it is irreplaceable these days. You could use a different shell. You can even run a BSD userland under a Linux kernel, in theory. The Linux kernel itself is replaceable with e.g. the open sourced Solaris kernel. There's many alternatives to just about any major UNIX component these days. But the standard (and often the only fully supported) set of tools and libraries on Linux is heavily GNU.
- thesuperbigfrog 3y agoThe most noteworthy GNU packages on a typical GNU / Linux distribution: Bash: popular command line shell Binutils: tools for creating executable binaries including GNU ld, the linker, and GNU as, the assembler. Bison: widely-used parser generator; used to create parsers for programming languages CLISP: GNU implementation of Common Lisp programming language Coreutils: command line programs that implement large parts of the POSIX operating system standards Diffutils: provide diff, cmp, diff3, and sdiff utilities used to compare files and see their differences Emacs: powerful and extensible text editor fdisk: used to create disk partitions Findutils: includes find, locate, updatedb, and xargs command line programs Fontutils: programs for managing fonts Gawk: GNU implementation of AWK programming language GCC: the GNU Compiler Collection: GNU implmentations of C, C++, Objective-C, Fortran, Java, Ada, and Go. Probably most widely used set of tools in this list. The Linux kernel was originally developed using GCC and, for a while, could only be compiled with GCC. GDB: the GNU debugger; used to debug programs. Gettext: provides programming support text output in multiple human languages Ghostscript: GNU Postscript interpreter and PDF file support GIMP: image / graphics editing program GMP: arbitrary precision math libraries used in scientific computing GnuCOBOL: GNU implementation of COBOL programming language GnuPG: GNU Privacy Guard, an implementation of the OpenPGP cryptography standard GnuTLS: library that implements SSL, TLS, and DTLS cryptography protocols GRUB: bootloader that starts most Linux distributions glibc: GNU implementation of the C standard library GLS: the GNU Scientific Library for numerical analysis and scientific computing Guile: GNU implementation of Scheme programming language for use as a universal application plugin / extension system Guix: GNU package management system based on Nix Gzip: data compression and decompression less: GNU pager implementation Libtool: library for creating consistent and portable shared programming libraries make: widely-used build automation tool ncurses: library used to create text user interfaces (TUIs) Octave: GNU numerical computation system (MATLAB-ish clone) readline: library for command line input, editing, and history sed: GNU stream editor tar: GNU tape archive creation, extraction, editing command line utility termcap / termutils: database and programs for working with terminals in a portable way wget: file fetching utilities for the HTTP, HTTPS, and FTP protocols There is also a ton of other applications: https://www.gnu.org/manual/blurbs.html https://www.gnu.org/manual/blurbs.html