BitTorrent

"BitTorrent-related processes are not allowed." - Persistent Processes

"... BitTorrent software, or severely CPU intensive CGI scripts (e.g. chat scripts, proxy scripts, scripts which have bugs...) are not encouraged. IRC bots and bouncers (BNC) specifically may not be run on any DreamHost Webhosting server, and if your processes are adversely affecting server performance disproportionately DreamHost Webhosting reserves the right to negotiate additional charges with the Customer and/or the discontinuation of the offending processes." - DreamHost TOS

= Dreamhost Policy Debate =

Dreamhost does not maintain a BitTorrent tracker, and does not allow users to run their own BitTorrent tracker.

Why?

The reasoning is a bit vague, and some speculation is rather bizarre. BitTorrent does not use enormous server bandwidth; it conserves it, in theory. However, what BitTorrent does do is place enormous load on the tracker. In the BitTorrent protocol, the tracker is basically the machine playing relay between all the various seeders (uploaders) and leechers (downloaders). This happens with particularly popular files where there are lots of peers.

It also becomes a very big problem when there are too many seeders while no one is interested in downloading a certain file. It may be because of this that DreamHost, for the time being, does not host or allow hosting of BitTorrent trackers.

At the end of the day, server load has higher priority than bandwidth load since the latter can be scaled much more easily than hardware stressed to the breaking point.

About the Bandwidth
It isn't about the bandwidth.

Most Dreamhost customers on a shared account will never get close to their maximum. It does matter to the customers who have popular files and huge file sizes that have to be transferred. Dreamhost has came off as arrogant as of late from their confusing comments about their policy. To those who know about BitTorrent, Dreamhost just doesn't want to support it, whatever their reason.

Dreamhost states that it "eats too much bandwidth", while the whole purpose of BitTorrent is to save bandwidth. This has lead to some confusion.

Comparison
Let's take a moment to discuss the logical reasonable explaination of the comparsion of BitTorrent (or BitTorrent type) and regular file downloading.

For example, the file is 100MB. There are 1000 users who want the file.

Regular File Downloading
Downloads the whole file from the server to the users computer.

100GB total bandwidth used.

With BitTorrent
Lets use the configuration that allows every user to download a piece and then seed that.

Each piece is seeded to different users who once they download, immediately start transfering to the others.

It is debatable how many people will stay on as seeds and those who will stop after they finish. Lets say there are still 3 seeds on who are seeding to the other 997 leechers (who are still seeding their pieces).

The total bandwidth used will be over 100MB since not only is the file being transfered but the IP list. The chuck of the bandwidth used will be the file and not the IP List. It still won't be as much as the Direct Downloading. There are enough nice people using BitTorrent that if there needs to be a seed, they will seed it.

This is the best case, the real world isn't going to be so friendly.

About the CPU Usage
The primary issue is of CPU Usage, which BitTorrent tracker eats up. Dreamhost could have made this clear, if it truely is the issue. This is speculation from the facts above and from the fact that Dreamhost hates, repeat hates high CPU usage on shared servers.

If you buy a server, then it is all good and well what you do as long as it isn't illegal.

Other Factors

 * 1) Inablilty to measure bandwidth used through BitTorrent Ports (Speculation: See Boing Boing Site)
 * 2) Trackers use huge numbers of ports with large swarms (which also uses CPU time)
 * 3) Warez
 * 4) Anime (both licensed and unlicensed)
 * 5) Illegal Movies
 * 6) Etc

Illegal content would put Dreamhost at legal risk since it would be extremely difficult to know who is hosting illegal content from those who hold the copyright. People can already do this now, but it uses a lot more bandwidth and money. Using BitTorrent would make it extremely cheap to distribute illegal content.

Email from Dreamhost
In case some of you didn't know, DreamHost does not allow the use of BitTorrent software on its servers. The reasoning behind that isn't that we have anything against BitTorrent (heck, most of us use it ourselves). The problem is that with the amount of bandwidth at our disposal, the trackers simply end up handling too much data and eating up far too many resources (both CPU and bandwidth) and end up affecting the level of service we can offer the other people on our shared hosting servers.

