Search Slyck  
Slyck Interview: Bram Cohen, Creator Of BitTorrent
September 11, 2003
Raymond Hoffman
Font Bigger Font Smaller would like to thank Bullet for giving the interview and Bram Cohen creator of BitTorrent (BT).

1) Bullet : Did you think BT would become so successfull so quickly when you were first creating it?

--Bram Cohen : Sure, when I put my mind to it I can be a megalomaniac.

2) Bullet : So cool. Do you think that now that the US laws have deferred to the RIAA that they could get more aggressive than they currently are and spread the fight outside of the United States?

--Bram Cohen : I don't know. They certainly seem to think they rightfully own the

3) Bullet : BT is not a conventional P2P network, so i would ask you:

Is this is an advantage or a disadvantage, closing an eye and opening another on
the uploads (because there are BT clients which deny the upload speed) and
closing both about the trackers (because there is a tracker per any BT file)?

--Bram Cohen : People have asked for backup tracker functionality, but since trackers
tend to go down permanently rather than transiently that wouldn't really improve robustness much.

4) Bullet : Now that people have made customized versions of your basic idea, how do you feel about the versions that allow people to download without uploading that much?

--Bram Cohen : The tit-for-tat features of the peering protocol do a good job of discouraging leeching. There are plenty of good reasons to cap upload rates, so I don't mind it at all. In general, it is best to cap your upload rate at slightly less than your actual upload capacity, so that BitTorrent does not interfere with your web browsing.

Capping your upload rate at or near zero is both unpleasant and stupid, since it saves you no money and usually hurts download rates.

By the way, upload rate capping is present mostly in clients which are based off the mainline version. I wrote capping but haven't added it to the interface yet, because mainline puts a premium on simplicity of interface.

5) Bullet : What about the 'Direct Source' like law problem, you know... having a tracker in those files shared... the BT P2P became outlawed almost to the extent of a cyber drug?

--Bram Cohen : BitTorrent is completely agnostic as to what kinds of files it distributes (and boy, is there a diversity of them in practice) so banning it would be rather like banning http. Of course, there are plenty of people who would love to ban http.

6) Bullet : I am a dial-up user. I DID use BT but do not any more, the speeds are pretty fantastic but when I have to resume a file i sometimes have problems with space on my drive in order to download huge files like
movies because of the space allocation method of BT, combine that with ping time out problems (which seem only to be a problem for dial-up users) and resuming files i can feel the pain in my hard disk. I checked it in any BT client, and got the same results. BT seems not studied for a dial-up user, which gets many p.t.o.(ping time outs), aren't you right about it?

--Bram Cohen : BitTorrent's allocation and file resume behavior has been completely rewritten since the most recent release. It now starts with a small file and gradually increases the size until the whole thing is downloaded, and on resume it only scans the amount that it's already downloaded. The new code also doesn't fragment the hard drive, which was a big problem before.

A new release with this functionality will be out very soon.

BitTorrent's tracker requests are flaky because the http client library I'm using (Python's built in httplib) is a piece of crap which throws internal assertion failures and doesn't support timeouts. I hope to swap it out with a well-written one at some point in the future, but supporting http isn't the simple task it once was, thanks to the folks at the w3c.

I haven't tried BitTorrent much over dial-up lines, mostly because the files distributed using BitTorrent are generally so big that you wouldn't want to download them over dial-up anyway.

The latencies on a dial-up line interfere with BitTorrent's transfer rate algorithms quite a lot. That should be improved considerably in the release after this upcoming one.

7) Bullet : Could you tell us about any future developements for BT? Or are you working on something completely different now ;)?

--Bram Cohen : Right now I'm working on polishing up a release, since there have been quite a few major performance enhancements and bug fixes since then, as well as the new allocation and resume behavior I already mentioned.

After that (actually already in progress as a fork) there's going to be a major rewrite to support downloading and serving multiple things using the same port as well as much better transfer rate estimation and rate capping with a total amount across files.

After that, I'm not sure. There are still basic performance enhancements which could be done, like writing or finding an asynchronous http client, but it appears that all the significant performance artifacts are now fixed. Perhaps then more features will get added to the mainline client.

8) Bullet : How has the success of BT changed your life?

--Bram Cohen : I've managed to go a few years without having a day job.


This story is filed in these Slyck News categories
File-Sharing/P2P Related :: Interviews
BitTorrent :: BitTorrent Inc.

BitTorrent Homepage

You can discuss this article here

© 2001-2018