What if there was a rust compiler to C, that produced like readable, compliant C code for the kernel. And then developers that want to work in rust can publish their original rust code to some third party location, so the reviewers have no idea if the C code they receive it was originally written in rust or not.
Try what you said with even well align languages like TS and JS and it would be hard to work with.
How do you propose that happens?
Rust-only ecosystem would be pretty cool though. It may be worth just forking linux for the sake of compatibility, and keeping the license going. I don't see a future otherwise.
I'd also like to see better compiler diversity. Maybe once gccrs rolls around we will see different attitudes around rust emerge, compared to C/C++ which have more distributed development.
Most of them at some point have been stung by finding a library that perfectly solves their problem, only to notice that it’s licensed GPLv3 (or similar) and thus the legal dept won’t let them touch it with a ten foot pole (and/or interfacing with that dept is not worth the bother). They’d rather not put others in that predicament and want their work to be useful to as wide of a spectrum of devs as possible.
Both copyleft and copyright (to a lesser extent) are in opposition to my beliefs and goals.
I figure it's because the companies and orgs that started working with and investing in the rust ecosystem start by contributing to the compiler, which is non-copyleft and just try to extend that because it works to their advantage. You see this with a lot of languages/ecosystems with corporate sponsors, but also just because it gives you a unique selling point in an area where copyleft software dominates. Like, there will always be some company (like imagine a defense company) that absolutely refuses to publish all of their changes, so that represents a niche that can sustain smaller permissive projects.
I think that for an individual corporation, permissive is better and they won't make a decision to go copyleft unless forced. But for the ecosystem as a whole, GPL is better for business (especially when it comes to something like a kernel) because it forces companies to publicly fork over their drivers and collaborate, and reduces the competitive advantage vs companies that would otherwise not publish their changes if it was permissive.
That was probably too many words. Anyways, it would be nice to see some of this improved, i think it's a great language and will probably replace C++.
And then what?
A kernel by itself isn't very useful. Even if your kernel is somehow superior in every way, you need software to target it, so to be a successful replacement for linux you basically have to be completely compatible with any software that currently runs on linux, which not only means a massive amount of work just to keep up with changes in linux, but constraints on your own design.
And then there is hardware support. If you are a fledgling project, how do you get hardware vendors to write drivers for you?
I empathize but we need to have people take over these initiatives and refactor them into something easier the maintain. Not saying introduce a new language or anything but change how we fundamentally look at “The Kernel”. I think reducing scope and making it so hardware providers must maintain their drivers is a good start. If your toolchain doesn’t suffice, create a new tool.
If rust is so much better, create a new kernel in rust and force a paradigm shift. I think we can do better than bicker and fight over it and post email chains about it. Bring solutions. Tech debt is just OpEx to everyone else.