4 ms·
The problem is aging code sours like milk. I empathize but we need to have people take over these initiatives and refactor them into something easier the maint
by reactordev 2y ago
The problem is aging code sours like milk.
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.
- jfbfkdnxbdkdb 2y agoThere is redox os
- beeflet 2y agoIt's a cool idea but it's licensed MIT instead of GPL or something copyleft so I won't contribute to it. 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.
- deleted 2y ago[deleted]
- pabs3 2y agoThe Rust community does seem to be more focused on non-copyleft licenses, do you have any ideas why that is?
- beeflet 2y agonope, but I encounter it a lot. For example, the default cargo template or whatever just gives you a non-copyleft license https://github.com/cargo-generate/cargo-generate https://github.com/cargo-generate/cargo-generate . There are a lot of questionable defaults in this space, like the ecosystem encouraging people to use a centralized repository like crates.io which requires github (now owned by microsoft). 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++.
- trueismywork 2y agoThey are too young to have lived through SCO and Halloween documents.
- spongebobstoes 2y agoSpeaking for myself, I want my code to be usable by everyone, including corporations, for free, with no limits. I even like to drop the attribution clause that things like MIT have. Both copyleft and copyright (to a lesser extent) are in opposition to my beliefs and goals.
- account42 2y agoCopyleft licenses like the GPL don't place any limits or price on using the software, only on distribution - and the limits there are pretty reasonable and merely ensure the software stays usable for others with the same lack of limits in the future.
- cosmic_cheese 2y agoI’m not part of the Rust community, but I imagine it’s similar to Swift’s in that most of its members have day jobs as corporate devs. 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.
- numbsafari 2y ago> making it so hardware providers must maintain their drivers is a good start How do you propose that happens?
- beeflet 2y ago>Bring solutions. Tech debt is just OpEx to everyone else. 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.
- microtherion 2y agoAnd what happens if somebody starts modifying that C code? Even a one way translator like you describe could be a challenge, making it two way seems close to impossible.
- aqueueaqueue 2y agoThe output of a compiler produce unidiomatic code. And if the C gets edited you need to back port to Rust which is more work and may be impossible. Try what you said with even well align languages like TS and JS and it would be hard to work with.
- pas 2y agoThe problem is that the C guys don't want to define certain semantics. Currently "it works", but Rust wants invariants.
- thayne 2y ago> create a new kernel in rust and force a paradigm shift. 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?
- abenga 2y agoNo part of this explains why Linux should be changed. It just means the new project has a lot of work to do.