Forgot your password?
typodupeerror

Interview Responses From BitTorrent's Bram Cohen 253

Posted by Roblimo
from the download-popular-ISOs-without-waiting dept.
Here we go... direct questions and direct answers about BitTorrent, the latest big-time P2P file distribution system to hit the Internet. Bram Cohen made BitTorrent and maintains it, and perhaps, one day, just maybe, he'll even make a living from it...

1) Bit-Torrent browsing... by CashCarSTAR

Has any effort/thought been put towards bit torrent page distribution?

Specifically, a way that one can use BT to mirror webpages. A way to get around the /. effect, and as well would work wonders the next emergency that comes out (see 9/11).

Bram:

Images in web pages are very small and require very low latency. BitTorrent is designed for much larger files, which download on the order of minutes or hours rather than seconds. BitTorrent uses the significant amount of time those downloads take to try out and compare different connections. This process has inherent latencies which make it unsuitable for images on web pages.

Certainly it would beis possible on paper to dramatically reduce the cost of hosting an ordinary web site using peer transfers, but the logistical problems of handling many small files at low latency have yet to be solved, and will probably require a protocol which looks significantly different from BitTorrent.

2) Forward successful download stats to originators... by gsfprez

Many freeware/shareware folks like to keep download stats for marketing purposes, so P2P software and mirrors really irk them....

In order to foster more love from freeware/shareware distributors, could BitTorrent be made to inform the end user (me) that BitTorrent was going to send a "notice of download" (not including any personal information, such as an IP, etc) upon sucessful download (that I could preview before sending of course)?

If *I* was Warner Bros, and eveyone offered to distribute and pay for all the bandwidth for the next version of the Animatrix, while I still got to see download statistics, i'm not sure I'd even would need to provide a direct link to the 150 meg QuickTime files.

With this kind of feedback mechanism, the software/media providers get all the love - download stats, far far far less bandwidth used - and we get all the goodness - their free movies, software, freeware, data, etc. Its the ultimate mirror.

Or am i missing something?

Bram:

I'm happy to report that you are, in fact, missing something. Clients report very detailed statistics to the BitTorrent tracker, including the number of complete downloads and the total amount each peer uploaded and downloaded. If you host a file using your own tracker, all of this data is readily accessible, the same as if you hosted it via http.

By the way, many people find out about tracker statistics reporting and falsely think that hacking their client to exaggerate their upload rate will increase download speeds. Clients actually decide who to upload to based strictly on the transfer rates they experience directly; Tracker statistics are never even sent to them.

3) Comparison to other P2P... by jfmiller

As far as I can tell the genius of BitTorrent is allowing peers who themselves do not yet have a complete file to share the parts they do. With all dew respect to the effort taken, the rest is just functional glue that allows the system to work as it should.

The eDonkey protocol used the same basic premise. How is BitTorrent different to it and other P2P protocols and why did you make that choice?

Bram:

That 'functional glue' is extraordinarily difficult to get to work well. Ever-changing network conditions and very high rates of peers disconnecting produce a very thorny logistical problem. Most existing swarming implementations don't even manage to fully utilize all the upload capacity available to them.

That said, there are other decent swarming implementations. For example, the one in eDonkey is quite serviceable, and Furthurnet's works okay as well. BitTorrent handles the little details of file transfer better than all of the others, but if that were the only difference its advantage would be relatively minor and subtle.

What sets BitTorrent apart is its very robust technique for rewarding specifically the peers which upload the most, known as leech resistance. On the highest level, this prevents a long-term meltdown of the system from being caused by people running leeching clients. It also causes upload and download rates to be somewhat correlated, so peers on good pipes get decent download rates, which increases general good feeling about how the system behaves. Overnet, the follow-on to eDonkey, may start using BitTorrent's peer protocol in the future specifically for the leech resistance properties.

By the way, people sometimes run clients hacked to not upload at all and still experience good download rates. Usually this is because they're downloading a file which has been available for a while and there are many clients which have finished downloading but been left running, so there's plenty of excess bandwidth to go around. Not uploading in a swarm which is still ramping up is generally ruinous for download rates.

4) Improvements... by BJH

Bram,

Do you have any plans for improvements to BitTorrent to improve some of its (few) weaknesses, such as searching for torrent files, bandwidth usage by trackers and inability to download if the tracker goes off the air?

Bram:

I have no plans to add search functionality, since that can be handled at a higher layer, such as google, and finding content via links is considerably more versatile and widespread than keyword searching anyway.

Bandwidth used by the tracker is currently around 1/1000 the total amount of bandwidth used. With some tweaking, I can get that down to around 1/10,000. Going lower than that would require sacrificing the tracker's ability to collect statistics, since those get significant at that scale.

Relying on a single tracker is really no different than relying on a single web site. Any well-colocated machine is plenty reliable enough, and if you really need failover you can do it at the DNS level.

4a) Re: Improvements... by ichimunki

I would like to refine this question because I have some specific nits that I'd like to pick: why doesn't the client/server open a single port and listen on that instead of opening a new port for each file? Second, why don't the peers maintain and share information about other peers once the download has started-- going through the central tracker provides a central point of failure. Wouldn't decentralizing allow for a .torrent file to have a list of seeds, and then each of the seeds would be able to share information about peers, eliminating the need for a tracker altoghether?

Bram:

Single port has been high on my list of things to do for a while now but keeps getting put off as more immediate concerns pop up. It mostly hasn't been done yet for a highly technical reason. The way BitTorrent currently shuts down is with a hack where the entire event loop is terminated; To support multiple downloads a cleaner technique which only stopped events and sockets related to a particular download which one of them terminates would be necessary. This is reasonably straightforward to implement, but requires a lot of surgery.

By the way, my mail load has made getting actual development done rather difficult as of late. I'm hoping to offset this with contributions from other developers. While there's been plenty of interest in contributing, and a significant amount of contribution to the tracker, to date noone other than me has made any significant changes to the core download functionality.

