Free software glossary

Definitions and links.

Published March 5, 2000 4:00PM (EST)

386BSD: One of the many Berkeley Unix spawn. Created by William and Lynne Jolitz, 386BSD was the first BSD distribution designed to run on the personal computer. A partial explanation for its failure to thrive can be found in a Salon Technology feature by Rachel Chalmers.

algorithm: The algorithm "made possible the modern world," says Dan Berlinski, in his ambitious book "The Advent of the Algorithm." His definition is the best I've seen so far: "an algorithm is a finite procedure, written in a fixed symbolic vocabulary, governed by precise instructions, moving in discrete steps, 1, 2, 3, ... , whose execution requires no insight, cleverness, intuition, intelligence, or perspicuity, and that sooner or later comes to an end." More to the point, an algorithm is a set of instructions that, when executed, achieve a result. The word is originally derived from the surname of the 9th century Muslim mathematician Abu Ja'far Mohammed Ben Musa al-Khowarazmi.

Eric Allman: Creator of sendmail, an extremely popular twenty year old program that still transports the bulk of Internet mail. Allman attended Berkeley as an undergraduate in the early 70s, worked for the computer science department on various projects afterwards, and is currently the Chief Technical Officer for Sendmail Inc. Salon's feature on Allman and Sendmail can be found here.

anonymous remailer: A Net-connected computer that strips identifying information from an email message or Usenet post and then forwards it on to its intended destination. Anonymous remailers are a crucial element in crypto-libertarian freedom fighting, but are unfortunately not impervious to the powers of the state.

Apache: The premier case study demonstrating the power of open-source software development. Apache (originally "a patchy server") is a Web server program developed mostly by volunteers. Yet somehow it dominates the market for publically accessible Web servers on the Internet, beating out Microsoft by a handy margin. Coordinated chiefly by Brian Behlendorf, the Apache project proves that programmers working for competing companies can collaborate on technically sophisticated software programs. Salon's story on Apache, which was the first story Salon published on the topic of free software, way, way back in the fall of 1997, can be found here.

Arpanet: An acronym for Advanced Research Projects Agency Net. The predecessor to the Internet, originally funded by the Defense Department. When you hear a person use the word Arpanet in a casual conversation, you are most likely listening to a very senior geek.

BASIC: I wince every time I think about the fact that I wrote some programs in BASIC on my grandfather's TRS-80 computer in the late '70s. If I'd just kept with it, instead of stupidly ignoring computers for the next 10 years, I could have been Bill Gates! Well, perhaps not. Anyway, BASIC is a very simple programming language designed originally at Dartmouth College. Bill Gates and Paul Allen wrote a version of it for the Altair personal computer, and then proceeded to attempt to charge users through the nose for it, thus incurring much resentment.

binary: A numbering system with just two numbers. Usually, one and zero. Digital computers reduce everything, ultimately, to strings of ones and zeros. However, code that consists simply of ones and zeros is very difficult for human beings to comprehend, which is why commercial software programs are usually released in binary form. A compiler program converts source code written by humans into binaries that computers can understand.

BBN: Bolt, Beranek, and Newman. Originally a small scientific company in Cambridge Massachusetts staffed mainly by MIT graduates. Received the first DARPA grant to construct the Arpanet. Famous for employing Will Crowther, the author of the dwarf-obsessed computer game Adventure. Now a subsidiary of GTE.

Berkeley Unix: A version of AT&T Unix written by Berkeley students and researchers, primarily Bill Joy. Considered by many to be the first successful open source software development project. Also referred to as BSD, or Berkeley Software Distribution. The ancestor of 386BSD, NetBSD, FreeBSD, OpenBSD, and BSD/OS.

boot: The initial start-up process for a computer. See The Jargon File for more information.

bootstrap loader: A program that gets a computer started up for the first time. The process is almost magical, as is the concept of "pulling oneself by one's bootstraps."

Keith Bostic: A member of Berkeley's Computer Sciences Research Group (CSRG), Bostic is venerated in the Unix community for having cheerleaded the effort to write freely redistributable versions of every single part of Berkeley Unix.

BSD: Berkeley Software Distribution, or, sometimes, Berkeley System Distribution. A series of software releases packaged together, first by Bill Joy, and later by the CSRG, that proved wildly popular with the Unix research community. Today the BSD family includes FreeBSD, NetBSD, OpenBSD, and BSDi. As the joke goes, it's no coincidence that BSD and LSD both came out of Berkeley.

BSDi: A company formed by ex-members of the CSRG to create a proprietary version of BSD. In February, BSDi merged with FreeBSD.

C: A programming language created originally by Dennis Ritchie and Brian Kernighan at Bell Labs. Popular with programmers because it is efficient and doesn't require much memory, but also complex and difficult. Vast portions of the Internet are written in C and its descendent, C++. Learn C, and you'll most likely never work minimum wage again.

