Glossary
********

Ada
     Named after Ada Lovelace. Developed for the United States Department of Defense in 1979, it is a large, high level language often used in embedded applications.

Assembler

     An assembler is a software program that is usually specific to a given type of computer.  It converts assembly language (see below) into `machine code'.  Machine code gives instructions in a way that only one particularly type of computer can understand.  In the past, the assembler program had to be run on the file produced by the compiler in order to produce machine code.  Nowadays, a ``compiler'' usually includes this step as well.

Assembly Language
     Assembly language is a computer programming language that is at a level slightly easier to read than Machine Code (see assembler).  It is still quite challenging and difficult for a person to write directly in assembly language. Generally, most programmers write in a ``higher level'' language like C.  A language like C is complied into assembly language automatically by a compiler (see below).

Binary
     Binary is the basic langauge of a computer.  A computer understands only the number `0' and `1', so all material that a computer reads and writes must be converted into a series of ones and zeros.  In other words, the material must be represented in the binary (base 2) number system. For comparison, our base 10 number system contains 10 numbers: 0 through 9.  It has been speculated that  we use a base 10 system  because we have 10 fingers.  By contrast,  the computer has only two types of ``fingers'', via electrical impulses---either ``on'' (for one) or ``off'' (for zero). Machine code (see Assembler, above) is represented using this binary system.

Binaries
     ``Binaries'' refer to compiled computer programs, stored on a disk in machine code.  A user can run a binary directly, and thus command a computer to perform some set of tasks.  Binaries can only be understood by the computer; they are not in a human-readible format.

C
     C is a programming language created by Brian Kernigan and Dennis Ritchie in 1972.  While the early implementations of C were proprietary software, the specification for the langauge was readily avilable, and thus others were allowed to make their own versions of C.  C is still widely used today.

C++
     C++ was largely developed by Bjarne Sroustrup in 1986. It is based on the original C language and incorporated advances in computer science that had occurred since C was first written.  C++ is still widely used today.

Command-Line Interface
     Command-line interface refers to a method of talking or interacting with a computer.  Command-line interfaces were invented before graphical interfaces (see below).  Many operating systems use the command-line style, including Unix-like systems and MS-DOS.  When using a command-line interface, the computer ``prompts'' the user for commands.  The user enters commands as strings of text, and the computer responds with more strings of text.

Compiler
     A compiler is a computer program that acts as a translator between the programmer and the computer.  The programmer uses a programming language, such as C, to write her software program.  The compiler translates the program into a language the computer can understand (see Assembler, above).

Copyleft
     Copyleft is a play on the word ``copyright'', to refer to ``copyright turned over'' or ``copyright turned on its head''. Most copyright licenses prohibit a computer user from copying, modifing, redistributing, or even studying the software.  By contrast, copyleft licenses assert users rights to do so, and use copyright law to defend the users' rights to carry out those activities.  The GNU General Public License (GNU GPL, see below) is the most widely used copyleft license.

DeCSS
     <HELP>

DMCA
     <HELP>

E-Books
     E-book is short for ``Electronic Book''.  An E-book is is made available to the reader as a computer file.  A special software program is usually required to display the content of the book on a computer screen. ``E-book readers'' are small, hand-held computers that contain the special software and are used primiarly for displaying such books.

Emacs, GNU Emacs
     GNU Emacs, started in 1984, was the first software program for the GNU system.  GNU Emacs is used to edit text documents.  GNU Emacs was designed to be easily changed and customized.

GNU
     The name ``GNU'' was a playfully designed ``recursive'' acronym---meaning that the acronym itself is part of the acronym's expansion.  GNU stands for ``GNU is Not Unix''.  Unix is a proprietary software operating system invented at Bell Labs in the early 1970s.  The GNU Project set forth to write a completely Free Software Unix-compatible operating system, which is today incarnated in modern GNU/Linux systems.

Graphical Interface
     Graphical interface refers to a method of talking or interacting with a computer.  In a graphical interface enviornment (often called ``Graphical User Interface'' or GUI enviornment) functions of the computer are represented as pictures.  The user typically uses the mouse to click on pictures in order to give commadns to the computer.

k
     see kilobyte, below.

kilobyte
     A kilobyte is a unit of measure.  One kilobyte is 1000 bytes.  A Byte is the smallest unit of information a computer typically stores. Modern users usually hear storage sizes in terms of ``meg'' (short for ``megabyte'', or about 1 million bytes) and ``gig'' (short for ``gigabyte'', or about 100 million bytes).  However, throughout most of the 1980s and into the early 1990s, computer storage was usually measured in kilobytes.

Less
     Less is the name of a GNU program found on GNU/Linux systems. It is a playful joke on the name of the Unix program it was written to replace called ``more''.  The program is used to view a text file screen-by-screen in command-line (see above) mode.

LessTif

Linux
     Linux is a kernel written by Linus Torvalds in 1991. It has quickly become one of the most important Kernels in the world, and can be found on more then half of the worlds web servers.

Linux Kernel
     See Linux

MCC
     <DEFINE>

Motif
     <DEFINE>

Nanotechnology
     Nanotechnology is the field of science attempting to create tiny robots the size of cells, designed to make one change to the biology life form they are introduced into.  A common example given as a use for nanotechnology, is the ability of the tiny robots to scrape away the cholesterol plaque built up in a patient's arteries, thus avoiding the need for major surgery.

Napster
     <DEFINE>

Open Source
     The term 'Open Source', coined By Eric Raymond, was designed to represent a more restricted form of free software that would better appeal to business interests.

Pay Pal

Pirate
     Historically it has meant one who plunders or robs at sea However, in modern times the word has been used to describe the act of sharing proprietary software (see below), which is often illegal to copy and redistribute.

Posix
     <DEFINE>

Proprietary
     The term proprietary implies monopolistic ownership.  It is used to mean that a software program has a restrictive copyright that does not allow it to be easily shared, or it's source code to be easily accessed. The term was developed because calling software 'copyrighted' does not have the same meaning. There are many types of copyright licenses granting different levels of permission to use a program; being copyrighted does not automatically mean forbidding to copy or modify.  'Proprietary software' is often used as an antonym for 'Free software'.

Qt
     <DEFINE>

Real Audio
     <DEFINE>

RMS
     Richard Matthew Stallman became known as 'rms' because of an old computer tradition that existed back when the computer user community was much smaller. During the 1970s and early 80s, multi-user computer systems required people to have 'user names' to sign into the computer, just like today. However, since the community was so small, people often just used their first name or their initials.  These user names became nicknames within the community.

Software
     <DEFINE>

Shell
     A shell is a computer concept used in multi-user operating systems like Unix and GNU/Linux. It creates an environment that the user can be 'in', and allows the user to interact with the computer. It is also  'place' for a user to keep all their files. Each user's shell can be changed to suit their taste, creating a personally tailored environment.  Some shells have so many features that they can be used as programming languages. 1

windows
     Windows is the shortened term commonly used to refer to the Microsoft Windows Operating System. It is a graphic-focused style where the user clicks on a picture to run a command.  It is in direct contrast to older style operating systems like MS-DOS and Unix.

X Windows
     X Windows is an early graphic interface, originally developed for MIT's project Athena .  It can work with Unix and GNU/Linux to provide a graphic interface front-end.  It is a popular graphic interface amongst universities and computer scientists.

Xerox

Xerox Parc
     <DEFINE> .