this post was submitted on 12 Mar 2024
192 points (95.3% liked)
Linux
48683 readers
360 users here now
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Rules
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
This is not relevant to this specific post but does anyone know how if the static linking used in Rust is an issue with cosmic?
The last time I tried building a small app with Iced it was pretty bing (20MB) even though it didn't do much. On the other hand a GTK app in rust easily fits within 5MB.
Anyway I'm thrilled to try cosmic out as soon as it reached the Arch repos.
Static linking is not an issue. Binaries may require more space on disk, but the benefit is that they are self-contained, portable, with excellent performance, and low memory usage. Binaries are compiled with LTO, so unused functions are stripped from the binary. What remains is highly optimized to that application's use cases.
And they can be packaged for any distro without a single problem
It looks like I was right: https://github.com/pop-os/cosmic-applets/pull/282
20MB for every simple application is a lot, and multical binaries won't be an option for third party developers.
This is still worth the much better DX of using Rust though.
I wouldn't rule out the possibility of a cosmic-applets-community package which bundles third party applets, or the gradual inclusion of popular applets into cosmic-applets. Given that an applet would only become popular if there's a lot of need for those use cases, then it would make sense to open a path to getting them mainlined.
I wasn't thinking about applets but more about full-blown libcosmic applications.
Gnome Circle bas a lot of very simple apps that do just 1 thing and weight a couple MB each at worst.
With iced such an ecosystem would be at 20MB per app, so simple " don't 1 thing and do it right" apps would be less scalable. And I doubt you would want to have all of gnome circle as a multicall binary.
You might be surprised how much disk space those GNOME Circle applications actually require, despite being dynamically linked to a lot of GTK/GNOME libraries. Unless they're written in a scripting language, they're much closer to a COSMIC application than you think.
I don't see the issue with an application having a static binary within the realm of 15-25 MB. Even if you had 100 applications installed, that's only 2 GB of disk usage.