History of Software Freedom =========================== Hacker Subculture ----------------- ~3:00 slide: Hacking notes: I'll discuss the hacker subculture first, since hacker values permeate and give context to the history of software freedom. Can anyone tell me what "hacking" is? What if I told you that this is a hack? slide: notes: This is a nyan cat that hackers hanged in MIT's Lobby 7 last September. MIT is actually where the hacker subculture flourished. slide: notes: Through the 1950s, MIT's Tech Model Railroad Club built a huge train layout. Under this layout was a complex matrix of wires, relays, and crossbar switches, called "The System". Members of the Club's Signals and Power Subcommittee were obsessed with understanding and improving The System. They developed a jargon of terms including "hack", which described any innovative project or feat undertaken with wild pleasure. They proudly called themselves "hackers". slide: notes: Eventually, the MIT model train hackers found computers and enthusiastically began programming them. As they honed their skills, a set of beliefs formed. Steven Levy codified these beliefs in the six tenets of the Hacker Ethic. slide: The Hacker Ethic: 1. Access to computers---and anything that might teach you something about the way the world works---should be unlimited and total. Always yield to the Hands-On Imperative! 2. All information should be free. 3. Mistrust Authority: Promote Decentralization. 4. Hackers should be judged on their hacking, not bogus criteria such as degrees, age, race, or position. 5. You can create art and beauty on a computer. 6. Computers can change your life for the better. notes: One: Access to computers---and anything that might teach you something about the way the world works---should be unlimited and total. Always yield to the Hands-On Imperative! Two: All information should be free. Three: Mistrust Authority: Promote Decentralization. Four: Hackers should be judged on their hacking, not bogus criteria such as degrees, age, race, or position. Five: You can create art and beauty on a computer. Six: Computers can change your life for the better. slide: > The word hack doesn't really have 69 different meanings. In fact, hack > has only one meaning, an extremely subtle and profound one which defies > articulation. -- Phil Agre > hacker > A person who delights in having an intimate understanding of the > internal workings of a system, computers and computer networks in > particular. The term is often misused in a pejorative context, > where "cracker" would be the correct term. See also: cracker. -- RFC 1392 notes: As MIT hacker Phil Agre notes, the word "hack" has "one meaning, an extremely subtle and profound one which defies articulation". Renowned hacker Dr. Richard Stallman defines "hacking" as "exploring the limits of what is possible, in a spirit of playful cleverness". As noted in RFC 1392 and elsewhere, the term "hacking" is often incorrectly used to describe breaking into computer systems. The alternative term "cracking" has been offered for such malicious activities. slide: notes: The word "hack" has long been used at MIT to describe elaborate college pranks, such as assembling what appeared to be a campus police car atop the Great Dome. slide: Network Working Group D. Waitzman Request for Comments: 1149 BBN STC 1 April 1990 A Standard for the Transmission of IP Datagrams on Avian Carriers Status of this Memo This memo describes an experimental method for the encapsulation of IP datagrams in avian carriers. This specification is primarily useful in Metropolitan Area Networks. This is an experimental, not recommended standard. Distribution of this memo is unlimited. notes: On April 1, 1990, the Internet Engineering Task Force displayed its sense of humor with RFC 1149, "A Standard for the Transmission of IP Datagrams on Avian Carriers". This hack defined a way to transmit network data over carrier pidgeons. slide: notes: Eleven years later, the Bergen Linux User Group in Norway implemented the standard on GNU/Linux, recording a mere 55% packet loss and an average round-trip time of one hour and 46 minutes. An Age of Freedom ----------------- ~2:00 slide: In the beginning, there was freedom. * Software freedom is as old as computing. * Sharing software is to computing as sharing recipes is to cooking. * Software was free out of necessity and culture. notes: Having defined hacking and detailing hacker values, I'd like to explore the history of software freedom. Free software and open source are not new ideas. Software freedom is in fact as old as computing is. Roughly, sharing software is to computing as sharing recipes is to cooking. Software was normally distributed in a human-readable form because users often modified it to run on different computers and operating systems, to fix bugs, or to add features. slide: notes: Here we see the PDP-1, produced by Digital Equipment Corporation in 1959. This was one of the first minicomputers produced. After its donation to MIT in 1962, it became the favorite machine of the budding hacker culture. But the PDP-1 was sold without software. Users wrote their own software, and they realized that it would be terribly inefficient for everyone to write from scratch all the software they needed to run their computers. So instead, they shared what they wrote. slide: notes: In 1961, the Digital Equipment Computer Users' Society was founded to facilitate the free exchange of information between users and the manufacturer. Over the years, they collected and published a large number of programs to run on the PDP-1. slide: notes: In 1969, four AT&T employees wrote for the PDP-7 an operating system called Unix. It was to be "a system around which a fellowship could form". Under the settlement terms of a 1958 antitrust case, AT&T was required to license non-telephone technology to anyone who asked. Subsequently, Unix was distributed, with source code, to universities, corporations, and the U.S. government. Lion's Commentary, a book published in 1976, documented Unix's source code. Throughout the 1970s, universities worldwide contributed greatly to the development of Unix. Proprietarization ----------------- ~2:30 slide: notes: Then things started to change. Many people attribute this to this man, Bill Gates. But it actually began even before Gates entered college. slide: ??? notes: In 1969, IBM stopped providing software in source form along with their hardware. Instead, they began separately selling binary copies of software at a high cost. Thus, they pioneered what is now called the "software industry". slide: notes: In 1976, Bill Gates, General Partner of Micro-Soft, was fed up with members of the Homebrew Computing Club sharing software. He published in the Club's newsletter an "Open Letter to Hobbyists", accusing Club members of "stealing". He claimed that sharing is unfair and prevents the writing of good software, apparently forgetting about the software that was good *because* it was shared for years. slide: ??? notes: But note that sharing software was still perfectly legal. This was fixed in 1980 when Congress passed the Computer Software Copyright Act. This legislation did two things. First, it added to Copyright Law a definition for "computer program", thus making software copyrightable. Second, it amended Title 17 of the United States Code, section 117 to declare that running a computer program is not an infringement of copyright. So, sharing and modifying software without a license became illegal. But no license was necessary to run a program. slide: ??? notes: Then companies started writing contracts called "End-user license agreements". How many of you have read every such contract to which you've agreed? These contracts typically circumvent section 117 by arguing that the software they cover is "licensed, not sold". That is, a contract claims that you don't own the Microsoft Windows CD you buy from a store. Microsoft owns the disk and gives you permission to run it. The legality of this practice is disputed. Furthermore, these contracts take away many otherwise legally-protected rights. By agreeing to one, you forfeit rights to make fair use of the software, to use it in a house with more than five computers, to reverse engineer it to learn how it works, or even to talk about how well it works. The GNU Project --------------- Linux ----- Open Source -----------