The Freedom to (re)build software

2023-06-20 @rrobin

Open Source Linux distros have enjoyed a freedom that is now at risk - the freedom to patch software and build their own binaries. Historically this practice was well accepted by the upstream developers because it enabled others to:

However this clashes with requirements from software developers, that do not want users/packagers to exercise this freedom. Some of these are well intentioned e.g. developers do not want to get issue reports for changes which were introduced by a packager; or they want to reduce the dependencies/versions the software is compiled against to facilitate trouble shooting.

One way to enable this which I find particularly insidious is now baked into newer build systems. They 1) assume online connectivity by default and 2) make use of version locking to further restrict dependency versions to the ones the upstream developer used at release time.

Furthermore it is now common practice for developers to quickly introduce a dependency on the latest compiler/tools features, even when the release window for these tools is short (e.g. 6 weeks). This leaves all those that cannot update their tools stuck with an older version or in need of backporting.

None of this is too surprising, since a lot of new programming languages have been created in the past decade, with significant corporate backing. Their requirements, and priorities, are not aligned with the software freedoms we grew up with.

So this is where we are, what can we do about this?

Next time you feel like complaining that old build systems are dated or weird, remember they are only good if we keep working on them and they have these Freedoms baked in, so ... fix them.

Proxy Information
Original URL
gemini://tilde.pink/~rrobin/2023-06-20-the-freedom-to-rebuild.gmi
Status Code
Success (20)
Meta
text/gemini;
Capsule Response Time
11.366361 milliseconds
Gemini-to-HTML Time
0.244578 milliseconds

This content has been proxied by September (3851b).