Good morning, Senator Hatch. Thank you for inviting me for my first visit to Utah and my first appearance before a Congressional committee. Napster has broadened my own horizons in many ways that I never expected, and these are two examples. I also want to introduce Hank Barry, Napster's CEO, who is here with me today.
I am very happy to have this opportunity to tell you about Napster's origins, describe how the technology works and discuss the future potential of peer-to-peer file sharing and distributed computing.
Napster's Beginnings in a Northeastern Dorm Room
You may have heard or read that I started working on Napster in my dorm room at Northeastern University; while that's true, the story is a little more complicated than that.
I grew up in Massachusetts and during my high school years lived in Harwich. In 1996, between my sophomore and junior years in high school, my uncle, John Fanning, gave me a computer and access to the Internet. That was my first real experience with computers. I was a good student and focused a lot of attention on school, but my real love at that time was sports: I played baseball, basketball and tennis. The computer and the Internet fascinated me totally, and before long I gave up sports so I could spend more of my spare time at the computer learning about programming.
I started my freshman year at Northeastern University in the fall of 1998 intending to major in computer science. Looking for a challenge beyond the entry-level courses, I decided to start writing a Windows-based program on my own. I spent a lot of time in Internet Relay Chat (IRC) rooms getting advice and information from the experienced developers and programmers who hang out there. IRC is a network of people organized into communities, through real time channels on various topics including programming and Internet security. "Napster" was my nickname, and I used it for my e-mail address and as my user name in IRC rooms.
One of my college roommates loved listening to MP3s and used Internet sites such as MP3.lycos.com to find them. He often complained about the unreliability of those sites, finding links to sites that were often dead ends, and indexes that were out of date because they were updated infrequently. I started thinking about ways to solve the reliability problems my roommate was experiencing.
I began designing and programming a real-time system for locating MP3 files of other users on the Internet. I designed the Napster software to find MP3s because they are the most compressed format (in consideration of bandwidth) and they were very popular at the time. The system I had in mind was unlike ordinary search engines at that time.
A traditional search engine sends out "robots" to roam the Internet periodically, updating itself every hour or more to remove sites that are down or unavailable. The database created is entirely driven by what the central computer finds by "crawling" the Internet. The indexes become outdated as sites go up or down, a significant problem when looking for MP3s because most of the files were housed on people's home computers.
My idea was to have users list the files they were willing to share on a computer that they all could access. That list would then be updated each time a person logged on to and off of that computer. The index computer would at all times have an up-to-date list of the files people were willing to share, and the list would be voluntarily made by the users as they logged on and off the system. A user searching the index would see all the files shared by users on the network and available to others on the network at that moment.
In contrast to traditional search engines, I envisioned a system that would be affirmatively powered by the users, who would select what information they wanted to list on the index. Then, when the user exited the application, their portion of the list (their files) would automatically drop from the index. The index was only one part of participating in the community. I also wanted users to be able to chat with each other and share information about their favorite music, so I added these functions to the application.
I very quickly became totally absorbed in this project. It was more compelling than my classes and more meaningful than socializing at school. I wrote a small design for this real-time search engine, and then began the implementation. I first wrote the server software. I next worked on writing the client application, i.e., the user interface. I ordered a Windows programming book over Amazon.com to learn what I needed and wrote the client software.
The Napster system I designed combined a real time system for finding MP3s with chat rooms and instant messaging (functionality similar to IRC). The chat rooms and instant messaging are integral to creating the community experience; I imagined that they would be used similarly to how people use IRC -- as a means for people to learn from each other and develop ongoing relationships. I also added a "hot list" function that enables people to see other's musical preferences by viewing the files they have chosen to share. This synergy of technologies created a platform for a community of users interested in music with different channels organized by genres of music (again, similar to IRC), and with genuine opportunity for participation, interaction and individual involvement by the members' sharing files together.
During the winter, I made the decision to leave school - I found I couldn't concentrate on developing the program and deal with my classes and life on campus. I was driven to figure out if I could make the program actually work. Initially, I didn't intend to even build it out; I was focused purely on establishing a "proof of concept." I figured that if I could make it work, others could too, and someone else would take it from there. There were many unknowns. The design required a networking infrastructure of servers and bandwidth in order to maintain large numbers of user connections. I didn't know if enough users had access to sufficient bandwidth. Other people were skeptical about whether users would be willing to share their files.
After developing the software prototype, I started sending it to friends, who sent it to other friends. A few early adopters provided feedback and helped track down bugs in the software. The consistently supportive and enthusiastic responses I got convinced me to try to build out the system. My uncle and I incorporated the company in May 1999 and he raised some money from angel investors. I released an early beta version of the Napster software in during the summer and it spread quickly by word of mouth.
In September 1999 Napster, Inc. obtained office space and I moved to California. Download.com featured Napster in its Download Spotlight in early fall 1999, and the user community grew significantly.
It hasn't stopped growing since. Today the Napster community numbers over thirty-two million; for the past four months, it has been growing at the rate of one million new users each week. There are consistently over 800,000 people using the system simultaneously, limited only by our network resources. Napster users are in all corners of the world, and while I think it was initially adopted mostly by college students, a significant portion of our users are now over 30 (we received email just last Friday from one 91 year-old man).
The underlying principle of the technology and the service is that people determine entirely for themselves how they are going to use the system and participate in the community - Napster provides the tools, but has no ability to impose limitations or exercise control. The music people are sharing and discussing ranges from the rock music you might expect to classical, opera, country, gospel, jazz, you name it. I receive thousands of emails personally and the company receives hundreds of thousands. People tell us that they use Napster to sample new music before deciding what to buy, find new artists, and house music in their computers that they already own on CD, cassette, vinyl and sometimes 8-track. We hear regularly from mothers who say they use Napster to screen the music their children are listening to and parents who say that Napster is a shared activity that helps them communicate with their teenagers.
I am an avid music fan myself and it is important to me that Napster benefit artists. Many users have told us that using Napster has led them to buy more CDs. Napster has implemented a range of features, most notably our New Artist and Featured Music programs, that help users find out about new and emerging artists and help artists promote their music throughout the Napster community, making it possible for them to reach a broad audience. And artists, both new and established, will be financially compensated when Napster is able to implement a business model.
How Napster Works
Napster is a throwback to the original structure of the Internet. Rather than build large servers that house information, Napster relies on communication between the personal computers of the members of the Napster community. The information is distributed all across the Internet, allowing for a depth and scale of information that is virtually limitless.
Napster does not post, host, or serve MP3 files. The Napster software allows users to connect with each other, in order that they may share MP3 files stored on their individual hard drives. The number of song files available at any given time depends on the number of song files that active users choose to share from their hard drives. Users need not share any or all of their files - they can choose which ones to make available to others. MP3 files do not pass through a centralized server. The transfer is directly from computer to computer, known as "peer to peer." The "peer to peer" or decentralized nature of the technology means that the users, and only the users, determine what is shared.
Unlike ordinary web-based search engines, the Napster system cannot index files based on their content and organize them in a meaningful way for the users. MP3 and Windows Media Audio (WMA) files are not currently designed for such content-based indexing. Instead, such files can only be located and organized based on the file names assigned by the users, specific information in the MPEG header, bandwidth or ping time of the source (such as T1, cable DSL, 35 milliseconds) or by manually opening each file, listening to the file and then categorizing the file based on a personal judgment about what the file contains. Napster provides a directory through which users may find files, by file name, residing on the computers of other Napster users. The Napster service also provides location information allowing a computer to connect to the other user and transfer the file from its location.
The Unlimited Potential of Peer-to-Peer Technology
I believe that the peer-to-peer technology on which Napster is based has the potential to be adopted for a many different uses. People generally speak about the ability to share other kinds of files in addition to music, and indeed, Napster has been contacted by entities such as the Human Genome Project that are interested in sharing information among specific communities of interest. But peer-to-peer, or distributed computing also has tremendous opportunity for sharing resources or computing power, lowering information and transaction costs. Peer-to-peer could be used to create a pool of resources in aggregate to solve a range of complex problems.
Peer-to-peer also has the potential to change today's understanding of the relationship between source and site. Think how much faster and more efficient the Internet could be if instead of always connecting you to a central server every time you click on to a website, your computer would find the source that housed that information nearest to you - if it's already on the computer of the kid down the hall, why travel halfway around the world to retrieve it? A number of companies, from Intel on down to small start-ups, are looking at ways to develop peer-to-peer technology, and I believe that many of them will succeed. The result will be not just a better use of computing resources, but also the development of a myriad of communities and super-communities fulfilling the promise of the Internet that its founders envisioned.