

Problems concerning the GNU operating system - vezzy-fnord
https://iotek.github.io/GNU/

======
dalke
"All [/usr/bin/true] is supposed to do is to return an exit value of 0"

As
[http://trillian.mit.edu/~jc/humor/ATT_Copyright_true.html](http://trillian.mit.edu/~jc/humor/ATT_Copyright_true.html)
points out, there are several reasons for the GNU true to do what it does:

1) it's faster to run an executable than to start a script that does an exit
0.

You'll notice that FreeBSD also uses a compiled C program, at
[https://svnweb.freebsd.org/base/release/9.3.0/usr.bin/true/t...](https://svnweb.freebsd.org/base/release/9.3.0/usr.bin/true/true.c?view=markup)
. And it has two embedded SCCS identifiers, even though that isn't required by
POSIX.

2) the original AT&T code said that shell was covered under copyright. The BSD
code went through the lawsuit which established that there was no copyright
infringement, but the C code is obviously not derivative of the original
script. (It's unlikely that this is a real issue now.)

3) The GNU coding standard says that all executables should support a
--version and --help. See
[https://www.gnu.org/prep/standards/html_node/Command_002dLin...](https://www.gnu.org/prep/standards/html_node/Command_002dLine-
Interfaces.html#Command_002dLine-Interfaces) .

Of course, once you expose English output to the user you should support
internationalization.

Yes, that's mission creep. Then again, complaints about mission creep in GNU
code is ancient. Here's a joke about the options in GNU echo, from 1985(!) -
[https://www.gnu.org/fun/jokes/echo.msg.html](https://www.gnu.org/fun/jokes/echo.msg.html)
.

