File-sharing software is used to directly or indirectly transfer files from one computer to another over the Internet, over a smaller Intranet, or across simple networks following the peer-to-peer (P2P) model.

Table of contents
1 File-sharing programs
2 File-sharing dynamics
3 Privacy concerns
4 Early models for file sharing
5 File sharing and copyright
6 List of file-sharing utilities
7 Categories of clients:
8 Communities and external links
9 Credit

File-sharing programs

A variety of file-sharing programss is available on several different networks. Availability depends partly on operating system, and different networks have different features (for example, multiple-source downloads, different sorts of search limiting, and so on). Several major file-sharing programs contain spyware, which many users wish to avoid.

File-sharing dynamics

There are several major topics surrounding file sharing. Of them, the two primary dynamics are the benefits and drawbacks of Centralization vs Decentralization and Privacy / Anonymity, especially vs copyright protection and file-sharing legality. As well as the problem of spyware, a method for the companies that produce peer-to-peer programs to make money on their product. It is these pulls which have defined several themes of software.

In the early days, client software was protocol-specific, so you had "Napster" clients, and you had "Gnutella" clients. There is an everpresent push towards making the GUI-side of things capable of using multiple protocols. After all, why should a user have to load up several different applications to do what is, in their mind, the same thing?

In cases where there is perceived value in collecting, some people will have lots to share and will find themselves surrounded by eager people. This can cause problems when the collector cannot keep up with demand. Decentralization is one means to alleviate this problem, especially in cases where it is possible to ensure that multiple copies of a popular item are available from multiple sources (even simultaneously, as with multi-source downloading).

Concepts like hoarding come about where the one centralized person will collect and will not later freely give away what was given. Barter and ratio systems evolve in order to reduce the impact of hoarding. Under these systems, a person will only share when they can expect to get something in return.

Privacy concerns

The concept of being tagged and tracked is one which has been a reality for some time. Personally identifiable information is legally associated with a person's actions in order to verify their identity. Think credit cards: these have to be associated with the purchaser, otherwise the credit card couldn't send a bill for those purchases. This concept has also entered into the computer world, and many people are fearful of advertisers tracking their virtual "movements". While advertisers claim that this is to target more applicable or interesting ads, many people argue that they never want to see another ad again, and certainly don't want to be tracked without explicit permission. This desire for anonymity has spilled into file sharing such that some clients have encryption and obfuscation functionality to protect their users. Concepts such as decentralization and trust have also been used as a means of hiding the identity of users.

Early models for file sharing

Napster, a centralized service, was the first major file-sharing tool and popularized file sharing for the masses. Napster was an MP3-only sharing system and was successfully shut down by legal attacks from the music industry. It was openly attacked by some artists (notably Dr. Dre, Metallica) and supported by others (Limp Bizkit, Courtney Love, Dave Mathews). Napster was a localized index for MP3 files shared by the users logged into the system. It included IRC-like chat & IM features. Almost all new, major clients now follow its example in design.

Even before its legal problems, the community created an alternative: OpenNap. A reverse-engineered version of the Napster protocol, it was released as the open source server alternative for Napster users. These networks continue to exist even after Napster's collapse and many clients using this protocal have appeared, particularly with the help of the Napigator server list - an effort to centralize all of the different servers and networks.

Afterwards, Gnutella, a decentralized network, appeared. This service was fully open-source and allowed users to search for almost any file type; users could find more than just MP3s on these networks. It was created/supported in response to threats towards centralized bodies like Napster. The thought behind decentralization is that no one broken link can bring about the downfall of all members. But Gnutella has experienced growing pains since its use skyrocketed.

Napster and Gnutella continue to define file sharing today, forming the extreme at both ends. Gnutella, a free and open protocol and service, with it's lawless structure but poor scalability. Napster with it's high speed but inability to convince the music industry of its relevance despite millions of dollars in investment.

Most file-sharing systems since have sought to ride the line between these two extremes.

File sharing and copyright

Anonymous, Internet file sharing (such as Gnutella and Napster) grew in popularity with the proliferation of high speed Internet connections and the (relatively) small and high quality MP3 audio format. Although file sharing is a legal technology with legal uses, some people have used it to download copyrighted materials. This has led to counter-attacks against file sharing in general from some copyright owners.

There has been a great discussion over perceived and actual legal issues surrounding file sharing. In circumstances where trading partners are in different countries with different legal codes, there are significant problems to contend with. What if a person in Canada wishes to share a piece of source code which, if compiled, has encryption capabilities? In some countries, a citizen may not request or receive such information without special permission.

Through 2001 and 2002, the entire file-sharing community has been in a state of flux, since record companies and RIAA try to shut down as much of this as possible. Even though they have forced Napster into cooperating against copyright violations, they are way behind, since the community has flourished and produced lots of different clients, though not as many different underlying protocols. The second generation of P2P protocols, such as Freenet are not as dependent as Napster is on a central server, making it much harder to shut down these systems through court actions. Another attempt (used by the maintainers of KaZaA) is to change the company's organization so that it is impossible or useless to attack it legally.

