:: Re: [DNG] An Anti-Initsystem
Top Page
Delete this message
Reply to this message
Author: Bruce Perens
Date:  
To: Rainer Weikusat
CC: dng
Subject: Re: [DNG] An Anti-Initsystem
There has indeed been a trend to waste memory, which I think is reversing
at the moment because memory is no longer cheap. Snap packages and Docker
are two examples. Not using shared libraries is another, however if you
consider memory sizes on modern equipment, it's easy to understand why.
There are also other language paradigms than shared libraries that might
make more sense. For example, consider extending the micro kernel
architecture and making every library a server. This relies on efficient
IPC and fast process switch, but provides advantages like not having them
in the same address space, and thus allowing them to enforce security on
the caller.

Cargo follows the trend of package managers for interpretive languages,
like NPM and Pip, which vastly reduced the friction of sharing a software
package. That was a tremendous value no one wants to give up. Packages are
shared as source because that's preferable, and platforms differ, and not
everyone can build for every platform.

We also have the issue that Rust is still evolving and so does not have its
own stable ABI, so when you want shared libraries you are either using an
unstable ABI or you are falling back on the C linkage.

It is, however, perfectly possible to make Rust shared libraries, and I
have a project currently in design that does that.

I also think you were tremendously unfair to the Rust team about their
motivation. I've been a C programmer since 1981, and the Rust language is
the very first one to make me think about memory issues that I should have
cared about for 45 years. For that reason a lot of people are going to find
it really naggy, and there is a steep curve to understanding the borrow
checker and how to program in that context. I find it's really worthwhile.


Bruce Perens K6BP



On Wed, Apr 1, 2026, 03:39 Rainer Weikusat via Dng <dng@???>
wrote:

> Bruce Perens via Dng <dng@???> writes:
> > Rainer's rust diatribe doesn't really have a place on the list and
> > seems ignorance-based.
>
> This wasn't a "Rust diatribe" but mostly a remark about certain,
> supposedly-pending kernel policy decisions. Insofar something I stated
> was wrong - that's perfectly possible - please free to correct instead
> of trying to pass summary statements _about me_ based on nothing
> discernible.
>
> Rust has a package manager called Cargo whose purpose is to download the
> source code of Rust dependencies which are then compiled into an
> application. There's no mechanism (I know of) for runtime link
> libraries independent of Rust applications. It's perfectly possible that
> I'm wrong about this, because I've only used the language very little.
>
> https://doc.rust-lang.org/cargo/guide/dependencies.html
>
> The example provided in this text certainly doesn't use dynamic linking
> (and neither did the Rust code I've been working with so far,
> specifcally, the Rust code that's part of suricata).
> _______________________________________________
> Dng mailing list
> Dng@???
> Manage your subscription:
> https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng
> Archive: https://lists.dyne.org/lurker/list/dng.en.html
>