Книга: Code 2.0
Preface To The Second Edition
Preface To The Second Edition
This is a translation of an old book — indeed, in Internet time, it is a translation of an ancient text. The first edition of this book was published in 1999. It was written in a very different context, and, in many ways, it was written in opposition to that context. As I describe in the first chapter, the dominant idea among those who raved about cyberspace then was that cyberspace was beyond the reach of real-space regulation. Governments couldn’t touch life online. And hence, life online would be different, and separate, from the dynamic of life offline. Code v1 was an argument against that then common view.
In the years since, that common view has faded. The confidence of the Internet exceptionalists has waned. The idea — and even the desire — that the Internet would remain unregulated is gone. And thus, in accepting the invitation to update this book, I faced a difficult choice: whether to write a new book, or to update the old, to make it relevant and readable in a radically different time.
I’ve done the latter. The basic structure of the first edition remains, and the argument advanced is the same. But I’ve changed the framing of particular examples, and, I hope, the clarity of the writing. I’ve also extended the argument in some parts, and added brief links to later work in order to better integrate the argument of the original book.
One thing I have not done, however, is extend the argument of this book in the places that others have worked. Nor have I succumbed to the (insanely powerful) temptation to rewrite the book as a response to critics, both sympathetic and not. I have included direction in the notes for those wanting to follow the arguments others have made in response. But, even more than when it was first published, this book is just a small part of a much bigger debate. Thus, you shouldn’t read this to the exclusion of extraordinary later work. Two books in particular already published nicely complement the argument made here — Goldsmith and Wu’s Who Controls the Net? (2006), and Benkler’s The Wealth of Networks (2006) — and a third by Zittrain, expected in 2007, significantly extends the same argument.
I have also not tried to enumerate the mistakes, real and alleged, made in the first edition. Some I’ve simply corrected, and some I’ve kept, because, however mistaken others take them to be, I continue to believe that they are not mistakes. The most important of the second type is my view that the infrastructure of the Net will become increasingly controlled and regulable through digital identity technologies. Friends have called this “mistake” a “whopper.” It is not. I’m not sure what time horizon I had in mind in 1999, and I concede that some of the predictions made there have not come to pass — yet. But I am more confident today than I was then, and thus I have chosen to stick with this “fundamental mistake.” Perhaps this is simply to hedge my bets: If I’m right, then I have the reward of understanding. If I’m wrong, then we’ll have an Internet closer to the values of its original design.
The genesis of the revisions found here was a wiki. Basic Books allowed me to post the original edition of the book in a wiki hosted by Jotspot, and a team of “chapter captains” helped facilitate a conversation about the text. There were some edits to the text itself, and many more valuable comments and criticisms. I then took that text as of the end of 2005 and added my own edits to produce this book. While I wouldn’t go as far as the musician Jeff Tweedy (“Half of it’s you, half is me”), an important part of this is not my work. In recognition of that, I’ve committed the royalties from this book to the nonprofit Creative Commons.
I am grateful to JotSpot (<jot.com>) for donating the wiki and hosting services that were used to edit Code v1. That wiki was managed by an extraordinary Stanford undergraduate, Jake Wachman, who gave this project more time than he had. Each chapter of the book, while living on the wiki, had a “chapter captain.” I am grateful to each of them — Ann Bartow, Richard Belew, Seth Finkelstein, Joel Flynn, Mia Garlick, Matt Goodell, Paul Gowder, Peter Harter, Brian Honermann, Brad Johnson, Jay Kesan, John Logie, Tom Maddox, Ellen Rigsby, and Jon Stewart — for the work they volunteered to do, and to the many volunteers who spent their time trying to make Code v1 better. I am especially grateful to Andy Oram for his extensive contributions to the wiki.
In addition to these volunteers, Stanford helped me gather an army of law students to help complete the research that Code v2 required. This work began with four — David Ryan Brumberg, Jyh-An Lee, Bret Logue, and Adam Pugh — who spent a summer collecting all the work that built upon or criticized Code v1. I relied upon that research in part to decide how to modify Code v1. During the fall semester, 2005, a seminar of Stanford students added their own critical take, as well as classes at Cardozo Law School. And then during the year, two other students, John Eden and Avi Lev Robinson-Mosher, spent many hours helping me complete the research necessary to finish a reasonable draft of Code v2.
No student, however, contributed as much to the final version of Code v2 as Christina Gagnier. In the final months of this project, she took command of the research, completing a gaggle of unresolved questions, putting the results of this 18-month process in a form that could be published, and supervising a check of all citations to verify their completeness and accuracy. Without her work, this book would not have been completed.
I am also grateful to friends and colleagues who have helped me see how this work needed to change — especially Ed Felten, David Johnson, Jorge Lima, Alan Rothman, and Tim Wu. Jason Ralls designed the graphics for Code v2. And finally, I am indebted beyond words to Elaine Adolfo, whose talent and patience are far beyond anything I’ve ever known, and without whom I could not have done this, or much else in the past few years.
- 4.4.4 The Dispatcher
- About the author
- Chapter 7. The state machine
- Appendix E. Other resources and links
- Example NAT machine in theory
- The final stage of our NAT machine
- Compiling the user-land applications
- The conntrack entries
- Untracked connections and the raw table
- Basics of the iptables command
- Other debugging tools