code morphing software: Transmeta defines its (patented) "code morphing software" as "a dynamic translation system, a program that compiles instructions for one instruction set architecture into instructions for another instruction set architecture." In non-geek language, this means that Transmeta has figured out a way to write software that will translate instructions from operating system environments like Windows or Linux into a simpler set of instructions that Transmeta's Crusoe chips will be able to understand. The advantage, theoretically, is that by doing all this work in software instead of in hardware, Transmeta's chips can be smaller and cheaper and use less power.

compiler: A program that translates software written in source code into instructions that a computer can understand. See Webopedia for more information.

copyleft: A play on the term "copyright," copyleft is the essential concept at the heart of the Free Software Foundation's General Public License. According to the FSF, "Copyleft says thatanyone who redistributes the software, with or without changes, must pass along the freedom to further copy and change it." This is sharp contradistinction to the permissions granted by BSD style licenses, which allow you to do anything you want with a piece of code, as long as you maintain the copyright notices.

<a name="csrg"

CSRG: Computer Science Research Group. Set up by Berkeley computer science professor Bob Fabry, the CSRG was the organization that received DARPA money to produce Berkeley Unix. For several years, the CSRG was one person: Bill Joy. Other members of the CSRG included Sam Leffler, Kirk McKusick, Mike Karels, Mike O'Dell, and Keith Bostic.

cypherpunk: According to the Wired Style Guide, a "Radical geek or online denizen who is pro-privacy and pro-cryptography (and often supports libertarianism and anarcho-capitalism)." John Gilmore, one of the earliest self-proclaimed cypherpunks, calls them "An informal group dedicated to public education and dissemination of encryption (also known as cryptography, the science and art of secret writing)." The definitive article on cypherpunks, although now dated, is probably Steven Levy's piece story in the second issue of Wired magazine.

DARPA: Defense Advanced Research Projects Agency. Far-sighted technology research funding wing of the Pentagon. Responsible for the early funding of the Arpanet and Berkeley Unix, along with many other worthwhile projects. Currently obsessed with micro-electromechanical (MEMS) technology.

debugger: A program that detects errors in other programs.

