
/bin/true used to be an empty file - fagnerbrack
https://mobile.twitter.com/rob_pike/status/966896123548872705
======
kmm
Funny story, AT&T claims copyright on this empty file. Every time you use a
blank line in your program, you're violating their copyright

[http://trillian.mit.edu/~jc/humor/ATT_Copyright_true.html](http://trillian.mit.edu/~jc/humor/ATT_Copyright_true.html)

~~~
dragonwriter
AT&T may claim copyright on a file that contains, besides the copyright
notice, only blank lines, but even if that copyright is valid, that doesn't
make any use of blank lines a violation of that copyright.

Copyright violation requires actual copying/derivation, not mere similarity of
content. (The latter can be evidence of the former, and often—because of the
nature of the content and improbability of coincidental similarity, can be
compelling evidence—but is not the thing prohibited.)

~~~
dllthomas
And to make it slightly more explicit, the nature of _empty_ content - unlike
complicated creative content - is that coincidental similarity is actually
pretty likely.

------
hyper_reality
All due respect to Rob Pike, but I think David Batley nails it in his
response:

> tl;dr: they replaced a cryptic, undocumented implementation, which _starts
> an entire bash shell_ just so it can exit, and replaced it by a fast ELF
> binary, which works like all the others.

/bin/true as an empty file may seem like an elegant implementation and lesson
in UNIX, but it's actually slower, and I'd much rather have standardisation
and documentation across all system commands.

------
ktpsns
By the way, don't forget that virtually all (modern) shells will have a built
in for /bin/true:

    
    
       $ type true
       true is a shell builtin
    

So in your shell scripts, don't bother about performance.

