Live data from Hacker News

Resigning as Asahi Linux project lead

marcan.st

251–260 of 1001 posts

Re: Resigning as Asahi Linux project lead

#251
post #140

This part of the post is being overlooked: Then 2024 happened. Last year was incredibly tumultuous for me due to personal reasons which I won’t go into detail about. Suffice it to say, I ended up traveling for most of the year, all the while having to handle various abusers and stalkers who harassed and attacked me and my family (and continue to do so). This is _not_ ok in any form, what the actual hell?

It seems like mostly personal problems, and if this is not going into detail, whoo I don't know what detail would be:

https://vt.social/@lina/112887550181123672

https://docs.google.com/document/d/1W2Vvwg0rwSVb5r4TQ_NmAF8S...

They pretty much straight up confirm the identity of Asahi Lina, so enough with the gaslighting that merely mentioning this (and having a totally reasonable discussion on contributor persona policies and sockpuppeting, which is what this is) is somehow unethical doxxing.

Re: Resigning as Asahi Linux project lead

#252

Earlier quoted context omitted.

Tons of dev workflows nowadays use docker which in practice means they require Linux.

Docker works fine on macOS today. But it was definitely bad before they fixed the host file system integration. And by bad, I mean really bad. At this point, it’s really about what trade-off you’re willing to make. Do you want a better graphical interface or better docker integration?

> Docker works fine on macOS today

Because it runs a Linux VM at a considerable overhead and serious issues if you want anything more detailed in networking than `-p 8080:8080`.

Re: Resigning as Asahi Linux project lead

#253
post #93

Marcan links to an email by Ted Tso'o ( https://lore.kernel.org/lkml/20250208204416.GL1130956@mit.ed... ) that is interesting to read. Although it starts on a polarising note ("thin blue line"), it does a good job of explaining the difficulties that Linux maintainers face and why they make the choices they do. It makes sense to be extremely adversarial about accepting code because they're on the hook for maintaining…

> Rust has a stability guarantee since 1.0 in 2015. Any backwards incompatibilities are explicitly opt-in through the edition system, or fixing a compiler bug.

The community is more than just the language and compiler vendor(s). It's everyone using the language, with particular emphasis on the developers of essential libraries and tools that those users use and on which they're reliant.

In this sense, based on every time I've attempted to use Rust (even after 1.0), Ts'o's remark ain't inaccurate from what I can tell. If I had a nickel for every Rust library I've seen that claims to only support Rust Nightly, I'd have... well, a lot of nickels. Same with Rust libraries not caring much about backward-compatibility; like yeah, I get it during pre-1.0, or while hardly anyone's using it, but at some point people are using it and you are signaling that your library's "released", and compatibility-breaking changes after that point make things painful for downstream users.

> Here's the maintainer on the gccrs project (a second Rust compiler implementation), posting on the official Rust Blog

Same deal here. The Rust developers might be welcoming of additional implementations, but the broader community might not be. I don't have enough information to assess whether the Rust community is "actively hostile" to a GCC-based Rust implementation, but from what I can tell there's little enthusiasm about it; the mainstream assumption seems to be that "Rust" and its LLVM-based reference compiler are one and the same. Maybe (hopefully) that'll change.

----

The bigger irony here, in any case, is that the Linux community has both of these very same problems:

- While the kernel itself has strict backwards-compatibility guarantees for applications, the libraries those applications use (including absolutely critical ones like glibc) very much do not. The ha-ha-only-serious observation in the Linux gaming community is that - thanks to Wine/Proton - the Windows API is the most stable ABI for Linux applications. Yeah, a lot of these issues are addressable with containerization, or by static compilation, but it's annoying that either are necessary for Linux-native applications to work on old and new distros alike.

- As marcan alludes to in the article, the Linux community is at least antipathetic (if not "actively hostile") to Linux-compatible kernels that are not Linux, be they forks of Linux (like Android) or independent projects that support running Linux applications (WSL 1/2, FreeBSD, some illumos distros, etc.). The expectation is that things be upstreamed into "the" Linux, and the norms around Linux development make out-of-tree modules less-than-practical. This is of course for good reason (namely: to encourage developers to contribute back to upstream Linux instead of working in silos), but it has its downsides - as marcan experienced firsthand.

Re: Resigning as Asahi Linux project lead

#254
post #225
post #199

Earlier quoted context omitted.

Your charitable reading is too charitable. One of the benefits of using types to help guarantee properties of programs (e.g. invariants) is that types do not get out of sync with the code, because they are part of the code, unlike documentation. The language implementation (e.g. the compiler) automatically checks that the types continue to match the rest of the code, in order to catch problems as early as possible.

I'm not a kernel developer, and never done anything of the sorts either. But, I think the argument is that if they have two versions of something (the C version + the Rust bindings), the logic/behavior/"semantics" of the C version would need to be encoded into the Rust types, and if a C-only developer changes the C version only, how are they supposed to proceed with updating the Rust bindings if they don't want to wr…

