Skip to Content

Self-Replicating USBs Spread Software Faster than an Internet Connection

Downloading free software is hugely time consuming and expensive in the developing world. Now one computer scientist has worked out how to spread it faster and more cheaply without using the internet.

Getting hold of software, even freeware, is a significant challenge in the developing world. Bandwidth is such a precious commodity in these places that even modest downloads are beyond the budget of most people.

The map above reveals the problem. It shows the density of IPv4 addresses around the world, a useful proxy for the density of internet servers.  Clearly the internet is not yet evenly distributed.

And therein lies the problem. In most parts of the world, a free operating system that is several gigabytes in size will take too long and cost too much to download. Consequently, much of the best freeware simply hasn’t spread to those who would benefit from it most.

That looks set to change, at least in part, thanks to some neat work by Thierry Monteil at the Université Montpellier II in France. This guy has devised a cheap and simple way to transmit large software packages without using the internet and at rates that eclipse all but the best internet connections.

His idea is simple: create a self-replicating bootable USB stick that holds an operating system and any software that needs to run on it. This stick is self-replicating in the sense that it can copy its contents to another USB stick with just a few clicks and no expert knowledge.

And that’s exactly what Monteil has done. He has written a script that clones the contents of one USB stick to another of sufficient size. It copies only the designated software, without copying any personal data on the first stick (except for any stored in a special /shared folder). It also preserves any data already on the second stick.

To test the idea, Monteil used the script to transfer Sage, a free alternative to mathematical software such as Mathematica, Maple, Matlab and so on. This runs on the free Linux Debian operating system so the script also transfers this too–about 2.7 GB in total. It can also be burned to a CD so that it can run on a Mac or a computer too old to boot from a USB, as many are in the developing world.

What’s interesting about this method is that each new stick can seed other sticks. So it can spread to n people in a time that is of the order of log (n). For large n, that has the potential to be significantly faster than even the best internet connections.

To test it in the field, he took the stick to a computer workshop in Bobo Dioulasso in Burkino Fasso with 60 participants. Monteil says the transfer to these 60 people could be done in 6 cloning rounds during a coffee break. So even allowing 5 minutes for each person to boot up their machine and play around with the new software, that’s a massive rate of transfer.

“The amortized bandwidth becomes 30MB/s,” says Monteil. There’s simply no comparison with 60 users downloading the same data one after the other over an unreliable dial-up modem connection.

Of course, there are potential disadvantages with this method. The first and most significant is the potential for malware to enter the chain somewhere. Because of this, Monteil recommends that it is used only for short distance communication: in a classroom, for example, where there is not enough time between cloning events for malware to be added.

And everybody must have a USB stick. That’s certainly not a given in the developing world but is changing rapidly as these devices become cheaper.

The end result is a mechanism that looks to be an extremely effective way of spreading software, albeit with one or two limitations. “While being very efficient for our purpose of spreading huge free software inside a community, it is definitely not advisable for spreading sensitive software, or for large-scale distribution,” says Monteil.

Although it’s not hard to imagine it being used in this way given its utility. For example, it would be straightforward to transfer the contents of Wikipedia in this way, dramatically increasing the number of people in the developing world who can benefit from this knowledge.

An impressive solution to an increasingly pressing problem.

Ref: Spreading Huge Free Software Without Internet Connection Via Self-Replicating USB Keys

Keep Reading

Most Popular

conceptual illustration of a heart with an arrow going in on one side and a cursor coming out on the other
conceptual illustration of a heart with an arrow going in on one side and a cursor coming out on the other

Forget dating apps: Here’s how the net’s newest matchmakers help you find love

Fed up with apps, people looking for romance are finding inspiration on Twitter, TikTok—and even email newsletters.

digital twins concept
digital twins concept

How AI could solve supply chain shortages and save Christmas

Just-in-time shipping is dead. Long live supply chains stress-tested with AI digital twins.

still from Embodied Intelligence video
still from Embodied Intelligence video

These weird virtual creatures evolve their bodies to solve problems

They show how intelligence and body plans are closely linked—and could unlock AI for robots.

computation concept
computation concept

How AI is reinventing what computers are

Three key ways artificial intelligence is changing what it means to compute.

Stay connected

Illustration by Rose WongIllustration by Rose Wong

Get the latest updates from
MIT Technology Review

Discover special offers, top stories, upcoming events, and more.

Thank you for submitting your email!

Explore more newsletters

It looks like something went wrong.

We’re having trouble saving your preferences. Try refreshing this page and updating them one more time. If you continue to get this message, reach out to us at with a list of newsletters you’d like to receive.