There is one more big thing that I do to help Ubuntu; I seed its disk images. Currently, I am seeding the following images:
- Jaunty Alternate 64 bit
- Jaunty Alternate 32 bit
- Jaunty Desktop 64 bit
- Jaunty Desktop 32 bit
- Ubuntu 8.04.1 DVD 64 bit
- Ubuntu 8.04.1 DVD 32 bit
- Ubuntu 8.04.2 Alternate 64 bit
- Ubuntu 8.04.2 Alternate 32 bit
- Ubuntu 8.04.2 Desktop 64 bit
- Ubuntu 8.04.2 Desktop 32 bit
- Ubuntu 8.04.2 Server 64 bit
- Ubuntu 8.04.2 Server 32 bit
- Ubuntu 8.10 Alternate 64 bit
- Ubuntu 8.10 Alternate 32 bit
- Ubuntu 8.10 Desktop 64 bit
- Ubuntu 8.10 Desktop 32 bit
- Ubuntu 8.10 DVD 64 bit
- Ubuntu 8.10 DVD 32 bit
- Ubuntu 8.10 Server 64 bit
- Ubuntu 8.10 Server 32 bit
I am able to achieve these numbers because of my superb Internet connection in my dorm room at Iowa State University. I used SpeedTest.net to measure my connection speed today. Using a server in the Twin Cities, Minnesota (44 ms ping at ~150 miles away), I measured 19,987 Kb/s down and 10,436 Kb/s up (or 20.5 MB/s down and 10.2 MB/s up). I have witnessed uploads to individual leechers at 5+ MB/s.
Even though I have helped out so much in the distribution of files, my Internet connection can upload more and my hard drive can store more files, plus I have to manage (or start) the torrents myself. The Ubuntu site makes it easy to find direct HTTP downloads of the newest images, but it is nontrivial to find all 20 of these torrent files. Moreover, when new alphas or maintenance packs are released, I have to manually get the new torrent files. It would be better if my ability to help Canonical upload were automated.
I wish there was a client-server program that would automate this process. Canonical would run the server version and people like me would run the client version. This program would essentially be a type of a distributed computing program. Normally, distributed programs exist in order to access more computational power. This program would be distributed in order to access more upload bandwidth. On the client side, I notify the server of my existence and specify the amount of disk space I will allocate. Then the server decides what files I should be uploading, which would work much like the BitTorrent protocol where rare pieces are shared first.
All the clients could certainly share their files over BitTorrent, but this program could also allow users to directly download from a client, similar to how mirrors work now. Moreover, this program could work with more than just disk images. In Ubuntu Brainstorm Idea 7792, someone requested that apt-get use the BitTorrent protocol. Going further than that, this program could also help distribute all the software updates and repositories: Main, Universe, Restricted, and Multiverse.
In summary, I want to be able to automatically help Canonical upload any and all files either using direct HTTP or BitTorrent.