We have been researching the possibility of offering a public tracker service, but it's still in the very early research stages and may not be something we can offer.

So please, for the sake of everybody who has to share their resources with you, refrain from running BitTorrent software on your accounts. If we catch you running one we reserve the right to shut it down with no notice.

Happy Dreamhost Tracker Tracking Team!

Forum Post June 2006 by Sabrejack
Forum Link


 * "Torrent downloading and torrent seeding are absolutely not allowed. Few people seem to know this, but bittorrent consumes a huge amount of resources. BT uses dozens of open connections, writing to dozens of individual files at separate locations, many times a second. The amount of memory and CPU load needed to run just one single BT client is very high. We run NFS-mounted home directories and BT over NFS is extremely inefficient and causes performance slowdowns for everybody on your server and everybody sharing your network storage filer (which could span dozens of other servers.) CPU usage tends to shoot up to a load of 50, 100, or even 150.. where normal is 2.


 * Because of this, BitTorrent violates two parts of our terms of service. It is a "server process", that is, it listens on ports for incoming connections and it runs after you've logged out. It also interrupts service for other customers. All BitTorrent clients will be killed on sight regardless of what type of content they are transferring.


 * Trackers, on the other hand, are disabled on a case by case basis. If it's a process that listens for incoming connections, it will be disabled. I've seen some BT pages made in PHP and sometimes they're acceptable, and sometimes they're so badly written that even the most moderate amount of traffic will crash the server repeatedly. The latter get disabled very quickly.


 * Anything at all involved in piracy of any kind will be disabled regardless, for violation of our lawful purpose clause of the terms of service.


 * Hope that helps."

= Boing Boing Controversy = In June 2005, the popular blog Boing Boing posted about Dreamhost's BitTorrent policy, calling it "clueless." In an update to the post, excerpts from a letter Dreamhost Support sent to Seth Miller were posted. The letter gave the impression that Dreamhost does not care about BitTorrent, as long as it does not inordinately affect the availability of server resources: Having said all of this, it sounds like what you have been doing with BlogTorrent is acceptable. Our policy on BitTorrent one is very general and was intended as a stop-gap measure against a few people who were abusing our good faith and server resources. As we do not currently provide a BitTorrent service, distributing a large file like you have done should be fine as long as it doesn’t consume an inordinate amount of server resources. You are of course still bound by all applicable laws.

I hope that clears things up for you. Let us know if you have any other questions.

Update March 2006
Even if you hold the copyright to files DH will respond with: [W]e have a very strict policy forbidding any type of BitTorrent activity on our servers. This includes, but is not limited to, running a client or server under your account, or hosting a torrent tracker website. So maybe there was an exception to placate Boing Boing, but DH is back at the beginning. Stating that Bittorrent increases server load and bandwidth compared to http.

Seems inane to me.

=Alternate p2p Filesharing options=

Swarmcasting
Swarmcasting is a peer to peer file stream system that lessens server load for high demand large filesize content. It uses a proxy engine on the client side to capture special links and make a transparent connection to a swarm server, that is much like a tracker. The swarm server is sent a hyperlink through a hyperlink that references the original location of the file, at that time the file is either seeded, p2p distributed, or directly streamed from the file server to the clients proxy transparently. The technology claims that you are only providing files while you are downloading/ streaming the original content. The software falls somewhere between bitTorrent and http file serving. You can think of it at bitTorrent without the .torrent files and without the tracker, it is very easy to use, but it does not work as well for large libraries of large files that are downloaded rarely, by a large user base. It however works really well for small libraries of large files that are streamed or randomly accessed( pdfs?, flash? ) by any audiance size, since it can either http stream, or http swarm transparently to the user. (if only there was a firefox plugin, that auto prepended largefiles with "/http://swarmcast.net/swarm/") You can check more info out at http://swarmcast.net/