Datasheet
6
❘
CHAPTER 1 THE HISTORY OF UNIX, GNU, AND LINUX
This code uses the cat facility, which simply outputs a fi le, and the tac tool, which does the same
but reverses it. (The name is therefore quite a literal interpretation of what the tool does, and quite
a typical example of Unix humor.) The variable
$0 is a special variable, defi ned by the system, and
contains the name of the currently running program, as it was called.
So the output of this command is as follows:
#!/bin/sh
cat $0
echo “===”
tac $0
===
tac $0
echo “===”
cat $0
#!/bin/sh
The fi rst four lines are the result of cat, the fi fth line is the result of the echo statement, and the
fi nal four lines are the output of
tac.
BSD
AT&T/Bell Labs couldn’t sell Unix because it was a telecommunications monopoly, and as such was
barred from extending into other industries, such as computing. So instead, AT&T gave Unix away,
particularly to universities, which were naturally keen to get an operating system at no cost. The fact
that the schools could also get the source code was an extra benefi t, particularly for administrators but
also for the students. Not only could users and administrators run the OS, they could see (and modify)
the code that made it work. Providing access to the source code was an easy choice for AT&T; they
were not (at that stage) particularly interested in developing and supporting it themselves, and this
way users could support themselves. The end result was that many university graduates came into the
industry with Unix experience, so when they needed an OS for work, they suggested Unix. The use of
Unix thus spread because of its popularity with users, who liked its clean design, and because of the
way it happened to be distributed.
Although it was often given away at no cost or low cost and included the source code, Unix was not
Free Software according to the Free Software Foundation’s defi nition, which is about freedom, not
cost. The Unix license prohibited redistribution of Unix to others, although many users developed
their own patches, and some of those shared patches with fellow Unix licensees. (The patches would
be useless to someone who didn’t already have a Unix license from AT&T. The core software was
still Unix; any patches were simply modifi cations to that.) Berkeley Software Distribution (BSD)
of the University of California at Berkeley created and distributed many such patches, fi xing bugs,
adding features, and just generally improving Unix. The terms “Free Software” and “Open Source”
would not exist for a long time to come, but all this was distributed on the understanding that if
something is useful, then it may as well be shared. TCP/IP, the two core protocols of the Internet,
came into Unix via BSD, as did BIND, the DNS (Domain Name System) server, and the Sendmail
MTA (mail transport agent). Eventually, BSD developed so many patches to Unix that the project
had replaced virtually all of the original Unix source code. After a lawsuit, AT&T and BSD made
peace and agreed that the few remaining AT&T components of BSD would be rewritten or reli-
censed so that BSD was not the property of AT&T, and could be distributed in its own right. BSD
has since forked into NetBSD, OpenBSD, FreeBSD, and other variants.
024485c01.indd 6024485c01.indd 6 7/26/11 8:31:58 AM7/26/11 8:31:58 AM