The Importance of BitTorrent in Free Software

Howdy folks. So now I’m going to open my mouth and stick my foot into it with respect to Free Software, and seeding Free Software over bittorrent. Enjoy.
So, just a show of hands: how many of you were frustrated when the new version of $YOUR_FAVORITE_DISTRO came out, and the download sites and mirrors were all inundated with massive amounts of traffic, resulting in slow download speeds and HTTP timeouts? Most of you, that’s what I thought.
Well, lucky for us there’s this glorious technology called “BitTorrent.” For those in the class who have seen this around for a while, be patient while I explain briefly for the rest of the class what I’m talking about.
BitTorrent is a technology where everybody downloads a relatively small .torrent file. This file has information such as a “tracker”, the number of “pieces”, a description of the file(s) being downloaded, the size of the file, and a bunch of binary data which I’m assuming is being used to break it up into chunks. I’m sure there’s more detail online somewhere. Using all of this information, a BitTorrent client can contact the tracker and find other peers who are “seeding” the file(s). So essentially, if you open ktorrent (my favorite bittorrent program, there are several out there) with a .torrent file for the latest version of $PROGRAM, it’ll contact the tracker using HTTP to retrieve information on peers, and what chunks are available from the peers. Then it will download different chunks from potentially different peers.
What’s the benefit you ask? Well, it has the potential of faster downloads (not always the case), but it takes some serious load off of the servers. This way you can get your copy of $DISTRO, everybody else can get their copy of $DISTRO, and we can all get our copies of $DISTRO faster without making the lives of sysops harder.
Why is BitTorrent so well qualified for Free Software? Glad you asked.
Free Software has always had interesting means of distribution. There are so many different ways to obtain a copy of GNU Emacs it’s crazy. There’s mail order, there’s FTP, HTTP, CVS, rsync, copying from a friend, and now there’s bittorrent. The problem is that all of those means of distribution tend to have a single point of failure. If GNU released a new version of Emacs it is likely that you would get slower download speeds from GNU and their mirrors due to the volume of users wanting to upgrade, and new users wanting to try it out.
BitTorrent allows us to share the load. I download a copy of Emacs using BitTorrent, and once it’s done downloading, I can “seed” the file to the tracker and other people can download pieces from me. So I have a little mini server on my machine. This enables better sharing, greater availability, and it makes me feel good because I’m participating in the distribution of a great piece of Free Software.
There are also music sites (such as that let you download music with listener-friendly licenses using BitTorrent clients as well. Once you’re done downloading, you can listen to your music and seed it back to their trackers. This allows them to reduce the costs of distribution so that they can use their money to support artists and promote their listener-friendly licensed content.
I recommend that all of you lovely readers consider seeding your favorite distro(s), and consider checking out a listener-friendly music site. Here are the distributions I’m currently seeding and links to where you can download the torrents:
kubuntu desktop 7.04 (i386 and amd64) CDROM
ubuntu desktop and server7.04 (i386 and amd64) CDROM
gNewSense desktop with GNOME (i386) CDROM
gNewSense desktop with KDE (i386) CDROM
I encourage you to put your favorite distro’s torrent links in comments.
Please note, however, that all links to non-free software (except for device drivers) will be removed.

6 Replies to “The Importance of BitTorrent in Free Software”

  1. I spent some time and downloaded every ubuntu arch and variant (a total of 14 .iso) and set them to seed. The odd thing though is that they aren’t going out–no upload speed. There was a decent speed during my download process but after they finished they stopped seeding. Any ideas? (I have tested with other .iso torrents and they will seed.. have people lost interest in these already?

  2. If torrents download well but you aren’t uploading, that suggests that there are way more seeds (uploaders with a completed file) than peers (downloaders). If you are downloading torrents just to seed, make sure you choose torrents with more peers than seeds. In that case, not very many people will download for you, especially if you have a slow connection; it may take days to reach a share ratio of 1.0. I find that this is very common with free software torrents, which people seed generously. I recommend for Linux torrents of all distributions – it shows the number of seeds and peers for each torrent.

  3. Andrew: Thanks for that answer 🙂
    Does distribute the GNU/Linux torrents using their official trackers? e.g., etc?

  4. Each Ubuntu release I find that they hide the bittorrent version a little bit better. I don’t think bittorrent is unfriendly. End of rant.
    I’ve been seeding the 7.04 Ubuntu release i386 version and I’ve noticed that seeds out number peers, sometimes close to 10:1.

  5. Michael D. Stemle:
    “I download a copy of Emacs using BitTorrent, and once it’s done downloading, I can “seed” the file to the tracker and other people can download pieces from me.”
    Correct me if I’m wrong: Doesn’t this even work for chunks you already downloaded? I do not think you have to download the entire file before seeding. As far as I remember you can already upload while downloading.
    Christer Edwards:
    “There was a decent speed during my download process but after they finished they stopped seeding.” This indicates I’m right, i guess.

  6. Christopher Denter: Sure, you’re right. I was trying to keep it simple for folks. Also, after you’re done downloading you can continue seeding long after your download is complete.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.