Live data from Hacker News

Rewriting essential Linux packages in Rust

lwn.net

71–80 of 175 posts

Re: Rewriting essential Linux packages in Rust

#71

> " There are between 200 and 300 dependencies in the uutils project. He said that he understood there is always a supply-chain-attack risk, "but that's a risk we are willing to take". There is more and more tooling around to help mitigate the risk, he said. left-pad II, coming soon to a Linux distro near you

... when rewriting Linux system software, I'd only use Rust dependencies from a distro (probably something LTS, like Debian stable, or such).

Re: Rewriting essential Linux packages in Rust

#72
post #29

Rewriting GPL software under the MIT license is a terrible thing to do. The GPL is meant to protect and preserve what should be basic human rights. So-called "permissive" licenses are meant to provide big tech with free labour.

You say that like big tech doesn't use these tools when they are gpl. The primary advantage here is big tech employees can safely read and contribute to these tools without fear of upsetting some internal lawyers or getting explicit permission. No one is arbitrarily forking, extending, and keeping that new source hidden despite placing it in some commercial product. Working upstream is far less costly for long term m…

> The primary advantage here is big tech employees can safely [...] contribute to these tools without fear of upsetting some internal lawyers

Doesn't GPL do that better by mandating that changes must be accessible to the public? Like, if an employee worked out some patch, it would be a violation of the license to not make it accessible to the public.

Re: Rewriting essential Linux packages in Rust

#73
post #50

Earlier quoted context omitted.

Did the previous developers put it there for fun? Probably not.

The previous developers might have written it at the time when VM disk RAID images were not a consideration. (Apparently it was Linux 3.0, 2011.)

But even then, the device nodes should be protected by file ownership+permissions; why does the tool do its own check?

Re: Rewriting essential Linux packages in Rust

#74
post #41
post #35

Earlier quoted context omitted.

Yup, and one doesn't need to look further than FreeBSD to see what the end result is. I wonder, to what extent is the Linux Rust effort "generously subsidized" by corporations? > He is thinking about ""what we are going to leave to the next generation"". Developers starting out don't want to use COBOL, Fortran, or C, he said. They want to work with fancy stuff like Rust, Swift, Go, or Kotlin. Oh, think about the chil…

I did not see these posts before I posted similar. I fully believe this is a direction Corporations are pushing. Almost wonder when spyware will be added and restrictive DRM.

This is FUD. The folks funding this generally believe in the benefits. Not everything is 4D chess. There are plenty of not more of examples of rewrites where licenses do not change.

Re: Rewriting essential Linux packages in Rust

#75

Earlier quoted context omitted.

...and can be closed anytime, if the author wants to. Which will happen with these tools, anyway.

What is released under MIT (or BSD) will stay under that license forever, so it cannot "be closed anytime". The owner can change the license, but that will affect only future developments.

Permissive licenses sometimes allow sublicensing, which allows changing of the license, and does not require source code be made available when changes made.

IOW, this is de-facto closed source distribution.

What happens when a company decides to add their own secret sauce and release that version only, or what happens tons of slightly incompatible, closed source variants pop-up, what happens upstream decides to not release future versions' source code.

We have seen it all, and we'll see all of them again.

Re: Rewriting essential Linux packages in Rust

#76
post #47

Earlier quoted context omitted.

Thanks for sharing this thought, it hadn't occured to me that this could be an issue. Would the choice of AGPL or MPL for a licence have satisfied your concerns?

As a person who shares OPs concerns, (A)GPL is acceptable, in v2 or v3 form. Anything permissive is not, because allows a closed fork, which everybody wants to do to rob free software ecosystem to undo what has been done over these years. Because "monies".

Personally I haven’t seen this motive across any of the organizations I’ve worked at. They usually seem more interested in minimizing maintenance costs, which means they try to upstream changes where possible or practical.

What would motivate a company to fork and keep private changes to a core GNU utility like chmod?

Re: Rewriting essential Linux packages in Rust

#77
post #35
post #29

Rewriting GPL software under the MIT license is a terrible thing to do. The GPL is meant to protect and preserve what should be basic human rights. So-called "permissive" licenses are meant to provide big tech with free labour.

Yup, and one doesn't need to look further than FreeBSD to see what the end result is. I wonder, to what extent is the Linux Rust effort "generously subsidized" by corporations? > He is thinking about ""what we are going to leave to the next generation"". Developers starting out don't want to use COBOL, Fortran, or C, he said. They want to work with fancy stuff like Rust, Swift, Go, or Kotlin. Oh, think about the chil…

> I wonder, to what extent is the Linux Rust effort "generously subsidized" by corporations?

I would hazard that extent is strictly less than Linux itself.

Re: Rewriting essential Linux packages in Rust

#78

Earlier quoted context omitted.

A left pad incident isn't possible on crates.io. Yanking a package from the registry doesn't remove the code if you have an existing lockfile.

left-pad is symbolic of dependency and supply chain issues generally. If all you took away from that incident is that there's risk only from someone unpublishing the module then you probably need to go back and think about it some more.

Don't chide people for failing to read your mind. If you wanted people to take that away, you should've said that. Using a specific example as a metonym for a larger phenomenon is a poor choice in terms of clarity. Of course people responded to the specific example.

Re: Rewriting essential Linux packages in Rust

#79
post #12

Is Rust (llvm?) supported on all platforms Linux targets?

Not yet, afaik the rust4linux devs thus want to create a rust frontend for GCC (gccrs)

gccrs (and gcc-codegen which is a project with the same objective but only implementing the backend) is an independent project to Rust4Linux (but they talk to each other).

Re: Rewriting essential Linux packages in Rust

#80
post #35
post #29

Rewriting GPL software under the MIT license is a terrible thing to do. The GPL is meant to protect and preserve what should be basic human rights. So-called "permissive" licenses are meant to provide big tech with free labour.

Yup, and one doesn't need to look further than FreeBSD to see what the end result is. I wonder, to what extent is the Linux Rust effort "generously subsidized" by corporations? > He is thinking about ""what we are going to leave to the next generation"". Developers starting out don't want to use COBOL, Fortran, or C, he said. They want to work with fancy stuff like Rust, Swift, Go, or Kotlin. Oh, think about the chil…

What does Rust have to do with it? You can write MIT or GPL licensed code in any language.
Post reply on HN