DEC: Digital Equipment Corporation. Leading manufacturer of minicomputers (which despite their name, were still at least as big as refrigerators. Famous for producing the hugely popular PDP series of computers. Although much castigated by computer historians for failing to support Unix in its early days (in favor of its own home-grown operating system VMS), DEC did take an early interest in Linux. Today, DEC is a subsidiary of Compaq.

device driver: A small program specific to a device -- such as a printer, a soundcard or other computer peripheral -- that allows the device to be used by an operating system. See Webopedia for more information.

emulator: Emulation is a very popular concept in computing. Although computer architectures and software programs vary widely, ultimately, they are all just ways of processing ones and zeros, so technically speaking, any computer should be able to "emulate" the capabilities of any other computer, if programmed correctly. Thus, today's personal computers can pretend that they are actually old dinosaurs like the ENIAC or the IBM 701. It is more difficult to do it the other way around, but that doesn't always stop deranged hackers.

Ethernet: A technology for high-speed bandwidth connectivity over local area networks. Invented by Bob Metcalfe while a researcher at Xerox-PARC.

Bob Fabry: Computer science professor at the University of California at Berkeley who conceived the idea of obtaining DARPA funding for a radically improved version of AT&T Unix. Astonishingly dedicated ham radio enthusiast, as well.

file system: System by which an operating system organizes its data files.

first person shooter: A genre of computer game in which the player sees action from behind the target sights of an astonishing variety of incredibly lethal weapons. Examples include Doom, Quake, Unreal and Half-Life. Extremely violent, and have also been known to cause motion sickness in weenies like the author.

Fortran: The first really good "high level" programming language. Basically, Fortran was a tool for writing programs that did not require programmers to write in "assembly language" -- in instructions that the computer's hardware could directly understand. After Fortran, programs that once took weeks or months to write could be accomplished in a matter of hours. On a personal note, my mother took a class in Fortran at UC Berkeley when she was pregnant with me, which explains a LOT.

FreeBSD: Most popular offshoot of the BSD family. In February 2000, merged with BSDi. Considered by BSD advocates to be technically superior to Linux-based operating systems, but lags far behind in market share.

free software: software in which the source code is by definition freely available to the general public for redistribution, modification, examination or any other conceivable purpose. Similar to "open-source software," except that "open-source" is a relatively recent term coined for marketing purposes by people who wanted to put a more "business-friendly" face on the concept. Free software, as an idea, is usually associated with Richard Stallman, founder of the Free Software Foundation. A full listing of Salon's coverage of the free software movement is available here.

FUD: Fear, uncertainty, and doubt. A computer industry marketing tactic. FUD is usually employed to frighten competitors through the use of such techniques as the pre-announcing of products that might not actually exist, and the distribution of unfounded rumors about competing technology. Microsoft is widely considered the master of FUD, but the company is far from the only practitioner. The name was coined by Gene Amdahl, an early IBM computer scientist who founded his own company and then was crushed by IBM.

John Gage: Former Berkeley radical, hippie war protester, currently "chief research officer" at Sun Microsystems. Coined Sun's marketing mantra "the network is the computer." Has his own Web site for booking conference appearances.

Bill Gates: Founder and current chairman of Microsoft. Depending on who you talk to, he's either one of the greatest businessmen who has ever lived or a double-dealing blackguard who epitomizes the worst evils of capitalism. Or both.

John Gilmore: Paradigmatic libertarian free software geek. One of the earliest employees of Sun Microsystems, and co-founder of Cygnus Software, the first company to attempt to make a business out of free software. A strong believer in making cryptographic tools available to the masses as a way of defending against government intrusiveness.

Johan Helsingius: Creator of Finland's famous anonymous remailer, Also the founder of the first private Internet service provider in Finland. Could be held responsible for a great many anonymous flames posted to Usenet in the mid-90s. He is currently a vice-president at KPNQwest, a large European ISP.

input/output: Usually abbreviated as I/O, input is data that goes into a computer, output is data that is generated by the computer. An input device could be a floppy drive or a CD-ROM drive, and an output device could be a monitor. A modem is both, a full-fledged input/output device!

IRC: Internet Relay Chat, for years one of the most popular methods for facilitating online, real-time chat. Also home to a vast menagerie of insane bots -- annoybots, warbots, chatterbots, and guardbots. For more on bots, buy my first book.

jpeg: An acronym for "Joint Photographic Experts Group." A graphics compression format -- makes pictures smaller, in terms of data size, with some loss of detail.

Bill Joy: Co-founder of Sun Microsystems. Also principal creator, while a graduate student, of "Berkeley Unix," a version of the Unix operating system that became widely distributed in the 1980s.

kernel: The core of an operating system -- the code that makes a computer's hardware accessible, and takes care of essential basic jobs like memory management and disk management. For more information see Webopedia.

Sam Leffler: The second full-time employee of the CSRG, worked closely with Bill Joy on Berkeley Unix, and finished work on BSD 4.2 after Bill Joy left Berkeley to co-found Sun Microsystems.

Risto Linturi: Mastermind behind Finland's "Virtual Helsinki." Owner of a "smart house" said to rival Bill Gate's in microprocessors per inch. All around smart guy with a passion for discussing Finnish cultural history and how it applies to information technology knowhow.

Linux: Strictly speaking, Linux is the kernel of a Unix-like operating system originally created by Linus Torvalds. It is also a cult and a revolutionary movement. And it has a penguin for a mascot. Salon's now somewhat dated 1998 feature on Linux can be found here.

mainframe: In the beginning, there was the mainframe. Which begat the minicomputer. Which begat the personal computer. Mainframes are "big iron" -- large, powerful, expensive computers that can support hundreds or thousands of simultaneous users.

matrix inversion: I liked the following definition so much, I stole it from the Web page it appeared on:

Once Nasruddin came to a market plaza and asked: "People, do you know what I want to tell you?" "No," answered the people, "how can we know?" "Then we don't have a common ground for discussion," said Nasruddin and went home.

Next day Nasruddin came to the market plaza and asked the same question. The people said, "Yes, Nasruddin, we know what you want to tell." "Then there is no need for me to talk," said Nasruddin and went home.

On the third day the people said, "Some of us know, and some do not." "Well, let those who know tell those who don't," said Nasruddin and went home.

If you're looking for a serious mathematical definition of matrix inversion, reference the Web page cited above. But in very elementary terms, a matrix is a group of elements organized in columns and rows. An inverted matrix is a matrix that when multiplied by its original matrix yields an "identity matrix" which is a special kind of diagonal matrix in which all of the diagonal elements are equal to one. Is that completely clear?

Kirk McKusick: Chairman of the board for BSDi, mainstay of the CSRG after the departure of Bill Joy and Sam Leffler. McKusick masterminded the BSDi/FreeBSD merger.

microprocessor: The chip at the heart of the computer -- a piece of silicon with many, many, tiny transistors embedded in it. Increasingly found inside everything from talking Barney dolls to wristwatches.

minicomputer: Historically, a class of computers that fit into a niche between the mainframe and the personal computer. Minicomputers were actually affordable for universities and smaller research institutions. Most minicomputer companies failed to adapt well to the challenges posed by ever-more powerful personal computers and workstations.

Minix: An experimental operating system created by Andrew Tanenbaum.

NetBSD: BSD variant that focuses on porting BSD to as wide a variety of computer architectures as possible. Started when some BSD developers became frustrated with the pace of development of 386BSD.

Jarkko Oikarinen: Creator of IRC, or Internet Relay Chat. For years IRC was the best way to chat online, long before the rise of AOL or ICQ. Ironically, however, for a guy who is famous for writing a program that enables people to gab endlessly, Oikarinen himself is a pretty quiet guy. Drawing an interesting response from him during an interview is like pulling a molar.

open-source software: software in which the source code is by definition freely available to the general public for redistribution, modification, examination or any other conceivable purpose. Encompasses a wider range of potential licensing schemes than does the term "free software." Cooked up as business-friendly marketing term by people who wanted to distance themselves from Richard Stallman.

OpenBSD: Offshoot of NetBSD. Formed because of personality conflicts within NetBSD, OpenBSD focuses on security issues.

operating system: a software program that provides the interface between a human and a computer. For more information see Webopedia

Perl:The original Swiss Army chain saw. A scripting language created by Larry Wall that is notoriously messy, but incredibly popular with hackers. There's always more than one way to do things with Perl, which is why programmers both love the language, and hate it. My story on Perl, for Salon remains to this day my favorite piece of all the articles I've written about free software.

protocol: A specification for determining how data should be transmitted between two devices.

register: A "place" within a computer that stores a sequence of ones and zeros. Or, to make things complicated, a place that stores the "address" of a sequence of ones and zeros, with that address indicating a location on a hard drive or other storage device.

Dennis Ritchie: One of the original Unix gurus. An AT&T researcher who, with Ken Thompson, co-wrote Unix. Also co-authored the widely used C programming language.

sendmail: a "mail transport agent" responsible for carrying the majority of the Internet's e-mail from point to point. Written by Eric Allman while a researcher at the University of California at Berkeley. Salon's feature article on sendmail and Allman is here.

solenoid:An electro-magnetic coil that mechanically opens and closes a circuit when electric current is run through it.

sorting algorithm: A method for sorting data so that it can be quickly retrieved.

source code: The underlying code that makes up a software program. Most commercially available programs come in "binary" form, which is nearly impossible for humans to comprehend. Source code, however, is comprehensible, and if you have it, you can learn how a program does something, change it so it does something else, or otherwise improve it. True geeks swear by source code.

source control software: A software program that allows multiple users to add their changes to a codebase. Use of source control software enables the logging of all such changes, control over who is allowed to make changes, and the rollback of changes to previous versions of the software. Source control software is employed in many high profile open-source projects, including most BSD variants and Apache. It is not used in Linux.

ssh: Secure shell. A program that allows a user to log into another computer remotely across the Internet, while maintaining complete security.

Richard Stallman: Legendary programmer, MacArthur "genius grant" recipient, founder of the Free Software Foundation. Author of free-software mainstays such as the text editor Emacs and the GNU compiler. Salon's profile of him can be found here.

subroutine: A portion of a program that performs a specific task.

Andrew Tanenbaum: Creator of the Minix operating system.

tape drive: Before the advent of floppies and cd-roms, one popular way to store data and programs was on tape, either of the paper or magnetic variety.

TCP/IP: Transmission Control Protocol/Internet Protocol. A set of communication protocols used to connect computers on the Internet.

TCP/IP stack: A term that refers to both the software that implements TCP/IP, and to the collection of protocols that make up TCP/IP.

Teletype A predecessor of the computer terminal: the canonical Model 33 Teletype machine consisted of a keyboard and a paper tape printer.

Ken Thompson: Co-creator, along with Dennis Ritchie, of the Unix operating system.

Linus Torvalds: Creator of the Linux kernel. Mastermind of the world-wide Linux revolution. Not very good Quake player. Employee of Transmeta, a chip design company. Famous for pretending to joke about his goal of "world domination."

Unix: An operating system co-created by AT&T researchers Dennis Ritchie and Ken Thompson. See The Jargon File for more information.

Usenet: The largest computer conferencing system in the world. Thousands of newsgroups on this decentralized network are devoted to a seemingly infinite variety of topics.

vaporware: The marketing practice of announcing the imminent release of a product that does not actually exist and may not ever exist. Usually this is done to frighten prospective competitors from entering into a particular market niche. Particularly popular with companies that dominate a market.

vi: A text editor created by Bill Joy. Loved by many programmers because it is included with almost all Unix operating systems, hated by equally many programmers for being obtuse and confusing.

VMS: An operating system designed at DEC to run on the VAX computer. Passed over by DARPA in favor of Unix, because DEC was closed source.

Web server: A software program that transforms an Internet-connected computer into a machine capable of hosting Web pages.

By Salon Staff

Related Topics ------------------------------------------