That was a large part of the disagreement.

Rust developers were saying it would be their job to do this. But then someone said Linus rejected something because it broke Rust. GKH backed the Rust developers and said that was an exception not a rule, but didn't know Linus' stance for sure.

Then Linus chimes in because of one of Hector's replies, but at the time of my reading did not clarify what his actual stance is here.

Re: Resigning as Asahi Linux project lead

#255
post #97

The Rust situation was handled badly. Two languages (one of which has panics and all sorts of version issues) in one kernel are clearly not viable. Linus should have put his foot down and mandated C instead of stringing people along. That of course was difficult in the corporate environment of 2014-2024. Perhaps he was forced to do it. In many areas, sanity has returned, so perhaps we can get clearer messaging again…

Plenty of people disagree with your rust take. Are you a Linux maintainer?

Re: Resigning as Asahi Linux project lead

#257

Earlier quoted context omitted.

> Rust has a stability guarantee since 1.0 in 2015. Any backwards incompatibilities are explicitly opt-in through the edition system, or fixing a compiler bug. Unfortunately OP has a valid point regarding Rust's lack of commitment to backwards compatibility. Rust has a number of things that can break you that are not considered breaking changes. For example, implementing a trait (like Drop) on a type is a breaking ch…

I'm curious now. What are the backwards compatibility guarantees for C?

As long as you compile with the version specified (e.g., `-std=c11`) I think backwards compatibility should be 100%. I've been able to compile codebases that are decades old with modern compilers with this.

Re: Resigning as Asahi Linux project lead

#258

Earlier quoted context omitted.

Well, if anyone broke the law or harmed him he needs to go to law enforcement or the FBI. Outside of that, just get used to be thrown abuse of all kinds. If you get tagged by a group like that the more you talk about them the more you give them ammo.

We don't know if he's gone to the cops, but more often than not the police will not be able to help you in these sorts of situations. The way that Kiwifarms target people is incredibly hard to stop and I don't think they particularly need ammo; the way to not "give them ammo" would be to stop standing up for trans rights, and the fact that he hasn't is commendable.

I replied to another commenter about this, but these sorts of things are basically part and parcel of being a public figure.

If you can't handle that, you need to sandbag. There's no other way around it. It is unlikely that Marcan will stop being the center of attention wherever he goes.

If he wants to stand up for what he believes to be right, he shouldn't have a problem with the consequences of dealing with people who disagree with him, sometimes virulently.

Trans issues are a very contentious issue right now and in my opinion the only way to win that type of situation is to not play. Doesn't mean I don't respect those people, but taking large public stances just put targets on your back

Re: Resigning as Asahi Linux project lead

#259

Earlier quoted context omitted.

> Rust has a stability guarantee since 1.0 in 2015. Any backwards incompatibilities are explicitly opt-in through the edition system, or fixing a compiler bug. Unfortunately OP has a valid point regarding Rust's lack of commitment to backwards compatibility. Rust has a number of things that can break you that are not considered breaking changes. For example, implementing a trait (like Drop) on a type is a breaking ch…

I'm curious now. What are the backwards compatibility guarantees for C?

The backwards compatibility guarantee for C is "C99 compilers can compile C99 code". If they can't, that's a compiler bug. Same for other C standards.

Since Rust doesn't have a standard, the guarantee is "whatever the current version of the compiler can compile". To check if they broke anything they compile everything on crates.io (called a crater run).

But if you check results of crater runs, almost every release some crates that compiled in the previous version stop compiling in the new version. But as long as the number of such breakages it not too large, they say "nothing is broken" and push the release.

Re: Resigning as Asahi Linux project lead

#260
post #225
post #199

Earlier quoted context omitted.

Your charitable reading is too charitable. One of the benefits of using types to help guarantee properties of programs (e.g. invariants) is that types do not get out of sync with the code, because they are part of the code, unlike documentation. The language implementation (e.g. the compiler) automatically checks that the types continue to match the rest of the code, in order to catch problems as early as possible.

I'm not a kernel developer, and never done anything of the sorts either. But, I think the argument is that if they have two versions of something (the C version + the Rust bindings), the logic/behavior/"semantics" of the C version would need to be encoded into the Rust types, and if a C-only developer changes the C version only, how are they supposed to proceed with updating the Rust bindings if they don't want to wr…

> how are they supposed to proceed with updating the Rust bindings if they don't want to write Rust?

If I've interpreted it correctly (and probably not, given the arguments), Linus won't accept merge requests if they break the Rust code, so the maintainer would need to reach out to the Rust for Linux (or someone else) to fix it if they didn't want to themselves.

And some lead maintainers don't want to have to do that, so said no Rust in their subsystem.

Post reply on HN