An article on LWN (do subscribe; it’s totally worth it) contained the following quote:
Skateboarding started with proto-skaters modifying surfboards and scooters, and today, “extreme” sports vendors bring customer’s modifications in-house and base products on them.
This got me thinking: how can we make people modding their software as common and as well-understood for everyday people as modding their skateboard, bicycle or console?
Some of the pieces are in place. It’s possible on Debian to download and compile the source for a package, and use your version in place of the shipped version, with a reasonable amount of ease. Projects like Project Awesome Opportunity are working on making that even easier, and doable without a command line.
However, unlike a skateboard, operating systems are regularly upgraded.
How cool would it be if your Linux distribution remembered that you were using a modded version of a package and, when you started a distribution upgrade, first downloaded the new source, tried to merge it in in a newly-created branch in your local copy, and let you know if there was a conflict so you could fix it before running the upgrade? If it merged fine, or after you fixed the conflicts, it would then rebuild the package on top of the newer source, with your mods, and install it as part of the upgrade. The end result would be an upgraded system which retained your changes.