Shine Get

  • 0 Posts
  • 203 Comments
Joined 1 year ago
cake
Cake day: July 1st, 2023

help-circle

  • Not to excuse the developer but I empathise with why they might have felt compelled to change the license.

    One of the biggest pains for any open source project is distributions and packagers who package the software themselves yet make changes or configure in non-standard ways which leads to major overheads for upstream as everyone submits bug reports for bugs introduced down stream and have nothing to do with them.

    I feel we, as a community, need to be more vocal about when a project has been modified from the original source for packaging or distribution (where those changes weren’t pushed upstream) to demand the project be renamed in that instance.

    I feel for these small developers who do this in their spare time and find the community forcing more work on them and damaging their reputation without any fault of the developer but someone downstream who doesn’t care not want to support what they’ve packaged.

    Perhaps there are other solutions? Before other projects decide to use awful licenses and infringe on rights just to try and tackle the problems created by downstream.





  • I’m not insisting anything; stating C is not a memory-safe language isn’t a subjective opinion.

    Note I’m not even a Rust fan; I still prefer C because it’s what I know. But the kernel isn’t written by a bunch of Lewis Hamiltons; so many patches are from one-time contributors and the kernel continues to get inundated with memory safety bugs that no amount of infrastructure, testing, code review, etc is catching. Linux is written by monkeys with a few Hamiltons doing their best to review everything before merging.

    Linus has talked about this repeatedly over the past few years at numerous conferences and there’s a reason he’s integrating Rust drivers and subsystems (and not asking them to fork as you are suggesting) to stop the kernel stagnating and to begin to address the issues like one-off patches that aren’t maintained by their original author and to start squashing the volume of memory corruption bugs that are causing 2/3rds of the kernel’s vulnerabilities.


  • No idea what you’re being downvoted. Just take a look at all the critical CVSS scored vulnerabilities in the Linux kernel over the past decade. They’re all overwhelmingly due to pitfalls of the C language - they’re rarely architectural issues but instead because some extra fluff wasn’t added to double check the size of an int or a struct etc resulting in memory corruption. Use after frees, out of bounds reads, etc.

    These are pretty much wiped out entirely by Rust and caught at compile time (or at runtime with a panic).

    The cognitive load of writing safe C, and the volume of extra code it requires, is the problem of C.

    You can write safe C, if you know what you’re doing (but as shown by the volume of vulns, even the world’s best C programmers still make slip ups).

    Rust forces safe® code without any of the cognitive load of C and without having to go out of your way to learn it and religiously implement it.