If anyone really wants to make a significant development contribution to BitTorrent, you should read over the codebase enough to understand it all (the irc channel can be helpful with this) then ask me what's on the to do list. I suggest you do not start implementing your own BitTorrent client. There are already several of those being worked on, and they're all very far from being as mature as the main line client. What's really needed is more development on the main branch.

5) Impending doom... by damu

Are you taking any precautions for your clash with the RIAA/MPAA?

Bram:

I don't expect to run into any legal trouble. BitTorrent can be used for any kind of content, and several web sites have used it for their own files. Also, all the etree usage (live show recordings of bands which permit it) is completely legal. BitTorrent's total bandwith usage would be quite substantial even if the etree distributions were all it was used for.

6) Future Considerations... by pgrote

Do you feel that BitTorrent's core functionality can one day be integrated in the operating system as a file system? The ability to share files among disparate systems in remote locations can be seen as extension of what was started with HTML, et. al.

Bram:

No. BitTorrent's API is one of starting a download and later being notified that the whole download is complete. File system APIs very specifically involve open(), seek(), read() and write(), which are completely different and wholly incompatible with the way BitTorrent works.

The same is true of http by the way. Attempting to make certain protocols act like local file file system access is kludgy at best, both as a literal concept and as a metaphor.

7) Panhandling for internet dollars... by Matey-O

You've got a paypal dontation button to help compensate you for your non-trivial expenditure of time...how well is that working? Is it an adequate revenue stream, or just enough for a pizza or two?

Bram:

So far, more than a pizza, but less than a living. The donations definitely help though.

8) Re: most obvious question... by Noksagt

...what do you think of what people have done with what you have created. I'm sure you might be sick of people asking you how to obtain a torrent for the latest movie, but are you troubled that it is being used for copyright infringement? Pleased? Apathetic?

Do you wish that it was used more for distributing legal ISOs and other files? If so, do you believe you should promote it more for this purpose or promote development of tools to push it in this direction (perhaps automatic creation of torrents on a successful build, etc.).

Bram:

I'm amused mostly. I find humans highly entertaining.

My attempts to promote BitTorrent for any specific purpose basically failed. It's grown almost entirely through guerilla marketing. That said, I'm hoping that in the future BitTorrent starts being used directly by content producers to distribute their own works.

9) Success... by pgrote

BitTorrent has seen a wide array of usage since it debuted. Many have been surprising and it has caught the fire that makes sofwtare a success. How do you personally measure the success of BitTorrent? Has it achieved the goals you first set?

Bram:

I generally measure software success by how many machines it's deployed on. In that sense BitTorrent has done very well, but it will probably become much more widespread as publishers make their content available using it. My current hope is that BitTorrent will one day be installed on almost all end user machines.

10) Commercial Interest... by Noksagt

I think that bittorrent can be of significant commercial interest. It might be used for software updates for instance. Have you pursued this path or have companies approached you? I certainly hope you'd keep a free version available, but a more feature-rich version would surely land you a great deal of money with the right pitch.

Bram:

So far there hasn't been much commercial interest, but I expect that to change now that large deployments have proven the technology so dramatically.

Starting a business is very tempting. BitTorrent has the potential to create such incredible amounts of value that if I manage to make even a tiny fraction of that I could do very well.

-----

This discussion has been archived. No new comments can be posted.

Interview Responses From BitTorrent's Bram Cohen

