News for hackers. Stuff that matters.
Re:Cross-platform Rust rewrite of the GNU coreutils by billpg on Wednesday January 03, 2024 @04:31AM (#38852208)
I ask having no idea, but why?
Re:Cross-platform Rust rewrite of the GNU coreutils by topspin on Wednesday January 03, 2024 @05:33AM (#38852545)
The most noble reason one might offer is that it measures popular new tools against a widely used legacy of work in C, exposing the subtle corner cases that lurk in Rust and its ecosystem.

More likely it's enthusiasm and surplus energy finding an outlet.

Licensing is cited often. For coreutils? Whose lucrative commercial scheme has a custom tail(1) as its secret sauce? Doesn't make sense to me. Looking at the top contributors it's some Rust enthusiasts and a Debian project Director. I'd expect to see hardware manufacturer employees or similar if this were about licensing.

Re:Cross-platform Rust rewrite of the GNU coreutils by brabel on Wednesday January 03, 2024 @06:59AM (#38853097)
Lots and lots of people wanting to learn Rust and put their name on a long living project like core-utils (if this happens to succeed).
Re:Cross-platform Rust rewrite of the GNU coreutils by martin8412 on Wednesday January 03, 2024 @04:41AM (#38852260)
MIT license
Re:Cross-platform Rust rewrite of the GNU coreutils by itsphilos on Wednesday January 03, 2024 @04:51AM (#38852325)
I don't know much about licenses, but why is MIT preferable over GPL used by the GNU coreutils?
Re:Cross-platform Rust rewrite of the GNU coreutils by master-lincoln on Wednesday January 03, 2024 @05:05AM (#38852383)
MIT licensed projects can be taken and sold by others without sharing any changes made to it. With GPL, all changes when taken by a third party need to be openly available for everybody. So the hardcore FOSS community (which GNU certainly counts to, see Richard Stallmann) is against using MIT and alike as it enables others to profit from your work without giving back any improvements to the open community.

(hand wavy, non-detailed explanation - read other sources for clarity)

So the MIT license is less restricted for users, but ultimately only in the interest of people looking for profit, not consumers

Re:Cross-platform Rust rewrite of the GNU coreutils by rcxdude on Wednesday January 03, 2024 @05:09AM (#38852406)
Specifically, if you are making a widget with embedded linux, the anti-tivoisation clauses in GPLv3 are a bit of a pain (even if you are not particularly trying to lock down the system from tinkering): they effectively mean you need to develop and provide an extra partial-update mechanism.
Re:Cross-platform Rust rewrite of the GNU coreutils by m4rtink on Wednesday January 03, 2024 @08:55AM (#38854055)
That's kinda the point - owners of devices should be in control of software their devices are running. Or they are not owners.
Re:Cross-platform Rust rewrite of the GNU coreutils by drxzcl on Wednesday January 03, 2024 @06:02AM (#38852761)
The MIT license is two paragraphs long. The GPL is little more than a page, plus a very informative preamble.

Don’t take anyone’s word for what they say or which is better. Read them.

Re:Cross-platform Rust rewrite of the GNU coreutils by chrismorgan on Wednesday January 03, 2024 @06:54AM (#38853066)
The terms and conditions part of the GPLv3 is 4,600 words long, which in typical formatting will be about 7–9 pages long. Not one.
Re:Cross-platform Rust rewrite of the GNU coreutils by mr_toad on Wednesday January 03, 2024 @07:48AM (#38853434)
I’m not sure I value the opinion of (or want to use software written by) someone who couldn’t read nine pages.
Re:Cross-platform Rust rewrite of the GNU coreutils by ilikehurdles on Wednesday January 03, 2024 @05:01AM (#38852368)
To consumers, it isn’t. It removes beneficial terms from users.
Re:Cross-platform Rust rewrite of the GNU coreutils by thebruce87m on Wednesday January 03, 2024 @07:33AM (#38853315)
Conversely, it means that the software can end up in places it wouldn’t otherwise. This could be better for consumers if the alternative is a poorer quality library with a more permissive license.
Re:Cross-platform Rust rewrite of the GNU coreutils by master-lincoln on Wednesday January 03, 2024 @05:07AM (#38852394)
This is an ideological view that I would oppose. GPL is beneficial for the user compared to MIT because any improvements made by users of a project will be open for everybody again. With MIT it's just easier to make a profit without giving back. That is not in the interest of consumers
Re:Cross-platform Rust rewrite of the GNU coreutils by ilikehurdles on Wednesday January 03, 2024 @05:15AM (#38852442)
It sounds like we agree? With the GPL all users have the right to look at the code. With MIT none do.

This seems like a pretty straightforward consumer benefit that anyone should be able to acknowledge regardless of which license they develop with.

Re:Cross-platform Rust rewrite of the GNU coreutils by master-lincoln on Wednesday January 03, 2024 @08:11AM (#38853633)
indeed, sorry, not sure why I got this wrong
Re:Cross-platform Rust rewrite of the GNU coreutils by cmrdporcupine on Wednesday January 03, 2024 @05:24AM (#38852487)
yeah seems like they read your comment wrong
Re:Cross-platform Rust rewrite of the GNU coreutils by sneak on Wednesday January 03, 2024 @04:32AM (#38852212)
Memory safety comes to mind. Maintainability is another.

I don’t recall if file(1) is part of coreutils or not, but there was a somewhat unexpected exploit for it a few years ago.

Re:Cross-platform Rust rewrite of the GNU coreutils by xyzzy123 on Wednesday January 03, 2024 @04:46AM (#38852299)
Most of this stuff tends not to run in a privileged / network context so it's not clear to me that there are big security gains to be had?

To be fair there are daemons and scripts that shell out to these things and when all the stars align you maybe get an exploitable scenario - but these tend to be situations where doing that in the first place was a bad idea (e.g. $PAGER is not meant to be a load bearing security component and rewriting in Rust is unlikely to fix all the issues with this class of usage).

Re:Cross-platform Rust rewrite of the GNU coreutils by roca on Wednesday January 03, 2024 @05:16AM (#38852447)
Whenever you run one of these tools on a file you downloaded from the Internet, you're relying on the tool having no exploitable security bugs. Regardless of whether or not $PAGER was intended to be a "load bearing security component", it definitely is.
Re:Cross-platform Rust rewrite of the GNU coreutils by ok123456 on Wednesday January 03, 2024 @09:20AM (#38854318)
The lifetime of these programs is maybe a hundred milliseconds. You could write "memory safe" versions of them by just not using "free" in C, as many early versions of these tools did.
Re:Cross-platform Rust rewrite of the GNU coreutils by bitwize on Wednesday January 03, 2024 @09:27AM (#38854394)
Short answer: because it's 2023.

Longer answer: It's hard to find programmers who can or are willing to write/maintain code in the style of the old GNU hackers. Starting afresh with modern development practices in Rust is more likely to result in a project that gets actually maintained over the long term after those old hackers die/retire/etc. Starting afresh also allows you to bring in more prosocial practices that are table stakes for modern OSS development but would be met with resistance from the GNU community, including using a permissive license and having and enforcing a Code of Conduct.

Re:Cross-platform Rust rewrite of the GNU coreutils by bitwize on Wednesday January 03, 2024 @02:00PM (#38858196)
I made a critical error. It is no longer 2023; it is, in fact, 2024.

All the more reason to adopt modern practices.