Ask HN: Why don't more software projects use BitTorrent for downloads?
Why don't more software projects do this? Are there any big downsides to distributing torrents as opposed to traditional FTP/HTTP downloads?
Why don't more software projects do this? Are there any big downsides to distributing torrents as opposed to traditional FTP/HTTP downloads?
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://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.
I think offering BT as an alternative would be a good idea, especially for downloads > 100MB.
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.
>which I imagine could incur substantial hosting costs over time.
And bandwidth is extremely cheap. ( Look at Cloudflare ) Lots of sponsorship and help for Open Source project or if you want to host it on Github for free. Bandwidth is also getting cheaper. May be there is a floor somewhere, but we dont seems to have that in sight.
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.
I 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...
When it worked, it also was never that great. The WebSeed AWS ran was slow, the tracker was always problematic as well.
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.
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].
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.
In Germany, before Fibre (and lol who has that), upload speeds for DSL and Cable have usually been only 10-20% of download speeds, and I know a lot of people who have stayed away from it for that reason alone. Yes, you can limit it, but it kinda kills some of the whole thing. Also the hassle with port forwarding etc.pp. I think I didn't have a client installed on any machine for the last 10 years.
Why or how is that an issue? Anybody that contributes to the seeding, however small, matters. Because files are cut into a lot of pieces, there is no competition for the "faster upload speed".
> Also the hassle with port forwarding
That, I can understand, but it's fairly easy to open a port. And if your router supports it you can enable UPnP.
I am the exact opposite of you: as I user, I absolutely love it and it has to be one of my favorite piece of technology.
If it's a localized thing, for example a game client in your language, and everyone has shitty upload speed, the critical mass would need to be 10x as big so that not everyone has a shitty download rate. Maybe a few single cases soured me on the experience.
> port forwarding.
it's easy if you do 'port X to machine Y' but like in the above example, try 3 computers in the network who need the same 20GB download. it sucks. (esp if it's not /a file/ you can then locally distribute, but it's a game company's launcher)
Yes, but those who are downloading have - in the best case scenario - a better bandwidth and can therefore seed even more than before. From my experience, the scenario where nobody is seeding anymore - which wouldn't happen in this case - is much worse than the scenario where everybody has a slow upload speed. The more people download, the more they seed. Sure, there's a bottleneck at the start of the life of the torrent (essentially the creator of the torrent), but after it really evens out.
> it's easy if you do 'port X to machine Y' but like in the above example, try 3 computers in the network who need the same 20GB download
I'm sorry, I don't think I understood correctly. I'm going to answer as I understood: in that case, wouldn't you just attribute different ports to your local devices?
B) Some ISPs will throttle you heavily if you upload too much.
C) Some users still have to pay fees for upload traffic.
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.
>The project uses BitTorrent technology and is called Murder
https://www.bittorrent.com/blog/2010/02/09/twitter-using-bit...
The biggest advantage is just diffusing a thundering heard without increasing latency considerably.
Shout-out to tTorrent.
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.
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).