There are 12 Cuban programmers each translating a chunk of my book into Spanish. Here is my latest mail to them:
An idea for an interesting project occurred to me, and you are the perfect candidate country to build it!
I have come to understand that rolling releases are what Linux should become. I have installed Ubuntu on friends computers, and years later, they are running the exact same software. Free software improves every day, and it is a shame that people are not always running the latest.
Therefore, you should put rolling-releases software on every desktop machine in Cuba. You should put something on that automatically upgrades to the latest version without any intervention by a local user.
Now, this can create a problem. If you put out a fix and every machine crashes and won’t boot, you are screwed.
Before I get to the solution, there are many ways to mitigate this problem. For example, you can mirror Debian-Testing, but create a different schedule for how the software deploys. Some machines will grab the latest builds. Some machines will grab Debian Testing + another 20 days. If you can categorize machines, and setup different dates for how long things sit in -Testing, you can catch problems early.
There is no software that does this yet and I you guys should build it. It allows people to connect up to Debian-Testing, but not be on the front lines. I’m not sure how to implement it. But it is a big enough project that it would require a bunch of you.
You also need to work on what to do when things go bad. For example, if a machine crashes, it should reboot into a special state to see if there are any new packages. It could be that a fix is waiting for it.
Furthermore, if the machine is still hosed, then you could have it decide to do a reinstall. You should setup every machine to have a separate user and home partition. This gives you the possibility to wipe machines.
Every machine that is running this Linux is connected to a very powerful force. Once it is installed, it can all be run remotely. Year after year, the software in every school and such will automatically get better. And hey, even if it breaks, well that’s just a reason to hire some Debian experts in every school.
And it would be useful to many other people. It could be one of the biggest reasons to move people back to Debian. In fact, you could end up unifying a lot of the other forks by Debian implements a better Debian-Testing. The early people who joined Ubuntu came from Debian and used it mostly because it shipped more frequently.
So you need to figure out how to implement it, and how to handle bad situations. The key is to have multiple types of correction mechanisms. One thing you can do is look at past Debian-Testing breaks and see if your solution handles them.
What do you think?