BitTorrent
BitTorrent is a hybrid between pure peer-to-peer and client-server file sharing. The servers are more concerned with directory functions and managing content flows that actually holding the content. BitTorrent seems to have been much more successful than other P2P companies in establishing working relationships with the entertainment industry, avoiding the adversarial relationships that closed down other P2P systems. When the protocol first deployed, it was at end user quality levels. Evolved versions can meet enterprise quality needs. There is also a content distribution service, based on BitTorrent technology but as opposed to P2P, with contractual SLAs. CacheLogic runs this commercial service. BitTorrent claims that its traffic is 35% of the total Internet traffic, although this has not been independently confirmed.
The original BitTorrent client, written in the Python programming language, had its source code released under the BitTorrent Open Source License, which is a modified version of the Jabber Open Source License. There are numerous compatible clients, written in a variety of programming languages, and running on a variety of computing platforms.
Protocol architecture
While BitTorrent implements are called clients, the protocol operations are not strongly client-server. NetNews is a conceptual predecessor, in that the clients exchange information about what they have and what they need. As opposed to news, however, the exchanges are not pairwise, but as parallel as possible. The more clients that have the file of interest, the smaller the workload of each. Each client in the “swarm” of cooperating computers knows which other pieces of the file have been transferred.
After downloading a file, the BitTorrent netiquette is to act as a seeder after it has the complete file. This, it offers the file to other clients. Being able to expand the number of sources of content led to the marketing-oriented but meaningful term "application multicasting".
As important as the share ratio may be the length of time the client stays open. The longer that time, the more new clients can find a peer that has that file.
How do would-be downloaders find the clients with the files? The first client to get the file and offer it, called the initial seeder, registers its existence and content with a server called a tracker. Trackers make the information about seeders and trackers available as web pages, but, unless they are coincidentally seeders/clients, do not themselves have the content. They are merely brokers.
In NNTP, the client requests specific messages, but here, they request random pieces of the content file. Randomness increases the probability that more than one client will have the file, such that the work is spread over more computers. The larger the file, the larger the piece. A hash for error detection covers the pieces.
As more peers join the swarm, they share pieces with one another, reducing the load on the initial seeder. Clients should prefer to send data to peers who upload data to them, a means of encouraging fair sharing of the work. If this policy is overly strict, however, a peer that just joined the swarm may not get any data because it is not offering any.
BitTorrent business models
Where several P2P vendors have gone out of business, typically due to huge legal problems with pirated information, BitTorrent seems to have managed to stay more mainstream. BitTorrent distributes BitTorrent's own updates, as well as OpenOffice.org and most LINUX distributions. Free and Open Source conferences have distributed video of their conferences via BitTorrent. NASA uses it for large image files.
Bram Cohen, the inventor of BitTorrent, and the movie industry executed an agreement in 2005. It required that the bittorrent.com website not have any linked to unlicensed movie content. Of course, this had no effect on other servers not under Cohen's control, but it appears there is a mutual attempt to work out compromises between this P2P operator and the entertainment industry than with several other services.
BitTorrent has received the usual legal attacks over copyright infringement, but its main counterargument is that its servers do not contain copyrighted information, but only metadata about it. Nevertheless, the matter is before several courts at the time of this writing. Law enforcement, in several countries, seized servers. BitTorrent websites, perhaps more than for other P2P services, tend to have prominent anti-piracy warnings.
Other BitTorrent servers not subject to this agreement continue to be shut down through legal action. BitTorrent's design does give it some legal protections that other P2P services do not have. BitTorrent itself does not have a search engine, so clients are responsible for finding the material.