Live data from Hacker News

Rewriting essential Linux packages in Rust

lwn.net

121–130 of 175 posts

Re: Rewriting essential Linux packages in Rust

#121

Earlier quoted context omitted.

>The best licenses are BSD and MIT and others of that sort; they have no naive pretense of not helping corporations: everyone can do almost whatever they want, be they a large business or an individual. These licenses also don't encourage unlevel playing fields where the copyright proprietor enjoys dominance in the ecosystem. The project owner ALWAYS has dominance in the ecosystem. At least with GPL the owner is prot…

The GPL does not prevent closed versions because of Tivoization, and SaaS. For instance, Facebook is closed, in spite of running on a mountain of GPLed stuff. A locked device may prevent the user from running a kernel image that is not signed with a certain private key, even though the vendor of the device complies with the GPL and provides the matching kernel sources and the correct toolchain to reproduce the build…

The GPLv3 was explicitly created to prevent tivoization.

Re: Rewriting essential Linux packages in Rust

#122

Earlier quoted context omitted.

This is why we have AGPL and GPLv3. You can TiVoize the kernel, but you have to provide the user land, at minimum. In a MIT only world, you would have no source of anything. So not only you can’t build a signature-free version of the kernel for educational purposes, you can’t even have it. This is a corporation paradise.

Unfortunately, AGPL is a non-free license, which dictates how one may run the program when not redistributing any of its code. It's a clumsy attempt to attack a certain problem in the social computing sphere using software licensing. (You know the adage about every problem looking like a nail when the only tool you have is a hammer.) Open source licenses are characterized by the fact that you don't have to read them,…

Like it or not, AGPL is a free software license. It only says that even if you provide the service as a SaaS, you share the code if you change it.

You may dislike that particular family of licenses, but it doesn’t allow you to give false information about it. Maybe it’s not intentional, so you need to refresh your understanding. We’re humans, and our brains are not tapes. Knowledge distorts. I experience the same.

GPL says something simple: “Modified the code? Share it. Oh, BTW, you can’t change the license.” The rest is legalese.

Re: Rewriting essential Linux packages in Rust

#123
post #119

Earlier quoted context omitted.

I don't mind GPL, but if I were to start a new project it would be MIT licensed. There is no hidden agenda in my decision to do that and it's certainly not some grand scheme by my employer to make me do that. I simply find gpl less free because it has obligations attached to it. I don't think I'm alone in feeling this way. In fact I think this may very well be the way the majority of folks feel at this point.

Corporations have been attacking the GPL for decades. Your employer would likely not allow you to license something with the GPL even if you wanted to. Many employer's employee handbook comes with specific clauses against not using, let alone contributing to, GPL software. So your take on the corporate part is rather disingenuous and ignores much of recent history. Yes, some people do believe liberal licenses are fre…

> Corporations have been attacking the GPL for decades... So your take on the corporate part is rather disingenuous and ignores much of recent history.

Corporations do not like the GPL on its merits, but it's also worth remembering that the GPL is also not that popular compared to MIT among developers. Developers have not been choosing the GPL for new projects.

See: https://github.blog/open-source/open-source-license-usage-on...

Re: Rewriting essential Linux packages in Rust

#124
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.

I would have said this in the past, but at this point I don't think it matters that much anymore. 1. Code copyright has devalued a lot in general, as you can code significantly faster with LLMs and use them to launder GPL'd code into whatever you want. 2. Big tech seems to be getting away with most other forms of abuses these days, GPL wouldn't really stop them from doing anything important. To the extent that code i…

> 1. Code copyright has devalued a lot in general, as you can code significantly faster with LLMs and use them to launder GPL'd code into whatever you want.

I see no real evidence this is the case. Can you provide examples?

For instance -- do you see many Linux clones right now? Ask yourself: why might you not? Perhaps it's because it's almost impossible for an AI to rewrite Linux.

Re: Rewriting essential Linux packages in Rust

#125
post #111

Earlier quoted context omitted.

It doesn’t matter if it’s over or underrated - what matters is if you want to be compatible with existing code and documentation. I wish C didn’t have strtok, but it’s too late.

