Ask HN: Why don't more software projects use BitTorrent for downloads?
It seems like it would be great for open source projects with limited funding to use BitTorrent for downloads. However I only see a handful of projects using this model, e.g. LibreOffice and GIMP. Whereas a lot of Linux-based OSes just host their disk images over HTTP, which I imagine could incur substantial hosting costs over time.
Why don't more software projects do this? Are there any big downsides to distributing torrents as opposed to traditional FTP/HTTP downloads?
92 comments
[ 5.1 ms ] story [ 143 ms ] threadI know a lot of HTTP/FTP storage space providers, or I can just put my binary on Github (Github Pages, or Release asset), or host it on a CDN like netlify. I think there is more solutions than real numbers between 0 and 1.
But I don't know a single "torrent seedbox" provider. Setting it up yourself is not complicated, but since it's DIY, this alone explains why it's not more wide-spread.
https://en.wikipedia.org/wiki/BitTorrent_%28protocol%29#Web_...
https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjec...
[1] https://news.ycombinator.com/item?id=27524549
When it worked, it also was never that great. The WebSeed AWS ran was slow, the tracker was always problematic as well.
If you are talking a gigabyte or more there is a big advantage in terms of (1) a completely reliable download, and (2) being able to split up the download into multiple streams. At home I have two ADSL lines and a load balancer and with bittorrent I get double-speed downloads.
If you only have a single gaming system it won't matter but if you have a few it's fun to watch the second one get 100MB/s Steam downloads in a house with 20MB/s internet.
https://youtu.be/5-sF7N1bfv0
https://support.microsoft.com/en-us/windows/windows-update-d...
It was built into the game installer / launcher. I think they've switched away from that since. I remember it causing some consternation at the time given some people pay by the byte for network service and felt it was unfair.
Are there really ISPs that just blanket block all torrents? I've never used one that does.
Mostly just means I set up a VPN through Linode or whatever.
[0] https://wowpedia.fandom.com/wiki/Blizzard_Downloader
The goal is basically to not have to use the bridge in the future.
Also one plus with a bridge compared to just downloading directly is that if a file becomes popular your server does not need to shoulder the full load since the webtorrent swarm can handle most of the load.
Also, Opera used to support torrent downloads.
I guess I'm old, but it used to be common to - gasp! - install multiple applications. Now, the browser is basically everything.
Try it.
I think offering BT as an alternative would be a good idea, especially for downloads > 100MB.
Regarding hosting, I am not exactly sure that it changes anything. You still have to seed the torrent, so the file needs to be hosted somewhere. What is reduced is the bandwidth, but you rarely pay for bandwidth.
I do like the torrent option, but it’s a little more work for the person who downloads.
It doesn't have to be internet based, you can turn it down to just peers on your local network, or disable it entirely (if you have WSUS infrastructure and no need for it).
[0] https://news.ycombinator.com/item?id=8330386
I'd love to see some stats from somewhere like Internet Archive that offers both, it'd be great to be proven wrong, but I suspect a number basically 0% after rounding of their data is downloaded via peer-to-peer BitTorrent traffic.
Back in the early days, colleagues in my office would be falsely accused by IT of file sharing, when the only crime they were really committing was listening to Jack Johnson.
Since OSS is free to redistribute, a loose federation of mirrors has set up to better match ISPs who want to send more bytes with projects that need to send a lot of bytes.
> Are there any big downsides to distributing torrents as opposed to traditional FTP/HTTP
Analytics is the big reason Mozilla shut down their community FTP mirrors, and bit torrent doesn't really solve that portion.
Why not build your own install using the bittorrent libraries? The security model is more complicated, for one. If i was an architect and proposed that, i would have to understand the attack vectors and present why they are than the well known solution. And taking control of the software update channel is a massive risk.
Second, i have less control of the user experience. With http, i can pay for the right amount of bandwidth, or time on a cdn. If i implement bittorrent, i still have to have buy capacity, i just have a more complicated model for how much to buy.
Suggested updates can be spread over time - and need to be, for canary purposes. I think Android often pushes an app update over 4 or 5 days, by default? Steady state infra capacity, or even better, low priority which and be interrupted, is cheap.
Given the complexity and business risk (people can't download our software! Our binary got hijacked! Two code paths to test?) And the inexpensive nature of mirrors, and the competence of cdns, there are rarely causes where it would make sense.
Commercial software like World of Warcraft used BitTorrent in their updater for years [2].
1: https://www.bittorrent.org/beps/bep_0019.html
2: https://wowpedia.fandom.com/wiki/Blizzard_Downloader