“Packaging Kubernetes for Debian”:

This raises key questions: bundling (“vendoring”) and its implications, contemporary #FreeSoftware development practices and their impact on distro relevance, avoiding/resolving technical disputes, and more.

#Guix has answers to some issues but is otherwise in a situation similar to that of #Debian.

Regarding “modern” development practices, I’m both amazed at how much can be achieved with all these libraries at our fingertips, and scared at the idea that even distro “experts” give up on understanding how things fit together.

Show thread

@civodul I see complexity as one of the modern barriers to practical software freedom. If a reasonably skilled person can't comprehend a system, one can't exercise the freedom to make any meaningful changes, letalone redistribute those changes.

Projects that describe themselves as open source may not begin to consider that point.

I feel a modern interpretation of software freedom requires mindfulness to complexity. Unfortunately, the backbones of modern systems are the opposite of that.


So glad you mentioned this. Even some GNU software has fallen prey to complexity. Even some of the simplest programs in coreutils look complex compared to those in say OpenBSD. I understand that programs are what they are in its current form for various reasons and the needs to run in various platforms etc. But something got lost on the way..


@vu3rdd @mikegerwitz @civodul Absolutely this. Last year I wrote "Free software is not enough" <colbyrussell.com/2019/05/15/ma>.

Related: "one of the cornerstones of the FSF/GNU philosophy is that it focuses on maximizing benefit to the user. What could be more beneficial to a user of free software than ensuring that its codebase is clean and comprehensible for study and modification?" <colbyrussell.com/2019/05/15/ma>

@vu3rdd @mikegerwitz @civodul when I search for other instances, I also find @jfred's post from a few months ago on the same topic, using the same phrasing. <jfred.dreamwidth.org/479.html>

A key to pushing for solutions is to make it easy for allusions to the problem they solve to live as memes. Slogans and slogan-like turns of phrase are a form of such memes.

It would be beneficial and convenient if "Free software is not enough" (or "FOSS...") became the shorthand for referencing this problem.

@colby @vu3rdd @civodul @jfred Ah, thanks for sharing. I've always used "practical software freedom" informally, and I'm not sure if I've used the term publicly before or not.

But there's a careful balance to be had. We can't take "practical" to mean "anyone can modify without any training". As @civodul said, some projects have inherent complexity.

Some projects are also complex simply because they are poorly factored, planned, or authored.

@mikegerwitz @colby @vu3rdd @civodul Some projects, certainly - but not all!

To use an example: let's say I'm using a phone dialer, and I want to make the "back" button clear all digits that have been entered when held. Simple right? So you:

Find the relevant git repository, set up a build toolchain, get deps, find the relevant part of the code, make your change, build, run...

...why can't there be a "view source" button?

The barrier to entry is much higher than it could be.

@jfred I lament this frequently with my children. They play a number of free software games and there are a number of changes they'd love to make. Conceptually, those changes aren't difficult.

But the barrier to entry is large enough that I simply don't have the free time to get acquainted, letalone go through with the change.

@mikegerwitz @jfred Adopting non-destructive compilation would help a lot here. <triplescripts.miraheze.org/wik>

GNU and the free software movement at large needs to figure out whether its commitment is to enabling and advocating software freedom or to a particular computing culture as it existed at an arbitrary point + an exercise in promoting the idiosyncrasies of that cultural snapshot.

The traditions of how most software is developed has led to a plateau in "practical software freedom".

@colby @jfred I'm not concerned about the binary as long as I can be confident that I (a) have a copy of the corresponding source code and (b) can reproduce that binary myself, bit-for-bit. If that's true, then it doesn't matter what comes out the other end of a compiler. Binaries are _not_ substitutes for sources (which is explicit in the GPL).


The problem I speak of is the inherent complexity in the source code itself and the _process_ of getting it to build.

@mikegerwitz agreed, but as Adam Spitz originally points out in "Open source is not enough", the immediacy of going from running program -> poking at it should not be discounted (or rather, the effect of latency should not be underestimated).

I'm also acutely sensitive to crummy build processes, e.g., ones that don't produce the same program that you were running, ones that take too long to complete, and ones that don't complete at all.

@colby @mikegerwitz @JordiGH Oof. I even used Firefox as an example in my blog post about this but hadn't come across this post. It's a great demonstration of the problem.

In emacs this would have been `(global-unset-key (kbd "C-n"))`

@jfred @colby @JordiGH Firefox is a good example.

In GNU, we have IceCat, which has suffered from lack of maintenance; Mark Weaver was applying patches for Guix. So I decided to take up maintainership, along with both Mark and Amin Bandali.

Then some events happened that kept me busy. Then COVID-19 happened. And still, many many months later, I have not had the time to even begin to grok this monstrosity. It's incredibly demotivating. And sadly, I may never find the time.

Sign in to participate in the conversation

The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!