I don't specifically want to be compatible with it, no. I mean if ripgrep works for my needs - I'll use it and won't worry if it's POSIX compatible or not.

Great. But we don’t need it in base.

Re: Rewriting essential Linux packages in Rust

#126

Earlier quoted context omitted.

> I'm just tired of people hiding behind POSIX compliance. grep exists in base primarily to support shell scripting, as well as the benefits of standardization that I mentioned. That’s not hiding - it’s a basic expectation if you want scripts to run. Why should ripgrep be on base and what kind of overhead are we adding to install? > how many of your invocations of grep are not POSIX compliant. It would be a different…

I think my comment already addressed every single piece of what you said here. And you're shifting your original claim! You are no longer hiding behind POSIX compliance here. Instead, you're making a more nuanced argument based on more than just POSIX compliance, and one that I find very reasonable! But that's not what you originally said.

> I think my comment already addressed every single piece of what you said here.

You did not mention a word about scripting.

> But that's not what you originally said.

It is. The reason ripgrep should not be in base is because it’s not posix compliant.

Re: Rewriting essential Linux packages in Rust

#127
Memory management programming errors is not a problem I am having with "essential Linux packages". I use a custom userland and rely on busybox and toybox for most basic utilities. However, the size and resource requirements of a Rust toolchain and endless dependencies might introduce new problems for me when compiling essential Linux packages.

Re: Rewriting essential Linux packages in Rust

#128
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.

The problem with your argument is that the GPL has not only provided the corporate world with free labor, but with a licensing model that big corporations now like for their own stuff, because it lets them license the code to other parties while retaining important advantages over those parties. GNU and Linux are the engine that powers practically every form of online harm. The best licenses are BSD and MIT and other…

Under the GPL, users can litigate too. There is a test case for this running now:

https://sfconservancy.org/copyleft-compliance/vizio.html

Re: Rewriting essential Linux packages in Rust

#129

Earlier quoted context omitted.

>The best licenses are BSD and MIT and others of that sort; they have no naive pretense of not helping corporations: everyone can do almost whatever they want, be they a large business or an individual. These licenses also don't encourage unlevel playing fields where the copyright proprietor enjoys dominance in the ecosystem. The project owner ALWAYS has dominance in the ecosystem. At least with GPL the owner is prot…

The GPL does not prevent closed versions because of Tivoization, and SaaS. For instance, Facebook is closed, in spite of running on a mountain of GPLed stuff. A locked device may prevent the user from running a kernel image that is not signed with a certain private key, even though the vendor of the device complies with the GPL and provides the matching kernel sources and the correct toolchain to reproduce the build…

TiVo did not do what is currently referred to as Tiviosation, they just broke their proprietary software on top of Linux when you modified Linux, which you could still do. Both the GPLv2 and GPLv3 require you to be able to modify and reinstall GPL software, so devices that are locked against this are GPL violating. There is the AGPL for the SaaSS problem.

https://sfconservancy.org/blog/2021/mar/25/install-gplv2/ https://sfconservancy.org/blog/2021/jul/23/tivoization-and-t... https://events19.linuxfoundation.org/wp-content/uploads/2017...

Re: Rewriting essential Linux packages in Rust

#130

Earlier quoted context omitted.

This is why we have AGPL and GPLv3. You can TiVoize the kernel, but you have to provide the user land, at minimum. In a MIT only world, you would have no source of anything. So not only you can’t build a signature-free version of the kernel for educational purposes, you can’t even have it. This is a corporation paradise.

Unfortunately, AGPL is a non-free license, which dictates how one may run the program when not redistributing any of its code. It's a clumsy attempt to attack a certain problem in the social computing sphere using software licensing. (You know the adage about every problem looking like a nail when the only tool you have is a hammer.) Open source licenses are characterized by the fact that you don't have to read them,…

The extra provisions of the AGPL do not get triggered based on how you run the program, they get triggered when you modify the program. You definitely don't need to read the AGPL to run the software. Please check out the text of the AGPL rather than repeating what people say about it.
Post reply on HN