I'm concerned about the gradual move from GCC to LLVM. The lack of copyleft protections on LLVM means that it's much more dependent on corporate sponsorship, and means that there's a risk that major improvements to LLVM compilers will only become available as proprietary products. People underestimate the role of copyleft licenses in preserving long-running FOSS products like GCC, Linux, etc.
Can you give an example of a non-copyleft open source product where the major improvement is proprietary?
Supporting Linux kernel development in Rust
251–260 of 365 posts
Re: Supporting Linux kernel development in Rust
#252Earlier quoted context omitted.
But if they have IP considerations or trade secrets to protect, they wouldn't contribute them to any other open source project either. This way, they can at least upstream everything, which doesn't fall under these restrictions.
They don't upstream everything, while reducing their development costs, that is the point. Personally I don't care, but I bet many FOSS anti-GPL advocates will eventually care.
Re: Supporting Linux kernel development in Rust
#253Earlier quoted context omitted.
> One common strategy, used by Linux itself, is to maintain a high level of internal API churn coupled with genuinely good improvements in that churn Interesting angle that I had never thought of as deliberate. As someone who works on a (bespoke) integration/embedding of Chromium, I could say exactly the same thing about it too.
Meaning, internal things in chromium change so fast, so you'd slightly wish you could have your custom changes merged into upstream? (I.e into chromium) So that the ppl at Google would keep your code working? And you didn't need to spend time resolving git merge conflicts, and compilation errors? But you cannot, because some of those bespoke changes are "secret" and what you make money from? (And maybe some changes a…
Also, the fact that Chromium is a high profile security critical software with occasional emergency security updates for bugs exploited in the wild, doesn't help at all when you want to maintain your own fork.
Re: Supporting Linux kernel development in Rust
#254One of the challenges to building an entirely new kernel is the vast amount of hardware support in the form of drivers and the features the existing kernel exports to userland in the form of syscalls. Would it be possible for a hypothetical new kernel, presumably written in Rust, to run an existing kernel such as Linux in a VM, just to tap into its drivers and emulate its syscalls? As more drivers are ported to the b…
The point of this LPC session was how to incrementally introduce Rust in the existing Linux kernel, with all its existing drivers and syscalls and similar. A rewrite would indeed be a daunting and problematic proposition. There are kernels written in Rust, such as Redox, but those are separate projects, and that's not what this conference session or article are talking about. Standing reminder: the Rust project is no…
So reading your last paragraph makes me feel welcome as someone that says "Rust is great - but rewriting everything in Rust will not solve security". Thanks. <3
Re: Supporting Linux kernel development in Rust
#255I'm concerned about the gradual move from GCC to LLVM. The lack of copyleft protections on LLVM means that it's much more dependent on corporate sponsorship, and means that there's a risk that major improvements to LLVM compilers will only become available as proprietary products. People underestimate the role of copyleft licenses in preserving long-running FOSS products like GCC, Linux, etc.
Re: Supporting Linux kernel development in Rust
#256Earlier quoted context omitted.
What if those bigcorps don't merge some improvements for getting an edge over the competitors? And, what if every one of those bigcorps do the same? How would that impact the project in the future?
Already the case for Apple LLVM which has optimizations for Apple Silicon not upstreamed and never will be upstreamed.
Re: Supporting Linux kernel development in Rust
#257Earlier quoted context omitted.
Some of us are in the managed language world now, the problem is that C++ still has the best integration story with Java and .NET codebases, which Rust still needs to catch up to. So modern C++ will have to do for the few cases that require going out of them, e.g. runtime plugins for native agents, COM/UWP with access to OS APIs, IDE mixed language debugging, GUI components. Also there is the whole issue that GPGPU s…
You seem to be assuming that everyone uses Java or .NET and C++. That seems wrong to me.
I can give examples with other managed languages that are more at home with C++ infrastructure for the time being, like JavaScript, Swift, Julia.
Re: Supporting Linux kernel development in Rust
#258Earlier quoted context omitted.
Most of the thriving non-GPL OSS projects are supported and funded by large corporate sponsors--not by communities or foundations (e.g. React.js by Facebook, Blink by Chrome). Furthermore, many non-GPL OSS projects have eventually gone proprietary (e.g. MongoDB's switch from AGPL to SSPL).
The gpl projects are also corporately sponsored, just indirectly.
https://www.linuxfoundation.org/membership/members/
and that:
https://www.linuxfoundation.org/blog/2016/08/the-top-10-deve...
Re: Supporting Linux kernel development in Rust
#259Earlier quoted context omitted.
They don't upstream everything, while reducing their development costs, that is the point. Personally I don't care, but I bet many FOSS anti-GPL advocates will eventually care.
They don't upstream what they never would be up streamed. But they probably they upstream a lot which they wouldn't have, if they couldn't use the open source tool at all. Also, a lot of companies reduce their development costs by using open source software, gpl or other, without ever upstreaming. So "saving development cost" doesn't sound like an argument to me.
As mentioned I don't care, after university my main UNIX platforms were HP-UX, Aix and Solaris with their respective system compilers anyway.
Linux is already getting replacement candidates in IoT space via Zephyr, NuttX, mbed, RTOS, Azure RTOS, and who knows if Fuchsia will eventually get out of the lab, so be it.
Re: Supporting Linux kernel development in Rust
#260Earlier quoted context omitted.
I don't see how, personally. There are tons of thriving open source non-copyleft projects. And there are tons of GPL violators who go on business as usual. I think perhaps copyleft licenses are overattributed to the success of such projects.
Most of the thriving non-GPL OSS projects are supported and funded by large corporate sponsors--not by communities or foundations (e.g. React.js by Facebook, Blink by Chrome). Furthermore, many non-GPL OSS projects have eventually gone proprietary (e.g. MongoDB's switch from AGPL to SSPL).