Hi!
Ricardo Wurmus <rekado(a)elephly.net> skribis:
As you write, an important subset of GNU Assembly packages is indeed
concerned with systems programming. But there are many more great GNU
packages that fill roles that you wouldn’t necessarily associate with
the image that the term “operating system” evokes. (An example is
Lilypond.) These packages *do* embody the GNU philosophy (or is it
really the Emacs philosophy…?) of blurring the often arbitrary
distinction between users and developers, granting users as much
freedom from administrators and developers as feasible.
That, I think, is a unifying theme for most GNU packages.
Agreed. I think Andy (and probably others before, starting with RMS)
clearly expressed the technical implications of that vision, which he
calls “the Emacs thesis”:
https://www.gnu.org/software/guile/manual/html_node/The-Emacs-Thesis.html
This approach to “practical user freedom” can be seen at the application
level in LilyPond or GNU Radio I think, at the system level with the
Hurd and Guix, and so on.
I’m convinced that we can formulate a shared vision for what an
operating system (and its applications) should offer to users —
and how that relates to the current state of GNU+Linux distros and
compares to other popular platforms (such as mobile phone systems
or browsers). This cannot merely be limited to technical features,
but must be derived from the promise of respecting the users’
authority, enabling them to exercise these liberties not just
theoretically.
In my opinion it would be important *not* to limit this discussion to
system-level software, but to find a mental framework that
accommodates system-level software and non-system applications
alike.
I agree.
The reason I brought up Rust-on-Linux and systems software is that it
could help us start a discussion about one possible “tactic”. GNU is
well known and still dominant among free systems, but it’s also clear
that the musl/LLVM/Rust proponents are shaping up a vision to displace
GNU, probably with a mixture of technical and political motivations.
I don’t think we should remain silent while Rust-on-Linux & co. catch
the headlines. Instead, I think we should articulate a vision that
keeps the user at the center, while addressing the technical concerns
that Rust folks like to brag about: security and reliability.
Consider reproducible builds and bootstrapping: these are technical
means to guarantee user freedom and security. We have a good story to
tell and to continue with Mes¹, Guix, and the toolchain. Likewise for
modular OSes with components running in separate address spaces.
Can the systems GNU packages join forces to articulate that vision?
Can we increase the bandwidth among those packages? IOW, can we work
so these packages are a leading example for free systems?
Thanks,
Ludo’.
¹
https://guix.gnu.org/en/blog/2020/guix-further-reduces-bootstrap-seed-to-25/