2023: Linux rusting away into non-FOSS territory - Build rnote and you will see
Linux 6.2-rc2 kernel is out as the last commit in kernel.org at the start of the 2023 year. RUST is here, the initial code-base is included in the kernel. At least Arch seems to be disabling it for now, at the beta level at least, we shall see.
Rust is not just a language, as people commonly think, it is much more. It is a building environment, system, and a mode change of the philosophy of building packages from source. Rust incorporates its own git system in pulling code in from 2nd and 3rd parties. So if you have never gotten into the real FOSS practice of auditing code before you build, try and audit this stuff. If building in C you thought was a practice similar to building sand castles, by comparison, this is like building sand castles with quick-sand ON QUICK SAND.
Rnote is a crappy little gui similar to the old MS paintbrush, like a childrens’ sketching pad. No, it is worse, it doesn’t even save in popular image formats but only its own. Autosave is on. You get the picture? This is gtk4 only “crap”! Not only that, you can’t find a configuration file for it anywhere in your user’s home, and for preferences to be changed and be saved, dbus should be running. Why does a kids’ sketching pad program need dbus to save its own preferences/choices/settings?
But this crappy little gui is built with rust. Before you start building you may have no clue what dependencies it is going to need, or the initial building source provides little clues of configurations for the build and where is it pulling code from. ONE of the sources is Google, among other favorite FOSS contributors that happen to be multinational conglomerates out to make trillions for shareholders. We are talking about many GBs of endless source being pulled in. Rust stores this code in cargo, like trashcans of it full of crap. How do I know if I restart the process 2′ later the source of the dependencies hasn’t changed? Aahhh… some excited RUST-fan will point out you can save those tons of trash code into those tin-cans.. so you can assure “reproducibility”. If for a tiny little gui we have 80GB of 3rd party code that needs to be stored for reproducibility, imagine what your building machine will look like for a minimal distro full of rust packages.