Decentralization has been widely pushed over the fear of having a centralized network attacked, either by legal disputes or hostile users. One argues that a decentralized network has no body to attack, only individual ethereal members. While the foundation protocol of the Internet TCP/IP was designed to be robust and withstand concerted attack, file-sharing and peer-to-peer systems are proving even stronger.

So today we are left with a slew of clients with functionality designed around making sharing files more effective, both in the real sense of uploading and downloading (like anti-hoarding functions) and in the more ethereal sense of being bulletproof towards legal issues (as with anonymity and decentralization).

List of file-sharing utilities

Categories of clients:

  • Centralized Clients: OpenNap
    • Benefits: Faster searching and downloading
    • Negatives: Often more vulnerable to legal and DDOS attacks

  • Decentralized Clients: Gnutella
    • Benefits: Usually more reliable and rarely shut down
    • Negatives: Generally slower than centralized systems

  • Multi-Network Clients
    • Benefits: allows connection to more than one network, almost always on the client side.
    • Negatives: often playing catch-up to individual networks' changes and updates.

  • Private File-Sharing Networks

Communities and external links


  • Peertal - Peertal is a comprehensive, frequently updated news site on P2P-related issues, with a non-technical focus. It uses PHP-Nuke, a Slashdot-like weblog engine. Syndicates infoAnarchy content.

  • - Covering file-sharing and copyright issues along with new and established clients by popularity, size, platform, and more.

  • - Covering file-sharing and copyright issues along with new and established clients by popularity, size, platform, and more.

  • Dimension Music - Dimension is a good source for news on digital music and file sharing in general.

  • GnutellaNews - News about new Gnutella clients and general P2P-news. Part of Dimension Music.

  • - A frequently updated news site specifically for Gnutella clients. Go there if you want to know which ones have been most recently updated.

  • OpenP2P - O'Reilly's Peer-to-Peer portal with news and papers. Interesting for developers and businesses.

  • Hack the Planet - Wes Felter comments frequently on P2P-related issues in his weblog.

  • Viva HX! - All the Hotline-related news you can ask for.

  • ShareReactor.Com - A Web Site that helps download confirmed, public files from one of two networks.

  • ShareLive.Com - A Web Site that helps download confirmed, public files from multiple networks.

  • Peer to Peer guide for the Mac with overview of p2p-clients for MacOS X

  • Music Target - List of file-sharing clients

  • InfoAnarchy - File Sharing / Anonymity Tools - Reviews and forums

Mailing Lists


Papers, Articles and Infant Projects

  • A Method of Free Speech on the Internet: Random Pads (by David A. Madore) - Discusses how information can be completely separated from its creators by XORing it with chunks of random data. The resulting "pads" can then be distributed across so-called "pad archives". A pad archive neither knows what it is hosting nor does it host provably controversial data, since the data cannot be distinguished from noise. It's mainly a legal question: If the courts would outlaw hosting random data, it wouldn't work. Other than that, it's pretty safe -- interesting read, and there are already quite a lot of pad archives (thanks to Slashdot).

  • SafeX - Secure and Anonymous File EXchange. Just a draft with many interesting ideas to use in other projects.

  • The Free Haven Project - Similar goals to Freenet, with different solutions. Some interesting papers. Not much code yet.

  • OceanStore - OceanStore is "designed to span the globe and provide continuous access to persistent information". "Data is protected through redundancy and cryptographic techniques. To improve performance, data is allowed to be cached anywhere, anytime. Additionally, monitoring of usage patterns allows adaptation to regional outages and denial of service attacks; monitoring also enhances performance through pro-active movement of data. A prototype implementation is currently under development."

  • Fling | Sourceforge page - An attempt to provide anonymity on the protocol level (i.e. replace TCP/IP). Still in the planning stages as of Nov 2002.

  • Ben Houston's P2P Idea Page - Ben Houston has written a lot of interesting analyses of distributed systems, among them proposals for more efficient, self-organizing and self-optimizing networks.

  • The Eternity Service by Ross Anderson - This paper is a rather simple suggestion for a redundant, anonymous storage system with payment features.

  • Intermemory Project - Aims to create "large-scale, self-organized, survivable, available, and secure widely-distributed storage". See papers.

  • Who's on First Proposal - This page introduces the Who's On First (WOF) anonymous network, which is the working title of a proposal for a more flexible and reliable anonymous communication network than that provided by current Type I and II remailers.

  • JetFile - Proposal for a scalable distributed file system (some parts are centralized).


This article was partly based on public domain material from the
infoAnarchy wiki. Update as needed.