Live data from Hacker News

What it means that Ubuntu is using Rust

smallcultfollowing.com

121–130 of 312 posts

Re: What it means that Ubuntu is using Rust

#121

I think an issue hindering Rust adoption is ecosystem immaturity. So many crates are pre-1.0, or just basic wrappers around a C library. There are good crates for core things like cryptography, but finding something production-ready for something like SAML is tough.

I wouldn't read too much into pre-1.0 versions. Folks take SemVer pretty seriously, and that makes some folks reluctant to declare v1.0 even when a crate has been in use and "mostly stable" for years. There can also be compatibility issues with a 1.0 bump if a crate's types are common in public APIs, e.g. the `libc` crate. I'm a big fan of the curated list of crates at blessed.rs, or honestly just looking at download numbers. (Obviously not a perfect system.)

Re: What it means that Ubuntu is using Rust

#122
post #43
post #11

Why am I hearing about Rust a lot these days? Did anything significant happen?

What do you mean by “these days”? To me, it seems like rust is a pretty constant factor on HN for at least two years now.

It feels to me like Rust has been pretty big on HN ever since the 1.0 release in 2015...

Re: What it means that Ubuntu is using Rust

#123
post #39
post #33

Unrelated to the language debate, but it seems a lot of people here missed the fact that Rust Coreutils project is licensed under MIT, and I am not sure if I feel that it is the appropriate license for such project. As much as FSF's philosophy has bad PR at times with Stallman, the GPL licenses really do protect open source. Who knows what Canonical would do when all parts of Ubuntu become MIT...

> the GPL licenses really do protect open source. They did, until the automatic copyright laundering machine was invented. Pretty much every piece of GPL code ever written is now being magically transmuted into MIT/BSD or proprietary code, and the FSF has no solution.

Well, this could be handled with a new anti AI license and I guess crowd funding a massive lawsuit to set precedent against AI companies.

Re: What it means that Ubuntu is using Rust

#124

Earlier quoted context omitted.

> - It would be a big deal if Rust did have a safe dynamic linking ABI. Someone should do it. That's the main point I'm making. I don't think deflecting by saying "but C is no safer" is super interesting. I think we all agree that it would be a huge deal. > - So long as this problem isn't fixed, the upside of using Rust to replace a lot of the load bearing stuff in an OS is much lower than it should be to justify the…

This might end up being the forcing function (quoting myself from another reply in this discussion): > It can't be that replacing 20 C/C++ shared objects with 20 Rust shared objects results in 20 copies of the Rust standard library and other dependencies that those Rust libraries pull in. But, today, that is what happens. For some situations, this is too much of a memory usage regression to be tolerable. If memory wa…

How much overhead is that? Also, why would that have much overhead? Things deduplicate in memory.

Re: What it means that Ubuntu is using Rust

#125

Ubuntu used to be the distro to go do, used to. - SNAP which is only managed and supported by them - Tried to reinvent the wheel with sudo-rs - They are heavily focused into cloud, servers and business - Following the Rust hype train I used Ubuntu for 13y or so, it is a Windows within Linux world. Bloated, kernel panic, heavy, privacy issues. Debian still the king to be used as servers, Mint Cinnamon is the king for…

> - SNAP which is only managed and supported by them

> - Tried to reinvent the wheel with sudo-rs

Upstart, Mir, Launchpad, Bazaar, Unity, Juju...

Re: What it means that Ubuntu is using Rust

#126

Earlier quoted context omitted.

This might end up being the forcing function (quoting myself from another reply in this discussion): > It can't be that replacing 20 C/C++ shared objects with 20 Rust shared objects results in 20 copies of the Rust standard library and other dependencies that those Rust libraries pull in. But, today, that is what happens. For some situations, this is too much of a memory usage regression to be tolerable. If memory wa…

How much overhead is that? Also, why would that have much overhead? Things deduplicate in memory.

Your apt update would still be huge though. When the dependency changes (eg. a security update) you’d be downloading rebuilds of 20 apps. For the update of a key library, you’d be downloading your entire distribution again. Every time.

Re: What it means that Ubuntu is using Rust

#127
post #126

Earlier quoted context omitted.

How much overhead is that? Also, why would that have much overhead? Things deduplicate in memory.

Your apt update would still be huge though. When the dependency changes (eg. a security update) you’d be downloading rebuilds of 20 apps. For the update of a key library, you’d be downloading your entire distribution again. Every time.

Oh, well yeah, statically linked binaries have that downside. I guess I don't think that's a big deal, but I could maybe imagine on some devices that are heavily constrained that it could be? IDK. Compression is insanely effective.

Re: What it means that Ubuntu is using Rust

#128

I think an issue hindering Rust adoption is ecosystem immaturity. So many crates are pre-1.0, or just basic wrappers around a C library. There are good crates for core things like cryptography, but finding something production-ready for something like SAML is tough.

gettext took over 30 years to get to 1.0 last month.

Re: What it means that Ubuntu is using Rust

#129

I think an issue hindering Rust adoption is ecosystem immaturity. So many crates are pre-1.0, or just basic wrappers around a C library. There are good crates for core things like cryptography, but finding something production-ready for something like SAML is tough.

I wouldn't read too much into pre-1.0 versions. Folks take SemVer pretty seriously, and that makes some folks reluctant to declare v1.0 even when a crate has been in use and "mostly stable" for years. There can also be compatibility issues with a 1.0 bump if a crate's types are common in public APIs, e.g. the `libc` crate. I'm a big fan of the curated list of crates at blessed.rs, or honestly just looking at download…

IME, a 1.0 version is usually when a project starts taking backwards compatibility seriously. A pre-1.0 library may be plenty stable enough in terms of bugs, but being pre-1.0 means they’re likely going to change their mind on the API contract at some point.

That is the major problem for me… I don’t actually mind that much if a library has bugs… those can always be fixed. But when a library does a total 180 on the API contract, or removes things, or just changes their mind on what the abstraction should be (often it feels like they’re just feng shui’ing things), that’s a major problem. And it’s what people mean when they say “immaturity”: if I build on top of this, is it all going to break horribly at some point in the future when the author changes their mind?

People often say “just don’t update then”, but that’s (a) a sure fire way to accumulate tech debt in your codebase (because some day may come when you must update), and (b) you’re no longer getting what could be critical updates to the library.

Re: What it means that Ubuntu is using Rust

#130

Earlier quoted context omitted.

This might end up being the forcing function (quoting myself from another reply in this discussion): > It can't be that replacing 20 C/C++ shared objects with 20 Rust shared objects results in 20 copies of the Rust standard library and other dependencies that those Rust libraries pull in. But, today, that is what happens. For some situations, this is too much of a memory usage regression to be tolerable. If memory wa…

How much overhead is that? Also, why would that have much overhead? Things deduplicate in memory.

They dedup at the page level.

This isn’t that kind of duplication.

Post reply on HN