Comments Filter:
  • by Davak (526912) on Monday June 02, 2003 @11:04AM (#6095930) Homepage
    My question would have been...

    How do you feel about slashdot crushing every torrent web site and tracker everytime it runs a story on your program?

    Davak
    • Re:My question... (Score:5, Interesting)

      by Davak (526912) on Monday June 02, 2003 @11:20AM (#6096036) Homepage
      I don't know how an honest question regarding bittorrent can be considered offtopic...

      Anyway... do any of you torrent gurus know how to change a tracker? For example, say you have 80 .torrent files and the tracker goes down. How do you easily change the tracker to a different one? Is this possible?

      Viewing the plain text of the .torrent file... I might think it would be possible. Of course, if I understood the .torrent format I wouldn't be asking...

      Quote:
      d8:announce37:http://f.scarywater.net:8080/annou nc e4:infod5:filesld6:lengthi167e4:pathl15:MD5SUMS-ft p.md5eed6:lengthi668991488e4:pathl21:shrike-i386-d isc1.isoeed6:lengthi677511168e4:pathl21:shrike-i38 6-disc2.isoeed6:lengthi508592128e4:pathl21:shrike- i386-disc3.isoeee4:name7:redhat912:piece lengthi1048576e6:pieces35400:
      End Quote

      After this prelude of text, the rest of the .torrent file can not be understood in plain text.

      Can this plain text be edited so all the tracker files not have to be rebuilt?

      Davak
      • Re:My question... (Score:5, Informative)

        by Anonymous Coward on Monday June 02, 2003 @11:38AM (#6096169)
        This unofficial BitTorrent FAQ [dessent.net] is the most complete and accurate guide I've seen since my original writeup. You'll see under Other Utilities [dessent.net] a program called BTChange, which appears to be what you're after.

        -ololiuhqui

      • Re:My question... (Score:5, Informative)

        by Bklyn (21642) on Monday June 02, 2003 @11:54AM (#6096306) Homepage
        Can this plain text be edited so all the tracker files not have to be rebuilt?
        Yes, see the "btreannounce.py" script which is included with the BitTorrent sources. It can be used to change the announce URL stored inside existing .torrent files. See also the "btshowmetainfo.py" script which can be used to dump the contents of a .torrent file in a more human-friendly format.
      • The answer in the interview responses was to handle it through DNS.
      • Re:My question... (Score:2, Informative)

        by barcodez (580516)
        Yes, change the URL string and the number (i.e. 37) preceeding it. The number preceeding it is the length of the URL string and the colon after the number is merely a delimiter. The number much match the new string. N.B. Most text editor will alter the information contained within the SHA1 hash (the "junk" at the end of the file). Thus a recommend doing this will care (maybe in a hex editor).
      • Re:My question... (Score:4, Insightful)

        by Idimmu Xul (204345) on Monday June 02, 2003 @01:26PM (#6097084) Homepage Journal

        I don't know how an honest question regarding bittorrent can be considered offtopic...

        You aren't the first person to point out Slashdot's obliteration of all things tracker and get modded down for it! [slashdot.org] But on a more serious note, just get the original seeder to make a new .torrent file with the new tracker information in it (or anyone that has completed downloading the file). Their is stuff to do it on Brahm's site.

      • Re:My question... (Score:3, Informative)

        by humming (24596)

        Anyway... do any of you torrent gurus know how to change a tracker? For example, say you have 80 .torrent files and the tracker goes down. How do you easily change the tracker to a different one? Is this possible?

        Viewing the plain text of the .torrent file... I might think it would be possible. Of course, if I understood the .torrent format I wouldn't be asking...

        Well, why would you?

        If you have the URL for the new tracker, why don't you get the torrent from that tracker instead?

        When the torrent asks

    • Re:My question... (Score:5, Interesting)

      by Jasin Natael (14968) on Monday June 02, 2003 @11:37AM (#6096162)
      My question is for Slashdot: Since hosting a torrent requires (as Bram states) about 1/1,000th, and in the future as little as 1/10,000th of the total bandwidth for the torrent, why can't /. just make a torrent server available for members to download new ISO's, free software, and large movies (re: Animatrix, etc.)? All it'd take is one monitor page and (maybe) an automated e-Mail script to keep content providers up-to-date on the downloads. And I can tell you for SURE, most of the sites that /. links to would appreciate having their Star Trek parodies, ISO's, and stop-motion LEGO animations mirrored... Be courteous, /.

      Jasin Natael
      • Re:My question... (Score:3, Insightful)

        by gclef (96311)
        And I can tell you for SURE, most of the sites that /. links to would appreciate having their Star Trek parodies, ISO's, and stop-motion LEGO animations mirrored

        Most of them, sure. But it just takes one litigious dork who doesn't want his stuff mirrored to ruin it for the rest of us. I agree in general that slashdot should do this, but the details of getting the permission to do so could badly slow the story submission process. At present, I don't think they know how to get out of this predicament, he

        • Re:My question... (Score:5, Interesting)

          by aardvarkjoe (156801) on Monday June 02, 2003 @02:48PM (#6098048)
          This has been Taco's excuse every time somebody suggests that Slashdot mirror the content. It's a pretty poor one. Unless you're really out of the loop, /. doesn't generally post much in the way of cutting-edge stuff -- things often hit google news a day or two before we see it here. Also, there's absolutely no reason why they can't fire off an e-mail that says, "We're going to trash your server in a couple hours -- if you'd like us to mirror the 100 MB movie files for you, let us know before such-and-such a time."

          I'm rather convinced that either (1) the /. administrators enjoy the notoriety of the slashdot effect so much that they don't want to stop it, or (2) they're afraid of losing face, after years of claiming that mirrors are unneccesary, having to admit that they were wrong and a mirror is the way to go.
      • Re:My question... (Score:3, Interesting)

        by ryanr (30917) *
        There's no authentication mechanism. Slashdot could put up a tracker (and I'd love to have it) but it wouldn't be for subscribers only.
      • Re:My question... (Score:5, Informative)

        by BrianRaker (633638) on Monday June 02, 2003 @12:24PM (#6096557) Homepage Journal
        There is *already* a 'Slashdot Victims' BitTorrent tracker. Head over to http://f.scarywater.net [scarywater.net]for your favorite Slashdot victim's wares.

        Ja mata.
      • Re:My question... (Score:3, Informative)

        by elem (411711)

        Thats not what he said.

        In his answer he said that the bandwidth used for sending data to and from the tracker is only 1/1000 of the bandwidth that is used. The server running the tracker is still going to need a copy of the file to send out also, or else it just doesn't work. That will eat up the bandwidth.

      • Re:My question... (Score:3, Interesting)

        by bahamat (187909)
        Because /. is news for nerds, not software for nerds.

        So the question really is "Why doesn't someone else create a torrent site for all that crap?"

        Oh, wait, they did [google.com].
  • by stevey (64018) on Monday June 02, 2003 @11:06AM (#6095944) Homepage

    Normally the slashdot interviewees take a long time to answer their questions, (I'm not complaining as the candidates are normally very busy people), but this one seems like it was much quicker than any recent one.

    Perhaps he distributed the answering of the questions?

  • Queue the whiners (Score:5, Insightful)

    by coupland (160334) * <dchase @ h o tmail.com> on Monday June 02, 2003 @11:07AM (#6095947) Journal

    one day, just maybe, he'll even make a living from it...

    Bram hopes to make a living off code that he wrote that the community seems to really like? Queue the peanut gallery with cries of "sell-out" and "greed" and random smatterings of the words "corporate" and "freedom". I've not used BT extensively but what little I've seen impressed me immensely. Hopefully he can turn it into something that funds its own improvements, and if he's lucky to help pay some bills as well.

    • by TopShelf (92521)
      That could be a difficult task - the free software crowd, by definition, prefers not to pay for such things. It's an interesting contradiction, really...
      • by cduffy (652) <charles+slashdot@dyfis.net> on Monday June 02, 2003 @12:29PM (#6096593)
        Dunno -- I like Free Software. I'm willing to pay for good software -- especially good Free Software. There's not necessarily a contradiction; one can donate to the authors, pay for consulting services to get new features written or bugs squashed faster, or buy Free Software outright (and then, necessarily, have the rights to redistribute and modify it).

        FWIW, my last employer (MontaVista Software) made (and makes) good money of selling Free Software and services to support it. My current employer is also willing to pay for free software -- they pay me to support all the Free Software that their products and their desktop environment depends on. (No, they're not radical enlightened management types, they just want someone around who knows Linux backwards and forwards and can debug Tomcat and Apache and GNOME and fix any bugs we run into that the authors won't).
      • That could be a difficult task - the free software crowd, by definition, prefers not to pay for such things. It's an interesting contradiction, really...

        Someone seems clueless on the difference between 'free as in beer' and 'free as in speach'.
      • by maxpublic (450413) on Monday June 02, 2003 @02:39PM (#6097941) Homepage
        The 'free software' crowd are a bunch of whining idiots who insist that the rest of us write code while living out of dumpsters in order to satisfy their vision of How Things Should Be(TM).

        The 'open source' crowd - which I'm a part of, mostly out of paranoia - recognizes that software can be worth paying for even if it's GPL'd. For example, I've purchased copy after copy of SuSe and Redhat distributions, even though there's absolutely no reason I would *have* to do this (and as a programmer, I don't need support, so I have no incentive to purchase in order to get support). Why? In part out of laziness (box, manuals, CDs) and in part because I think the product is worth money.

        Being something of an optimist, I think most people in this arena are 'open source' and not 'free software'. Which means that Bram might very well make a bundle. In fact, whether or not he did make a bundle would go a long way to proving or disproving my belief.

        Max
    • IIRC, the original development was paid for on a contract. He had all his bills paid at first.
    • Re:Queue the whiners (Score:5, Interesting)

      by FroMan (111520) on Monday June 02, 2003 @11:47AM (#6096226) Homepage Journal
      I think this is the part of OSS that could be refered to as karma. You make a good piece of software, people know about it, other people hire you to make sure cool products like this make it out more often.

      I have to agree with you. Good luck to Bram.

      I've only used it once now. When I dl'd the release of enemy territory I had corruption in the file from some regular dl site. While reading slashdot someone mentioned having the same problem and someone pointed BT to the corrupted file lo-and-behold it fixed the file for me.

      I was impressed. I think I'll be trying BT more often now though.
  • In Related News... (Score:5, Informative)

    by Jucius Maximus (229128) <zyrbmf5j4x@snRED ... com minus distro> on Monday June 02, 2003 @11:09AM (#6095963) Homepage Journal
    Bittorrent 3.2.2a for Mac OS X is at long last released but it is not advertised on the main bittorrent site.

    Go here to get it http://prdownloads.sourceforge.net/bittorrent/ [sourceforge.net]

  • Why Python? (Score:5, Interesting)

    by dubious9 (580994) on Monday June 02, 2003 @11:14AM (#6095991) Journal
    The question I missed the most was when someone asked why he wrote in python, or more importantly why he has sayed with Python. Bram states that python is his favorite language, but I don't remember him saying if he thought it was the most appropriate one.

    If bittorrent ever get modified to server much smaller objects, like html pages and gif and jpegs, then the ton of trakers needed would see a big improvement if written in a compiled lanuage or even java (though I hear a java version is in the works). It would have been interesting to hear from his point of view though.
    • Re:Why Python? (Score:5, Informative)

      by Hard_Code (49548) on Monday June 02, 2003 @11:28AM (#6096099)
      "though I hear a java version is in the works"

      Shhh...

      http://www.klomp.org/snark/

      With the addition of an event listener API, this could be integrated into a decent Java GUI client. Right now it seems as if it is only command line.
    • Re:Why Python? (Score:5, Insightful)

      by cdrudge (68377) on Monday June 02, 2003 @11:44AM (#6096205) Homepage
      From when the questions were asked, Jamie wrote this message [slashdot.org]:

      "He already answered this to a large extent, in an essay on Advogato, How to Write Maintainable Code [advogato.com].
      'My favorite language for maintainability is Python. It has simple, clean syntax, object encapsulation, good library support, and optional named parameters.'"
      I think that the best language is the one that he can maintain, understand, and use. Sure if it was written in pure assembly it would be faster, but it's a bitch to maintain. The clients work reasonably well. I've never had the official client crash on me. It works up to a fairly large scale with decent hardware and bandwidth.
    • Oh, please. The network and algorythms will be the limit on this kind of application; python will be fine if you're not trying to run it on a 286 with a T3.

      Seriously, pull up "top" or something and tell me if bittorrent actually uses nontrivial CPU. I could be wrong, but I'd be very surprised.
      • Seriously, pull up "top" or something and tell me if bittorrent actually uses nontrivial CPU. I could be wrong, but I'd be very surprised.

        16573 binestar 15 0 13444 11m 9132 S 4.7 2.4 5:06.27 btdownloadheadless.py

        4.7% of my Athlon 1800+ and 2.4% of my 512MB of ram. I don't notice a problem, but I don't think this is going to be running on a 486 all that well =)
      • Re:Why Python? (Score:2, Informative)

        Seriously, pull up "top" or something and tell me if bittorrent actually uses nontrivial CPU. I could be wrong, but I'd be very surprised.

        During a normal download BT isn't a significant CPU hog, but the SHA1 recalculations can take quite a while when restarting a transfer, even on a fast machine.

        • Re:Why Python? (Score:3, Insightful)

          by mikeee (137160)
          Is the SHA1 actually coded in python, or in C libraries used by the python interpreter? I wouldn't be surprised if it's the latter, in which case recoding the rest isn't much help.
    • Why not Python? (Score:5, Interesting)

      by umoto (19193) on Monday June 02, 2003 @11:52AM (#6096277) Homepage
      This application is highly I/O-bound, not CPU-bound, so raw processing speed is not a factor. It only has to be "fast enough", which it is. The things that do matter are things Python is good at:

      - Security. This is a server, so buffer overflows and memory allocation errors are not acceptable.

      - Readability. Bram expressed a strong interest in getting more developers involved, making readability essential.

      - Platform neutrality.

      Other languages cover some of these requirements too, of course. But Python is a great choice.

      As for reducing the slashdot effect using a distributed mechanism, I'd like to see something like this: Slashdot runs a BitTorrent server and provides a "package" for every story. Users run a small local HTTP server that fetches web pages from Slashdot story packages, downloaded via BitTorrent. Slashdot lets users set a preference that converts all front page URLs to fetch from the local HTTP server instead of the real site.

      The net effect is Slashdot provides a "cache" without actually using up bandwidth. We wouldn't even have to change the BitTorrent protocol. Slashdotters unite! ;-)
      • Re:Why not Python? (Score:3, Interesting)

        by dubious9 (580994)
        I like your idea about slashdot distribution, but again its only good enough for static pages which I guess is most of slashdot links anyway

        As for CPU usage, I was refering to the server side trackers, which have already seen slashdottings. While that's probably also a network issue, if was thinking about when you are running dozens and dozens of trackers. A snowflake wieghs next to nothing but snow can collapse a house.

        Despite its advantages (I like Python alot) I'm not sure it will ever be a mainstr
        • Python standalones (Score:5, Insightful)

          by Fencepost (107992) * on Monday June 02, 2003 @01:06PM (#6096898) Journal
          There are actually several ways to make standalone executables of Python programs; the one I use is Gordon McMillan's Installer [mcmillan-inc.com], which basically packages up the needed DLLs, libraries, etc. and puts on an exectuable wrapper. It's cross-platform, though not unreasonably you have to compile on Windows to get a Windows exe and on your other platforms to get executables for those. There are others compiling options, the linked page includes a nice list of them with summaries.

          Python can also be fairly well optimized; I have a strong suspicion that the slashdotting of trackers is more a bandwidth issue than a processing capacity issue. It's also quite possible (caveat: I haven't read the code yet) that the internal structure placed a higher priority on readability and maintainability than on processing efficiency - I know I've written server applications using that approach, because I'd rather spend an extra $500 on hardware upgrades if more power is needed than an extra $5000 later on additional maintenance, debugging and testing.

          Finally, on the issue of speed: a lot of what a tracker does involves managing lists, hash tables, etc. - the type of thing that's built into Python and highly-optimized. It's like someone's discovery when VB5 or VB6 came out that a VB program was faster at some tasks than a corresponding C++ program, because all the processing was being done using very heavily optimized builtins - if you're running a relatively inefficient scripting language but using it to call highly-optimized native code, you may not see the performance degradation that you might expect.

          • Ooh, someone mod this up. This is probably one of the most intellegent responces I've ever gotten. An installer would be a great addition to BitTorrent.

            Also you bring up another good fact "I'd rather spend an extra $500 on hardware upgrades if more power is needed than an extra $5000 later on additional maintenance, debugging and testing."
            Many managers I've worked with have no idea how cheap hardware is compared to manpower. If can save just fifteen minutes a day with a faster computer or bigger monit
        • by Bingo Foo (179380) on Monday June 02, 2003 @02:41PM (#6097964)
          A snowflake wieghs next to nothing but snow can collapse a house.

          Ah, grasshopper, it takes 30 kiloliters of air to fill a room but only 30 milliliters of fart to empty a room.

    • There are several Java versions in the works. I run the JTorrent [sf.net] project off SourceForge. Please have a look. We're currently working out an issue with our file releases, so you can't download a package yet, but feel free to check out the code from CVS.
  • by ites (600337) on Monday June 02, 2003 @11:14AM (#6095993) Journal
    You will be able to make good money from BT if you package the technology in such a way that commercial interests can use it.

    My advice would be to license the source code under the GPL for OSS projects, and additionally under a commercial license for businesses.

    Provide BT technology for incorporation into random commercial products. Resell your consulting skills at a good rate. Train others to be able to do the same. With licensing and consulting fees, you will do nicely.

    • by Anonymous Coward on Monday June 02, 2003 @11:31AM (#6096123)
      I'm sorry, but BitTorrent's interface is just too streamlined and efficient for widespread corporate adoption. The installer doesn't even have a wizard, for cripes sake - it just whirs the disk and says it installed successfully! And where are all the built in gewgaws like a half-finished Help system, the fifty bazillion conflicting menus, the insanely bloated and contradictory Preferences dialog? I'm afraid your understanding of commercial software is sorely outdated. After all, look at all the new BT users who can't seem to wrap their heads around how either the client or the protocol work, precisely because they're so simple? Call me back when you've got something as bog-slow as Groove [groove.net] and we can talk percentages...

      -ololiuhqui

      only being semi-sarcastic

      • "Technology".

        There are huge possibilities for BT. When commercial on-line music starts to fit the reality of people's needs, imagine BT technology for distribution. Then, why not for renting movies?

    • Indeed. There is a lot of potential for technologies like BT in automatic software update distribution. The benefits of P2P software downloading have already been shown by P2P file sharing clients that download updates over their own networks. Now this feature just needs incorporating into other software, and everyone, including the software vendor, will be happy with the results! :-)
    • You will be able to make good money from BT if you package the technology in such a way that commercial interests can use it.

      What makes you sure it is that simple "package the technology in such a way that commercial interests can use it" ? This is the biggest challenge for any open source (or even closed source for that matter) project.

      BitTorrent has got a momentum, but in order to turn it into a commercial success it needs much more than an elegance of the solution and a general interest from a non-
    • Yea he would. MySQL seems to do fine with roughly the same business plan.
  • by taybin (622573) <.moc.nibyat. .ta. .nibyat.> on Monday June 02, 2003 @11:18AM (#6096025) Homepage
    Ward Cunningham's Wiki [c2.com] on Patterns has an interesting page [c2.com] on the attitude of referring to details as *just* details.

    Very often, the person saying "Oh you just did it this way" has some more learning to do.
  • A good project. (Score:5, Interesting)

    by Buzz_Litebeer (539463) on Monday June 02, 2003 @11:19AM (#6096032) Journal
    A good project for someone to use, is to have the corporate version where the main corporate site can have the file as a bittorrent, and always be serving it. If it cant find any other clients, it uses the corporate file LAST to download from.

    this way the first few people on the thing would be getting it from the corporate client, then after that from other peers, but then when the file becomes unpopular, people would then basically be getting it from the corporate client again.

    This would a little improvement. Though this may just show my ignorance of how bittorrent works as well. Currently I download some files using bittorrent (wolfenstein enemy territories) but when all the seeds go away it can cause issues.

    So basically make it so that there is a relatively permanent seed, and he is always requested from LAST. that way if the file is popular the site doesnt have to worry about losing bandwidth.

    also, stats tracking should be "ramped up" a little, to where someone would have to register to use the torrents on a specific site, this way the tracking per user could be used. Now this wouldnt interfere with anyones right to privacy, but could be used as a "bonus" system, to provide incentive to keep the torrent open. IE the more you upload the more "credit" you are given. If you think of it in slashdot subscriber terms, perhaps people that have a high "credit" (ie they leave their client open after being finished) would get earlier access to files. maybe have a 3 teir file access. top teir (high uploaders) would get the file as soon as it was served. second teir would get at it 20 minutes later, and 3rd teir get it 45 minutes to an hour later.

    this would allow sites to reward those that are high quality users, and maybe allow them to track site benefits based on participation.

    maybe call it "sitetorrent" or such.

    and this is actually an original idea i thought of trying to get some freinds of mine and myself to code 2 years ago, but I had neither the experience nor the time to work on it. Then someone showed me bittorrent about 2 months ago and I was like "holy shit thats exactly what my product was going to be sans user participation" ;-) oh well, bittorrent rocks!

    Oh, and you cant steal my idea, i provide it free to the public today 6/2/03, as a business application given freely and documented.

    Buzz OUT!
    • by Reedo (234996) on Monday June 02, 2003 @11:48AM (#6096238)
      I run a tracker that hosts a number of game related files (here [gametab.com]) and have a "headless downloader" for each one. That is, you run btdownloadheadless.py on a .torrent on your server and let it continue running. You can set the max upload speed, etc, so that it doesn't use up your entire pipe. It acts as if it's just another seed/client.

      What I do is put the source file onto the server, create the .torrent, then start a downloader on that with a max upload of 100 - 200k/sec. That ensures that there is always at least one seed for each file, and it helps provide some additional upload bandwidth. I am surprised more trackers don't do this, even if they just set the max upload at 5k/sec or something it would help a lot.
    • Re:A good project. (Score:4, Interesting)

      by Kredal (566494) on Monday June 02, 2003 @11:58AM (#6096334) Homepage Journal
      TVTorrents.com does this now. To download a .torrent, you have to be registered. Once your main download is going, it keeps track of bytes uploaded and downloaded, and if you're leeching or seeding. You gain points for uploading, and 1.5 times as many for seeding. You lose points for downloading. I don't know if it's enabled yet, but the plan is to not let you download if your point total drops below 0.

      The site is having processing power issues, but seems to be holding up "ok". It's a great place to get some good shows from, though.
      • This system totally fscks users with asymetric lines, like cable to ADSL. Most people I know only have 16 kb/sec of upload. And if they upload at their max upload rate then their download drops to 512 BYTES/sec or something.
    • Re:A good project. (Score:2, Insightful)

      by Chatterton (228704)
      Currently I download some files using bittorrent (wolfenstein enemy territories) but when all the seeds go away it can cause issues.

      WET is my 2nd torrent experience, and the second bad one. I have an ADSL (3M/128k). On the length I have let Torrent downloaded (nearly 3h for 34%), I have get my upload capped at 12k nearly all the time, but my upload has runned at 4k in average with spikes at 10k. With gamespy with 42 min of waiting in the queue, I have downloaded it in less than 2h... I don't remember the
      • If you're behind a NAT router or other firewall, you should forward tcp ports 6881-6889. It makes a night-and-day difference.
      • "I have an ADSL (3M/128k) [...] I don't remember the exact stats from my first download, but they was as bad as this one... Why everyone say bittorent is the next big thing, but I can't get it to seem work correctly?"

        You have an asymetric (unequal upload and download) connection. Unless there are tonnes of seeds, your download rate and upload rate will be relatively similar. Because you can only upload 128Kb, you'll almost never get 3 Mb download. This is the inherent nature of bittorrent - it simply w

  • RIAA/MPAA (Score:5, Insightful)

    by mjmalone (677326) on Monday June 02, 2003 @11:22AM (#6096054) Homepage

    "I don't expect to run into any legal trouble. BitTorrent can be used for any kind of content, and several web sites have used it for their own files"

    This hasn't seemed to stop them in the past... The RIAA even admitted that at least 15% of Napster use was legal, more than the amount of legal use they admitted in the betamax case...

    I think he should start saving up those paypal donations fo the legal fund because in all likelyhood he is going to need it!

    • Re:RIAA/MPAA (Score:2, Insightful)

      by Sinus0idal (546109)
      He isn't providing a search functionality which I think will cut him apart from the rest in legal matters. In a way, Bittorrent isn't any different to HTTP/FTP or any other protocol... and the writers of HTTP servers/clients don't get sued, so why should he?

      If he gets sued, then so should MS for providing a web browser capable of downloading illegal Mp3 files...
    • Re:RIAA/MPAA (Score:5, Insightful)

      by xchino (591175) on Monday June 02, 2003 @11:42AM (#6096193)
      Napster was a very different case...

      1.> Napster has a cetralized server and thus could be fingered as the point of distribution.

      2.> The big deal behind bittorrent is not the software, it is the open protocol. There are already several, IMHO better clients and servers out there. Even if they went after Bram, they couldn't shut the protocol down. This isn't like kazaa.

      This certainly doesn't mean they won't be going after him anyways, but it does give him a set of legs in court. Napster lost because of it's accountability. Kazaa has so far won because of the lack of accountability.
      • Re:RIAA/MPAA (Score:4, Insightful)

        by mjmalone (677326) on Monday June 02, 2003 @11:52AM (#6096272) Homepage
        I agree, but all I am saying is his comment makes me think he is not preparing for any sort of legal battle. This is quite stupid, since he did not just write a protocol, but a server and client pair that used a protocol, and that server/client pair is being used to distribute copyrighted materials, and he KNOWS this. The RIAA legal team might not have a legal leg to stand on, but there is a good chance they will try to sue anyways, and court fees are expensive no matter how the trial ends up.
  • apt-get (Score:4, Interesting)

    by Debian Troll's Best (678194) on Monday June 02, 2003 @11:23AM (#6096066) Journal

    my sources in the community tell me that the apt-get guys are busy incorporating P2P into the latest version of apt-get in order to extend the availability of rare debian packages and to lessen the load on the central debian servers, which are frequently crashing under their present heavy load.

    • Re:apt-get (Score:4, Interesting)

      by Anonymous Coward on Monday June 02, 2003 @11:47AM (#6096223)
      Yes, it's true.

      if you apt-get the latest apt-get beta (assuming you have apt-get in the first place :) and libBitTorrent, apt-get will check for other peers that are downloading the files, and share from them.

      BTW - the central server is frequently crashing due to kernel panics. Ingo is looking into the problem with the token buffer allocation scheme, but it may also be hardware problems with the eMachines we use.

  • by larry bagina (561269) on Monday June 02, 2003 @11:30AM (#6096109) Journal
    I don't see any way for a BitTorrent business to be profitable. Maybe 5 years ago, when you could IPO before determining step 2 (????), but not now.


    Unless, of course, he has a hot 15 year-old daughter that wears skimpy clothes and says, "I'm Bitty. Share me!". Aimster/Madster probably patented that business model, though.

    • by Jerf (17166) on Monday June 02, 2003 @12:31PM (#6096604) Journal
      The profit model for BitTorrent is to sell the technology, with support and probable customizations, to sites serving huge files all the time, saving them money on bandwidth, and some of that could then be given to Bram instead. Unlike most .com businesses which had an idea and software that would be out of beta two years from the IPO, he's already got software so he could start the "profit" with the first sale. (Well, theoretically there's the cost of writing the software but from the hypothetical corporation's point of view that effort is zero, since it starts off with the software.) He wouldn't be asking the client users to download anything, which helps, and with enough time might even be able to build a BitTorrent ActiveX control so the average user (Windows, IE) doesn't even have to explicitly download a BT client. (That's how I'd go, if I were going to make this into a business.)

      I think a "startup" nowadays needs to go ahead and have a sellable software product in hand before expecting to go anywhere, much as a startup free software product needs to have something that does usable work before it will attract a developer community.

      The only thing that would concern me about this business model is that bandwidth prices are kind of artificially inflated right now because of really crappy leadership by our Federal government. If any FCC administration ever figured out what they were doing, or suddenly had an attack of ethics and remembered that they're supposed to server the people rather then corporate interests, the bandwidth situation could significantly improve, which would lower (albiet not eliminate) the need for BitTorrent technology at the corporate level. There may be a relatively narrow window where this sort of thing is economically viable (as opposed to useful; they are not the same thing at all!). Still, said "relatively narrow window" in all likelihood is at least three or four years (I can't imagine the bandwidth situation being sorted out on a large scale in any lesser time period) and you can still make a respectable amount of money in that time, plus you have that time to refine the product into something that may be able to continue to be usable even after market conditions change.
  • free music (Score:5, Informative)

    by sweeney37 (325921) * <mikesweeney.gmail@com> on Monday June 02, 2003 @11:30AM (#6096110) Homepage Journal
    Also, all the etree usage (live show recordings of bands which permit it) is completely legal. BitTorrent's total bandwith usage would be quite substantial even if the etree distributions were all it was used for.

    many people are not aware bands like Dave Matthews Band have an open taping policy. while not soundboard, many audience recordings are really close. many tapers spend $5000-6000 dollars in equipment and acheive pristine copies of the concerts. access to the shows has become even easier thanks to an amalgamation between archive.org [archive.org] and etree.org [etree.org], we now have the etree.org audio archive [archive.org].

    these files are distributed in the lossless SHN format so each copy will sound the same no matter which generation of the disc you have.

    with the addition of BitTorrent the trading of these concerts has become even easier. Many links can be found under the music [no-ip.org] of Smiler's BitTorrent site. But here are a few direct links; here [phook.org] and here [musicfreaks.net].

    Check out the etree newbie FAQ [etree.org] and the etree trader database [etree.org] for more info.

    The best part is the RIAA can do nothing about it, imagine that legal free music!

    Mike
    • When will they switch to a *free* lossless format like FLAC?
    • access to the shows has become even easier thanks to an amalgamation between archive.org [archive.org] and etree.org [etree.org], we now have the etree.org audio archive [archive.org].

      Actually, regarding DMB, the band has made it policy that traders may no longer post their recordings on websites for mass, anonymous download. The rationale (whether you agree with it or not) is that the trading community is there to connect people... ie, they wish to emphasize the "community" bit. Thus, the arguement con
  • by NLG (636251) on Monday June 02, 2003 @11:33AM (#6096136)
    ... Are you concerned that M$ might decide to make a P2P system that works similarly to this and start bundling the client with Windows, or even as a part of their Media Player? They would then license the tech to the media companies to use for distributing movies, etc. Such a move could dramatically reduce the growth potential of BitTorrent (see "Netscape" and "RealPlayer").
    Even if M$ just gave it away at first in order to take the biggest chunk of the market for later reaping, the impact on other products such as yours and Kazaa and others would be, well, bad.

  • Commercial uses (Score:3, Interesting)

    by Neophytus (642863) * on Monday June 02, 2003 @11:48AM (#6096231)
    A commercial branch of BT could be packaged up nicely as a spyware free [extremetech.com] alternative to things like kontiki [kontiki.com] which companys like gamespot.com [gamespot.com] use to send large files to non paying users but avoiding the bandwidth costs.
  • by hey (83763) on Monday June 02, 2003 @11:50AM (#6096255) Journal
    He said images on a website are too small to bother with. Well, how about a tarball of the entire site?
    With the home page at the front. It would be terrific if people didn't have to fear being slashdotted. It would be cool if an Apache module could be developed to detect when bandwidth reached over a certain level, made a tarball and only allowed Torrent download of that. Then later, reverted to normal.

    Making a file system driver for BitTorrent - not possible too different? I don't buy that. I could be done. Of course, there'd be latency.
    Perhaps not handy of interactive use.

    Also, how about new bowser protocol tag (like http://) ... torrent://slashdotted.site.com
    Since Gnome's VFS already does smb: etc this
    would be a nice place to add it.

    • by larry bagina (561269) on Monday June 02, 2003 @12:20PM (#6096505) Journal
      Making a file system driver for BitTorrent - not possible too different? I don't buy that.

      Well, what does he know? He only created the protocol and client.

      Consider this, though: using an ftp utility gives you better control than treating ftp as a file system. Then consider that BitTorrent is usually used for large files, and you don't know which host you're receiving from (and they might not even have the full file), and "standard" file system operations (read, write, seek, stat, dir list) aren't all present.

      But then again, Cowboy Neal could have lose weight and have a sex change.

      However, it's not likely (that he'll lose weight, at least), and the results would be rather ugly.

    • the vast majority of websites are running dynamic content. be it as simple as random ads displayed or an entire forum, they are very important to the website still.

      You could take a snapshot of the website, but it wouldn't be a fair representation of what you should really be seeing on the webpage.
    • by ahfoo (223186)
      That's an awesome idea that would sadly meet a lot of resistance. So many web sites think they have some sort of right to redefine the web user experience and go far out of their way to prevent web agents from downloading the whole site.
      Typically, you hear that they are afraid it takes too much bandwidth, but I think the major factor in the majority of cases is straight up addiction to control that goes beyond logic.
      Logically, it doesn't make much sense to try to control caching of your web site. I
  • by jooon (518881)
    Bram said:My attempts to promote BitTorrent for any specific purpose basically failed.
    Yeah, not even the porn crowd [bitconjurer.org] were interested. This is like VHS all over. Probably something crappy will take over and completely crush the much better BitTorrent. :)
  • by barcodez (580516) on Monday June 02, 2003 @12:02PM (#6096374)
    When looking into the BitTorrent protocol and reading posts to various groups I keep finding the same thing. Bram has stated that his client has been tuned to work with a complex algorithm (to stop leeching amoung other things). Now whilst the protocol is known and documented the algorithms for sharing has not been. I would like to know if there are any plans to document this algorithm anywhere (other than the Python source). The algorith seems to be the important (read new and inovative) thing not the superficial protocol.
  • Redundancy (Score:5, Interesting)

    by malakai (136531) * on Monday June 02, 2003 @12:02PM (#6096375) Journal
    Bram Said:
    Relying on a single tracker is really no different than relying on a single web site. Any well-colocated machine is plenty reliable enough, and if you really need failover you can do it at the DNS level

    sigh..

    I don't think he gets it. First, we've already discussed the virtues/sins of DNS round-robin. But basically, when DNS round-robin doesn't solve your problem, you have to go to Big-IP. Which means 'free' tracker sites will need complex setup for failover/redundancy.

    If the Tracker itself, had this built in, i propose it could do it more efficently, and with less setup hassle. Imagine being able to setup a mirror by simply having the admin place your new "cluster-able" tracker IP:Port on an approved mirror list. The main tracker could refer clients to a mirror after behind-the-scenes communication to determine which mirror has least load.

    A step below this, but better than DNS round-robin, would be to give the client an array of tracker addresses. This is better than DNS because you don't get the stalled server mixed with cached DNS record causing inaccessibility. The clients could try connections randomly to the servers in the array, and prevent cached dns records for altering distribution.

    -Malakai
    • If the Tracker itself, had this built in, i propose it could do it more efficently, and with less setup hassle. Imagine being able to setup a mirror by simply having the admin place your new "cluster-able" tracker IP:Port on an approved mirror list. The main tracker could refer clients to a mirror after behind-the-scenes communication to determine which mirror has least load.

      A step below this, but better than DNS round-robin, would be to give the client an array of tracker addresses. This is better than D

      • Re:Redundancy (Score:3, Interesting)

        by ryanr (30917) *
        Most round-robin DNS servers will randomize the order of the list of servers they reply with. So even stupid client apps that simply grab the first IP from the list will get some distribution.

        Still, the point remains... RRDNS is a truly bad solution to distributed/redundant servers. When one of the servers dies, 1/n of the clients or 1/n of the time still try the down server, on average for half of the cache timeout.
  • Hmm... (Score:2, Insightful)

    by GreyOrange (458961)

    4) Improvements... by BJH
    Bram,
    Do you have any plans for improvements to BitTorrent to improve some of its (few) weaknesses, such as searching for torrent files, bandwidth usage by trackers and inability to download if the tracker goes off the air?
    Bram:
    I have no plans to add search functionality, since that can be handled at a higher layer, such as google, and finding content via links is considerably more versatile and widespread than keyword searching anyway.

    Well the only problem I have

  • Leeching? (Score:2, Funny)

    by TheNumberSix (580081)
    Bram said
    On the highest level, this prevents a long-term meltdown of the system from being caused by people running leeching clients.
    I think it's amusing to imagine the response of Hilary Rosen or any other RIAA/MPAA thug to the above quote.

    "Leeching clients? They are all leeching clients and must be jailed immediately! Call the FBI!"
  • Swarm a Media Stream (Score:4, Interesting)

    by rossjudson (97786) on Monday June 02, 2003 @12:31PM (#6096605) Homepage
    Now if Bram would just get busy and figure out how to swarm a multimedia feed, we could solve the bandwidth problem for that.

    Radio on the net, video on the net...the problem is the multiplying lag factor. You need to organize the swarm into tiers, by lag. Tough but doable. Add support for IP broadcast, where available...

  • Dew Respect (Score:2, Funny)

    by beatbox32 (325106)
    With all dew respect to the effort taken, the rest is just functional glue that allows the system to work as it should.

    That's right, never disrespect the Dew [mountaindew.com]!! Never!!
  • by ryanvm (247662) on Monday June 02, 2003 @01:09PM (#6096925)
    I'm amused mostly. I find humans highly entertaining.

    Whoa - is this guy a fucking android?!?
  • by TeddyR (4176) on Monday June 02, 2003 @01:42PM (#6097271) Homepage Journal
    Now that Shareaza [shareaza.com] now has .torrent support in its newest beta (1.8.9.0) [shareaza.com], it should bring in quite a bit of content to the "network"...

Scientists will study your brain to learn more about your distant cousin, Man.

Working...