Memory safety is hard to ignore.
This is what most people who complain about Rust rewrites don’t get. It’s not just about memory safety and some new language features. Rust simply did a lot of things right and is nice to work with. New developers actually join Rust projects while old tools written in C struggle to survive.
Yeah, I enjoyed when fish shell did their rewrite and people were arguing whether it makes sense technologically, like it’s a mature codebase, so it’s not likely to reduce the number of bugs and yadda yadda yadda.
None of this mattered, because fish is developed by a group of hobbyists. They didn’t want to continue developing in C++, because it was a pain in the ass. And for sure, one of the reasons they wanted to switch to Rust is because it’s new and exciting.
These reasons are perfectly valid, because they’re volunteers. If they’re not having fun, then they will just developing.
I’m actually looking into learning zig. The deal is that I don’t really have an use case for it. My work vastly prioritizes development speed over actually fast programs
To learn rust, I just started writing all my personal projects in rust. I started with REST apis and basic CLIs.
Why are you considering Zig instead of Rust? Or is it in addition?
Arguably Zig has a simpler approach to memory management (which can also lead to more errors, arguably) which makes the transition from C somewhat easier. Downside is that the language is still under heavy development and you definitely have to be up for the ride.
Agreed that it makes the transition from C easier, but I’d also say it makes the transition from C more pointless. I don’t really know that much about Zig but from what I’ve heard, I don’t really get the benefits - if you want a fast systems-level language without guard rails, why aren’t you just writing C (or C++, if that’s your thing)?
For great justice
Someone set up us the Rust?
Cooler name
But consider, Rust being named what it is led to the project name ffmpreg
Can’t argue with that
Isn’t also half the point behind Rust the ability to evade the GPL and make Linux more vulnerable to takeover by corporate? Last I checked Ubuntu is replacing some GNU stuff like coreutils with Rust.
Yes, that’s correct. Whenever you write something in Rust, the license is automatically permissive. In fact, both US and EU copyright law automatically grant an irrevocable, perpetual license to use any and all Rust code that has ever been written for any purpose at all, including for commercial purpose, unless the code was written by a corporation.
Or, you know, you could just:
[package] license = "GPL-3.0-only"Now that would be a horror story. Then again, it’s one of the reasons why I’m asking. Rust fame is just too coincidental with a number of things to not be suspicious. There was a whole thing in C++ (dunno if it’s still ongoing) about the “memory safety” meme, as well.
Since you seem to be in good faith: no, you’re wrong. Using a language cannot force you into adopting a licence, because automatically everything you produce will be all rights reserved unless otherwise specified. It’s then up to the developer to choose a license.
Rust doesn’t even populate the license metadata in your manifest, it’s up to you.
I think MIT dominance came about thanks to GitHub’s choose a license.
I feel ya. To me, it’s really sad that some new projects now use licenses that are really good for businesses but do not even protect the projects themselves. I’d rather live in a world where GPL share would increase. (Instead, GPL grows, but its share is diminishing.) All my projects so far are GPL/AGPL.
At the same time, Rust being picked for Linux has really nothing to do with the license. It’s just what you said - a coincidence. The actual choice is made because of the language itself. It’s a great language BTW.
To be fair, projects implemented in Rust and adopting the GPL/AGPL are just not that notable.
I mean, you can’t expect people here to have heard of, let’s say, that thing called Lemmy.
- Linux kernel code is GPLv2 licensed irrespective of language.
- There are thousands of (A)GPL rust crates/libraries out there.
- The majority of crates are indeed still liberally licensed, but so are most new projects from the last decade, irrespective of the choice of implementation language.
- Rust project rewrites don’t exclusively replace GPL projects, because there aren’t actually that many core GPL software packages to replace. Neither sudo nor zlib are GPL software, just to give two examples. A lot of implemented-in-C core packages in your system right now are actually liberally licensed.
- And just for the sake of accuracy, the supposed threat of liberal vs. copyleft is not about the so called corporate take over or control. It’s about the ability to have proprietary forks/spin-offs. Plenty of GPL projects are corporate-controlled and always have been (see what projects Red Hat maintains).
You should try properly educating yourself on matters, instead of just taking whatever bullshit random often-clueless if not also malicious e-celebs spout at face value, or wherever you’re getting these retarded theories from.
are you claiming that a program written in rust evades thr gpl? thats not a thing.
or…
are you saying , things are being rewritten (regardless of language) with a different license. scary but not a rust thing.
The second.
Do you seriously think that’s how IP law works? If you weren’t able to write GPL Rust code, Rust would not be free software. That would require the Rust project to issue software licences to programmers that stipulate that you must not create GPL-licensed software using Rust.
Rust is free and open-source, like most programming languages. That means you are allowed to make whatever software you want with it, including GPL software. There’s nothing stipulating that you can’t…
You can write GPL rust code, you can also write non-gpl rust code. Gnu coreutils are gpl, if I choose to write functionality compatible with coreutils from scratch in rust I can relicense that as I please (ie not GPL) OP is postulating the driver behind rust rewrites is not for the language features but to allow coreutils functionality to be relicensed as closed source software.
What does this have to do with Linux?
GKH is to me the second most important guy in the Linux world today next to LT, and he definitely deserves more credit for his efforts maintaining the kernel. Maybe Greg doesn’t get as much press attention because he doesn’t make as profound statments as Linus tends to.
Look, undeniably some coding languages are miles better than others, but I don’t think any of them would fall under my personal classification of what the word “fun” means…
It was fun when knowing programming was almost a superpower that you had to learn by reading lots of books, etc. Now a computer can do much of the job. The computers are even solving long-open Erdos problems. We’re all just mediocre meatbags.
Fun is when you’re allowed to achieve what you want to achieve with less bullshit to worry about.
Or in more respectable technical terms, when you’re allowed to focus on core logic above everything else.
Except for C
Different strokes I guess. Personally, I do have a good time writing Rust and fun feels like the right word
Yup. I come from a mostly embedded C or C++ background with a constant 10% Python for assorted scripts. Rust feels pretty great, basically all the things I like about all of those languages with fewer of the annoyances. And cargo and clippy are fantastic. My biggest annoyance is remembering which of the approximately 213 Result/Option chain handlers I should use in a given situation.
Thanks for naming my biggest problem with writing rust code. Every crate has it’s own particular Result chain, doesn’t it. To the point we have anyhow and eyre to help with this mess.
My current solution is usually to just make a bunch of stupid match statements and fix whatever clippy complains about. Then if any remain be sure to “accidentally“ tag the friendliest rust expert I know on the PR and see if they say anything.
edit: They usually say something like, “you could replace those matches with a and_else, map_err, unwrap_or, and_then? and a filter_map.”
Yeah, same. The fact I can chill the fuck out and basically not have to worry about an enormous class of serious, hard-to-spot bugs makes it a lot more fun for lower-level programming.
Like, yeah, I still need to worry about obstacles like other drivers, animals, etc., but it’s a lot more fun driving on a road that isn’t completely teeming with potholes and black ice.








