Resigning as Asahi Linux project lead
marcan.st
marcan.st
This sounds so rough. I can't imagine pouring your heart out into this labor of love and continue to have to face something like this. Back in the early days of Quora, when it used to be good, there used to be a be nice be respectful policy (they might still have it), I wonder if something like that would be helpful for open source community engagement.
Regardless, major props to Marcan for doing the great work that he did, our community is lucky to have people like him!
First of all, I wholeheartedly applaud Marcan for carrying the project this far. They, both as individuals and as a team proper, did great things. What I can say is a rest is well deserved at this point, because he really poured his soul into this and worn himself down.
On the other hand, I'll need to say something, however not in bad faith. He needs to stop fighting with the winds he can't control. Users gonna be users, and people gonna be people. Everyone won't be happy, never ever. Even you integrate from applications to silicon level, not everyone is happy what Apple has accomplished technically. Even though Linux is making the world go on, we have seen friction now and then (tipping my hat to another thing he just went through), so he need to improve his soft skills.
Make no mistake, I'm not making this comment from high above. I was extremely bad at it, and I was bullied online and offline for a decade, and it didn't help to be on the right side of the argument, either. So, I understand how it feels and how he's heartbroken and fuming right now, and rightly so. However, humans are not an exact science, and learning to work together with people with strong technical chops is a literal superpower.
I wish Hector a speedy recovery, a good rest and a bright future. I want to finish with the opening page of Joel Spolsky's "Joel on Software":
Technical problems are easy, people are hard.
Godspeed Hector. I'm waiting for your return.
The secret is to have a healthy system for taking in those requests, queueing them by priority, and saying, "you are 117 in the queue, you can make it faster by contributing or by explaining why its higher priority".
You can't let feature requests get to you, the moment you do your users become your opponent. None of those requests are entitled, the author has clearly already reached a point where they are antagonistic towards requests.
I say that also because I have been gotten quite a few responses from people that I should use asahi, while looking at what it supports it definitely would not make sense for me, and you cannot just present it to a macos alternative right now.
For some reason people feel that it is appropriate to throw barbs in their issue reports. Please to everyone out there, if you find an issue and want to report it (hurray open source!) please be kind with your words. There are real people on the other side of the issue.
Always remember, you catch more flies with honey than vinegar.
> “Asahi is useless to me until I can use monitors over USB-C” “The battery life sucks compared to macOS”
These are not even requests. These are objective statements he can either take note of for prioritisation or ignore. I can also say Asahi is useless to me until usb-c monitors support, but that's just my situation - there's no bad faith or request here. Previously that was the same for WiFi support.
I wish there was some good model for maintainers of bigger projects to deal with this on a personal level. The bigger the project, the more people there will be with unmet requirements and that's just life. It literally can't be solved.
Or: he shouldn't steal people's time with false advertising :shrug:
Also if he wants to create an operating system, then these aren't even requests, but bug reports. So the users ate his false advertising, spent time to try out his system, then spent some more time to file bug reports, and then he calls them "entitled users".
I'd expect the worst part for an Asahi project contributor to be the active sabotage some angry Linux kernel devs are trying to pull because they don't like Rust. Users being unreasonable is one thing, but your fellow maintainers are supposed to be allies at least.
I hope Marcan can find a new project to take on that doesn't involve all of this mess.
Actually if this distro is my primary / only one I would like to be able to check CPU, GPU, etc. temperature. It is important to know if cooling is adequate or requires cleaning / repair.
In any case Marcan would be way better off having thick skin. Users will always be assholes (well same is generally true about vendors).
"Heavily under development and not ready for prime time use" should have been first line in readme and only reply to such feature request.
So it sounds like they bit more than they could chew.
I think the best way to deal with this is to just confidently say what you are and are not ready to get done. The social dynamic will always be this way, so we may as well take whatever criticism is useful, leave the rest behind, and move on.
Selling ads? Using it as a gateway to a commercial product? Selling support? Have some genius business plan that allows you to make money in the future? Fine, give it away no strings attached but expecting that users will be grateful is a mistake developers keep repeating. The free users are just as entitled, even more entitled as they don’t have a price tag for your efforts and don’t have a document specifying what are your obligations so they can assume scope of entitlements anyway they wish.
Since you gave it for free, you can’t refund an unhappy customers to make it go away. If it looks like a product, You will be stuck with people who think they did their part by using your products and you failed them. Some may make it a full time job to take a revenge on this injustice.
I’m not even sure that these users are at fault, you actually took something in exchange(like fame, street cred etc) and you are not delivering your part.
> we brought the platform from nothing to one of the smoothest Linux experiences you can get on a laptop.
Despite the accomplishment this overselling irks me.
Wasn’t always like this, I think. Personally have seen the same with other projects and dealing with proprietary Apple APIs and their walled in garden is hard enough.
It’s called a Code of Conduct. It exists and is in use by many organisations, including several open-source projects.
> I get that some people might not have liked my Mastodon posts. Yes, I can be abrasive sometimes, and that is a fault I own up to. But this is simply not okay. I cannot work with people who form cliques behind the scenes and lie about their intentions. I cannot work with those who place blame on the messenger, instead of those who are truly toxic in the community.
The abrasiveness though is the reason people react that way. Not everyone is going to respond with "hey that was abrasive, that's not how we do things, here is a better way to phrase it". The majority will simply shut down or start forming cliques in the background. I can't completely blame them either. Here is Hector threatening to launch a shaming social media campaign on kernel devs:
> https://lore.kernel.org/rust-for-linux/208e1fc3-cfc3-4a26-98...
"If shaming on social media does not work, then tell me what does, because I'm out of ideas."
That's not ok. Even if he feels he is right and they are wrong. People will create cliques and talk behind your back if you act that way. People will look on Rust community after this and say "Remember that time when _they_ where threatening kernel devs with social media drama?". It's not right but that's the perception that will last.
Happened with actix, happened with serde, and now being threatened by kernel contributors. The perception seems at least somewhat based in reality.
1) Issue found by Shnatsel
2) Issue closed as harmless to users by fafhrd91
3) Issue proven harmful to users by Nemo157 and reopened by JohnTitor
4) Issue fixed and closed by fafhrd91
5) Issue proven unfixed and proposed new patch by Nemo157
6) New patch commented "this patch is boring" by fafhrd91
7) Issue is deleted
8) Fix is reversed by fafhrd91, issue still present
http://web.archive.org/web/20200116231317/https://github.com...
A maintainer that rejects a fix for an issue that was proven harmful to users on the basis that it was "boring" and then deletes the issue is a bad maintainer. Death threats and abuse were definitely not the right answer, but public criticism is not unreasonable in such a case. If it were just a hobby project and advertised as such then that would be one thing, but he plastered info about how it was used production by a bunch of big companies on the website. That is not how someone who calls their code "production-ready" acts.
(The actix drama was stupid IMO and is fair to criticize the community over tho)
This is just an incredibly odd thing to say. It's so obviously out of line that it seems like someone's joking around.
The Rust community (generally-speaking) just can't see why people have a visceral reaction against them, independent of its technical qualities. In all my years, I've not seen anything like it.
Then I read the thread you linked and thought, “Oh. That.”
To be clear nobody deserves to be harassed or threatened, but Hector’s messages make it clear he is astoundingly good at making himself into a victim of injustice. When his messages mentioned “cancer” I immediately thought that meant another kernel dev told someone to get cancer or die of cancer or something, which would be completely unacceptable. He was using the word metaphorically to describe the way Rust is slowly making its way into the kernel, like a cancer growing.
How anyone (read: Hector) could think this requires CoC action is baffling to me. Insane language policing.
This was my same thought. And then at the end of his rant, he writes:
> If you are interested in hiring me...
No one who values a drama-free work place would hire this person.
The symbol for Cancer is also a crab. The very word "cancer" itself comes from the Greek "καρκίνος" (karkínos), meaning "crab".
Rust literally is Cancer.
One group believes it is Rust (progressives), one group doesn't believe that and wants to continue with C (conservatives).
If they cannot find a way to live at peace with each other, I think the only solution is for the Rust folks to start building the kernel in Rust and not try to "convert" the existing kernel to Rust piece by piece.
Why they cannot live in peace seems to be: a way that C kernel folks would not need to deal with Rust code.
At the core, the story is not that different from introducing new languages to a project.
You are introducing a new tax on everyone to pay for the new goodies you like, and those who are going to be taxed and don't like the new goodies are resisting.
Then entertain his question and tell us what is? Bringing up people’s attention to the matter to finally somehow resolve the situation is his last resort, after spending years trying to upstream even trivial patches. You can eat your cake and have it too - you can’t say you want rust in the kernel and then sabotage any upstreaming efforts
When upstream won't work with you, the answer is to maintain a separate tree. Yes, it's a lot of work to maintain a separate tree. No, you won't get as much use if you're in a separate tree.
Also, the person rejecting the patch seems to have never claimed to want rust in the kernel.
In this particular case, Hector himself with the blog post hints at it, but a lot of damage has been done already: "I am working on personal issues currently, I'd like to step back for a while and will not be contributing. Thank you, all".
> Bringing up people’s attention to the matter to finally somehow resolve the situation
Not everything has a clear and fast resolution. I think Hector's team were hoping the resolution to be "Shut up everyone, we're doing Rust now, this is all merging in and that's that!". But it could have been "Shut up everyone, we're not doing Rust any longer". They would have been even more upset saying "this is a leadership failure, they're on the wrong side of history" and so on.
> you can’t say you want rust in the kernel and then sabotage any upstreaming efforts
Two wrongs don't make a right though. Call people out and ask them to explain their position, get others on your side. But threatening to drag their names all over Bluesky or X or Reddit or whatever latest thing is, is not productive, even more so it's anti-productive.
It makes sense to be extremely adversarial about accepting code because they're on the hook for maintaining it after that. They have maximum leverage at review time, and 0 leverage after. It also makes sense to relax that attitude for someone in the old boys' network because you know they'll help maintain it in the future. So far so good. A really good look into his perspective.
And then he can't help himself. After being so reasonable, he throws shade on Rust. Shade that is just unfortunately, just false?
- "an upstream language community which refuses to make any kind of backwards compatibility guarantees" -> 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.
- "which is actively hostile to a second Rust compiler implementation" - except that isn't true? Here's the maintainer on the gccrs project (a second Rust compiler implementation), posting on the official Rust Blog -> "The amount of help we have received from Rust folks is great, and we think gccrs can be an interesting project for a wide range of users." (https://blog.rust-lang.org/2024/11/07/gccrs-an-alternative-c...)
This is par for the course I guess, and what exhausts folks like marcan. I wouldn't want to work with someone like Ted Tso'o, who clearly has a penchant for flame wars and isn't interested in being truthful.
Many discussions online (and offline) suffer from a huge-group of people who just can't stop themselves from making their knee-jerk reactions public, and then not thinking about it more.
I remember the "Filesystem in Rust" video (https://www.youtube.com/watch?v=WiPp9YEBV0Q&t=1529s) where there are people who misunderstand what the "plan" is, and argue against being forced to use Rust in the Kernel, while the speaker is literally standing in front of them and saying "no one will be forced to use Rust in the Kernel".
You can literally shove facts in someone's face, and they won't admit to being wrong or misunderstand, and instead continue to argue against some points whose premise isn't even true.
I personally don't know how to deal with this either, and tend to just leave/stop responding when it becomes clear people aren't looking to collaborate/learn together, but instead just wanna prove their point somehow and that's the most important part for them.
In contrast to the parent: yes, the presenter says „you don’t have to use rust, we are not forcing you“ but he fails to address the concern that a change they introduce would error downstream and someone else had to clean up afterwards.
Is this true, though? One reason for this altercation seems to be the basic circumstance that in Linux kernel development, if there is a dependency between two pieces of code A and B, the responsibility to keep B consistent with changes to A lies, in order, with anyone proposing patches to A, the subsystem maintainer for A, and finally the subsystem maintainer for B. If B is Rust code, such as a binding, then that's potentially up to 3 people who don't want to use Rust being forced to use Rust.
This is like probably 80% of people and fundamentally why the world is a hellscape instead of a utopia.
The audience member points out that they shouldn't encode the semantics into the Rust type system because that would mean that refactoring the C code breaks Rust, which is not an acceptable situation. The speaker responds to this by saying essentially "tell me what the semantics are and I'll encode them in the Rust type system." That's maximally missing the point.
The proposal would cause large classes of changes to C to break the build, which would dramatically slow down kernel development, even if a small handful of Rust volunteers agree to eventually come in and fix the build.
> You can literally shove facts in someone's face, and they won't admit to being wrong or misunderstand, and instead continue to argue against some points whose premise isn't even true.
I have to say that I used to be excited about Rust, but the Rust community seems very toxic to me. I see a lot of anger, aggression, vindictiveness, public drama, etc. On HN you not infrequently see down voting to indicate disagreement. These clashes with the Linux maintainers look really bad for Rust to me. So bad that I'm pretty convinced Rust as a language is over if they're no longer banging on the technical merits and are instead banging on the table.
I'm sure there are great things about the community. But I would encourage the community to have higher standards of behavior if they want to be taken seriously. The Linux team seem like they're trying to look beyond the childishness because they are optimistic about the technical merits, but they must be so tired of the drama.
I think that's part of the gag.
"These people are members of a community who care about where they live... So what I hear is people caring very loudly at me." -- Leslie Knope
It's called a strawman fallacy, and like all fallacies, it's used because the user is either intellectually lazy and can't be bothered to come up with a proper argument, or there isn't a proper argument and the person they're using it against is right.
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 change[1] that Rust does not consider to be breaking.
[1]: https://users.rust-lang.org/t/til-removing-an-explicit-drop-...
[1]: https://github.com/rust-lang/rust/issues/127343#issuecomment...
Linux breaks internal compatibility far more often than people add or remove Drop implementations from types. There is no stability guarantee for anything other than user-mode ABI.
[0] AFAIK there is code that actually does this, but it's stuff like gc_arena using this in its derive macro to forbid you from putting Drop directly on garbage-collectable types.
This is equivalent of a C user saying "I'm disappointed that replacing a function with a macro is a breaking change".
Rust had actual changes that broke people's code. For example, any ambiguity in type inference is deliberately an error, because Rust doesn't want to silently change meaning of users' code. At the same time, Rust doesn't promise it won't ever create a type inference ambiguity, because it would make any changes to traits in the standard library almost impossible. It's a problem that happens rarely in practice, can be reliably detected, and is easy to fix when it happens, so Rust chose to exclude it from the stability promise. They've usually handled it well, except recently miscalculated "only one package needed to change code, and they've already released a fix", but forgot to give users enough time to update the package first.
Historically the Rust community has been extremely hostile towards gccrs. Many have claimed that the work would be detrimental to Rust as a language since it would split the language in two (despite gccrs constantly claiming they're not trying to do that). I'm not sure if it was an opinion shared by the core team, but if you just browse Reddit and Twitter you would immediately see a bunch of people being outright hostile towards gccrs. I was very happy to see that blog post where the Rust leadership stepped up to endorse it properly.
Just one reference: In one of the monthly updates that got posted on Reddit (https://old.reddit.com/r/rust/comments/1g1343h/an_update_on_...) a moderator had to write this:
> Hi folks, because threads on gccrs have gotten detailed in the past, a reminder to please adhere to the subreddit rules by keeping criticism constructive and keeping things in perspective.
Reddit... is reddit.
Here's guessing they meant "derailed".
This is a very persistent myth, but it’s wrong. Adding any public method to any impl can break BC (because its name might conflict with a user-defined method in a trait), and the Rust project adds methods to standard library impls all the time.
Which is hilarious since Linux itself was actively hostile to the idea of a second C compiler supporting it. Just getting Linux to support Clang instead of only GCC was a monumental task that almost certainly only happened because Android forced it to happen.
The most charitable interpretation I can imagine is that the Rust-in-Linux project needs specific nightly features, and those don't get stability guarantees. But I think this is still pretty unfair to complain about; my impression is there's a lot of appetite on the Rust side to get those stabilized.
I also think...
> we know, through very bitter experience, that 95+% of the time, once the code is accepted, the engineers which contribute the code will disappear, never to be seen again.
...that while there's truth in this, there's also a large extent to which it's a self-fulfilling prophecy. Someone might want to stick it out to get their work into mainstream once, but then take a look at the process once it's in the mirror and say never again.
...and:
> Instead of complaining about maintainers for who are unreasonably caring about these things, when they are desparately under-resourced to do as good of a job as they industry demands, how about meeting us half-way and helping us with these sort of long-term code health issues?
It's really hard for me to not see "let's actually write down the contract for these functions, ideally via the type system" as doing exactly that. Which seems to me to be the central idea Ted Ts'o was ranting about in that infamous video.
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.
Marcan also linked to this resignation of a Rust Maintainer:
https://lore.kernel.org/lkml/20240828211117.9422-1-wedsonaf@...
which references this fantastic exchange:
https://www.youtube.com/watch?v=WiPp9YEBV0Q&t=1529s
I am not a C person, or a kernel level person, I just watch this from the sideline to learn something every now and then (and for the drama). But this exchange is really stunning to me. It seems so blatantly obvious to me that systematically documenting (in code!) and automatically checking semantic information that is required to correctly use an API is a massive win. But I have encountered this type of resistance (by very smart developers building large systems) in my own much smaller and more trivial context. To some degree, the approach seems to be: "If I never write down what I mean precisely, I won't have to explain why I changed things." A more charitable reading of the resistance is: Adding a new place where the semantics are written down (code, documentation and now type system) gives one more way in which they can be out of sync or subtly inconsistent or overly restrictive.
But yeah, my intuitive reaction to the snippet above is just incredulity at the extreme resistance to precisely encoding your assumptions.
I don't follow. The one with zero leverage is the contributor, no? They have to beg and plead with the maintainers to get anything done. Whereas the maintainers can yank code out at any time, at least before when the code makes it into an official stable release. (Which they can control - if they're not sure, they can disable the code to delay the release as long as they want.)
Can I say that I was immediately put off by the author conflating the "thin blue line" quote from with a political orientation?
The full quote (from the article) being: "Later in that thread, another major maintainer unironically stated “We are the ‘thin blue line’”, and nobody cared, which just further confirmed to me that I don’t want to have anything to do with them."
The way I read it, "thin blue line" is being used as a figure of speech. I get what they are referring to and I don't see an endorsement. It doesn't necessarily means a right-wing affiliation or sympathy.
To me it seems like the author is projecting a right-wing affiliation and a political connotation where there is none (at least not officially, as far as I can see on https://thunk.org/tytso/) in order to discredit Theodore Ts'o. Which is a low point, because attacking Ts'o on a personal level means Martin is out of ammunitions to back their arguments.
But then again, Hector Martin is the same person that though that brigading and shaming on social media is an acceptable approach to collaboration in the open source space:
"If shaming on social media does not work, then tell me what does, because I'm out of ideas."
from https://lkml.org/lkml/2025/2/6/404To me, from outside, Hector Martin looks like a technically talented but otherwise toxic person that is trying to use public shaming on social media and ranting on his blog as tools and tactics to impose their will and force the otherwise democratic process of development the linux kernel. And the on top of everything it's behaving like a victim.
It's a good thing they are resigning, in my opinion.
It can be hard when solving your own acute issue - doing so doesn't mean it is the only fix or the one the project should accept.
Even if it's beneath someone's talent to have to do it, it is an exercise of community building.
I am acquainted with Ted via the open source community, we have each other on multiple social media networks, and I think he's a really great person. That said, I also recognize when he gets into flame wars with other people in the open source social circles, and sometimes those other people are also friends or acquaintances.
I can think of many times Ted was overly hyperbolic, but he was ultimately correct. Here is the part of the Linux project I don't like sometimes, which was recently described well in this recent thread. Being correct, or at least being subjectively correct by having extremely persuasive arguments, yet being toxic... is still toxic and unacceptable. There are a bazillion geniuses out there, and being smart is not good enough anymore in the open source world, one has to overcome those toxic "on the spectrum" tendencies or whatever, and be polite while making reasonable points. This policy extends to conduct as well as words written in email/chat threads. Ted is one of those, along side Linus himself, who has in the past indulged into a bit of shady conduct or remarks, but their arguments are usually compelling.
I personally think of these threads in a way related to calculus of infinitesimals, using the "Standard Parts" function to zero away hyperbolic remarks the same way the math function zeros away infinitesimals from real numbers, sorta leaving the real remarks. This is a problem, because it's people like me, arguably the reasonable people, who through our silence enable these kind of behaviours.
I personally think Ted is more right than wrong, most of the time. We do disagree sometimes though, for example Ted hates the new MiB/KiB system of base-2 units, and for whatever reasons like the previous more ambiguous system of confusingly mixed base-10/base-2 units of MB/Mb/mb/KB/Kb/kb... and I totally got his arguments that a new standard makes something confusing already even more confusing, or something like that. Meh...
> I miss having free time where I can relax and not worry about the features we haven’t shipped yet. I miss making music. I miss attending jam sessions. I miss going out for dinner with my friends and family and not having to worry about how much we haven’t upstreamed. I miss being able to sit down and play a game or watch a movie without feeling guilty.
Honestly I think working like 10+ hour days and not doing other things that are less stressful and enjoyable (people being their biggest stressor in this regard).
They likely have PTSD at this point.
Whatever you need Marcan. I hope you find it. I'm rooting for your health and happiness.
It seems like there's a balancing act between the benefits of writing drivers in Rust (easier, more maintainable), and getting those drivers mainlined (apparently soul-destroying, morale killing), I wonder if the Asahi team is considering simply abandoning linux in favor of something more rust friendly (redox being an obvious candidate, but maybe one of the BSDs?). Given the narrow set of hardware they're aiming to support and that they're writing many of their own drivers _anyway_ (and so are not relying as much on the large # of existing linux drivers), that approach might be more viable. I'd be surprised if the Asahi GPU work wasn't the largest problem by far that their team faces, and as such it would make sense to choose a kernel that lowers the difficulty on that aspect to the greatest degree possible.
They are relying heavily on mesa. I'd also assume that GNU stuff is also pretty essential.
Perhaps Android would be possible? It has a HAL that might be easier to work with than the raw linux kernel. The android devs have put in a lot of effort to make downstream driver development not painful. With android, they'd also still have GNU stuff available.
The big issue is non-linux will mean every single open source tool may have a compatibility problem. You also end up dumping a huge amount of capabilities (like running docker containers).
The entire point of Asahi is to run Linux on macOS (edit: on Mac hardware, not macOS). If they did what you’re suggesting it would be a completely different project.
FreeBSD may be open to it? It's been awhile, and I haven't kept up to date on it for a year or two. But once again, I think you'd have to start from scratch. So everything for R4L that was built before Asahi Linux needs to be done on the FreeBSD side.
NetBSD is probably a no go. NetBSD supports architectures that Rust (due to LLVM) can't support. Which means it is most likely a no go for NetBSD, NetBSD's schtick is that it can run on anything and they will fully do everything in their power to make sure NetBSD can run on any hardware and be maintained. Hardware portability matters for them.
The attitude I've seen from OpenBSD devs is, the answer is to 'git gud' at C and, not replace C code with Rust. Or in other words, they have no interest in Rust in the OpenBSD kernel.
I don't really know where DragonFlyBSD falls in this. Its the BSD I know the least about.
Wishing I had donated before, I'll sign up for opencollective now. I can only imagine the anticlimactic nature of releasing the emulation stack for gaming [0] and not seeing any increase in interest financially. One wonders what funding might have made it more worthwhile than simply passing the hat.
[0] https://asahilinux.org/2024/10/aaa-gaming-on-asahi-linux/
This is still my position on Asahi Linux: that it is not something that I would use as a daily driver nor recommend to others for use as a daily driver.
> “When is Thunderbolt coming?” “Asahi is useless to me until I can use monitors over USB-C” “The battery life sucks compared to macOS” (nobody ever complained when compared to x86 laptops…) “I can’t even check my CPU temperature” (yes, I seriously got that one).
These would be dealbreakers for me, too. To be clear, I am not saying that it is anyone's job to fix these issues for me. And this isn't meant as an attack on the Asahi Linux team - I think it's incredible what they have been able to do.
But those comments, without any larger context to demonstrate harassment or anything like that, just don't seem too bad to me. The language could be softened a bit, sure, but the criticisms themselves resonate with me and would be valid reasons to not use Asahi Linux IMO.
what's out of line is incessant reporting (via issues, emails, whatever) of what you consider a dealbreaker. that's my impression of what he's complaining about. let the people work. no one likes to respond "not yet" a billion times.
Open source can be brutal, especially with larger and well established projects.
I contribute to several projects as a well recognized person in my field, not at their scale, but everything they say rings true.
Established developers often push back extremely hard on anything new, until and unless it aligns with their current goals. I’ve had maintainers shut me down without hearing out the merits, only to come back a year later when whatever company they work for suddenly sees it as important.
Project leads who will shift goalposts to avoid confronting the clear hostility their deputies show.
I’ve had OSS users call me personal number, or harass me over email for not having their pet interest prioritized over everything else. Often that’s because I’m blocked by the maintainers.
Open source can be extremely brutal and it’s a battle of stamina and politics as much as it’s one of technical merit.
And while I appreciate Marcan's work a lot he is also partically responsible because he himself often jumped on bandwagon attacking other people exactly the same way.
I think anyone working in serious open source projects just need to learn to ignore those users. I definitely would have the attitude of "I'm perfectly fine if no one uses my product" and have a lot of fun banning entitled users left and right.
Talk is cheap, send patches.
https://x.com/FFmpeg/status/1762805900035686805
I see a lot of FOSS maintainers continue to engage and defend themselves against people who have demonstrated themselves as unwilling to contribute in any way, yet expecting that free work be done for them. I wish more open source devs will keep in mind that FOSS work is a gift they're sending out into the world, and it's a common good that anyone can contribute to. That is not to say ignore all criticism or user requests, just that you hold absolutely no responsibility to placate emotionally draining people - the project is just as much their responsibility as yours.
I don't agree with Linus all the time (mostly because I don't have the technical knowledge to agree with), but I 100% agree to his attitude. I hope other large FOSS project maintainers have the same mindset.
But again, maybe they can hire someone like me, whose sole job is to block the very worst entitled users.
It’s why things like CentOS being abandoned, terraform licensing, et. al. never bothered me. I’m not paying them, so :shrug:.
That said, I detect a lot of one sided thinking in his post. He took on an incredibly difficult challenge, faced huge opposition, made incredible technical accomplishments and he feels entitled to a standing ovation. When what he receives is criticism, entitlement and obstructionism he takes it personally. If he did all of this work hoping to get accolades, fame, clout, influence then he did it for the wrong reason. There is a mismatch between his expectations and the reality of the world.
In the best of worlds, we do the right thing because it is the right thing, not because we hope for a pat on the back once it is done. In dharmic religions (e.g. Buddhism), one of the principle mental states one is to aim for is detachment from the outcomes of our actions. Suffering is attachment and Martin is clearly suffering. The other thing in Buddhism is recognizing the suffering in others, and I see a distinct lack of that recognition in Martin's post here. He acknowledges his own abrasiveness but not once does he show compassion for the maintainers who have suffered everything he has suffered, perhaps even from actions Martin himself has done.
Martin has several outcomes he wants, mostly his changes (including the inclusion of Rust) being welcomed in the Linux kernel. He is attached to those outcomes and therefore takes it personally when those outcomes are not achieved. Taking a step away from this attachment is a very good step. IMO, his desire to push for these outcomes has been a significant contribution to the toxicity.
You add these personalities together, where everybody believes they are right an everybody else is wrong then it's a recipe for disaster.
People have to learn to adapt to change, or they get burnt out continually hitting the brick wall.
The linked "thin blue line" message[1] also says this:
> One of the things which gets very frustrating from the maintainer's perspective is development teams that are only interested in their pet feature, and we know, through very bitter experience, that 95+% of the time, once the code is accepted, the engineers which contribute the code will disappear, never to be seen again. As a result, a very common dynamic is that maintainers will exercise the one and only power which they have --- which is to refuse to accept code until it is pretty much perfect --- since once we accept the code, we instantly lose all leverge, and the contributors will be disappear, and we will be left with the responsibility of cleanig up the mess. (And once there are users, we can't even rip out the code, since that would be a user-visible regression.)
Which seems very reasonable. Maintainers shouldn't be expected to support a feature indefinitely just because a 3rd party is interested in upstreaming it. In the case of Rust for Linux and the Asahi project specifically, I imagine this would entail a much larger effort than any other contribution. So just based on this alone, the bar for entry for Asahi-related features should be much higher.
Perhaps this is ultimately a failure of leadership as TFA claims, but it would be foolish to blame the Linux maintainers or its development process, and take sides either way. Maybe what Asahi is trying to accomplish just isn't a good fit for mainline Linux, and they would be better served by maintaining a hard fork, or developing their own kernel.
[1]: https://lore.kernel.org/lkml/20250208204416.GL1130956@mit.ed...
One would hope it was just a particularly bad gaffe, but it could also be an insight into how he actually views himself as a maintainer which is not great.
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?
When I started getting harassed in 2022 over an ill advised post on a site, the only thing that stopped it was to sandbag everything and rethink how I interacted on the internet.
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.
so anyway, i dug into the other party involved in this, i.e. the accused, and it looks like there is more to this story than what Lina lets on in her Google Doc linked here, perhaps there is another side. i am not going to go into details here, but if you are interested, it's not difficult to find her on twitter or bluesky. (and if you do choose to do so, please don't bother her, i don't want to cause her any harm by mentioning her here).
Shouldn't we be above those kind of childish telenovela shit?
Asahi Linux lead developer Hector Martin resigns from Linux kernel
https://news.ycombinator.com/item?id=42972062
New Apple Silicon Co-Maintainer Steps Up for the Linux Kernel
However, he's got no social skills nor does he have what it takes to man up and understand he won't get his way.
Additionally I doubt that he really is dealing with stalkers to the degree that he is implying; real people don't talk about their stalkers so much. When I was stalked and harassed I kept the details light and didn't provide much in the way of actual community details because I went to the FBI and local police to deal with it. And yes a few people not only got no contact orders, but lost jobs, families, and more over their exposure.
Marcan is extremely talented, but talent doesn't equal "I get to get my way." All the time. This idea that conflicts need to be resolved quickly and in the favor of a golden boy is a millennial/zoomer issue.
You actually provided more details here than he did, so I guess that's not true.
>> 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).
If anything, I am more doubtful you had stalkers since you are also in this thread saying this[1]. What an unsympathetic reply. You certainly don't come off like you're aware of the stress and fear that can bring if your answer to other people being stalked is "rethink your life choices."
> Sounds to me like you just need to take a break from the internet friend. If you're that high profile that you're getting hit over and over, maybe you need to rethink your life choices. If it bothers you that much especially.
Undiagnosed burnout possibly also played a role here.
This is a strawman with no support behind it in the actual blog post. Marcan's issue wasn't that he wasn't "getting his way", his issue (from his viewpoint) was with Linus and co. claiming to support Rust on Linux while doing nothing to aid in adoption and in the case of some maintainers, actively sabotaging its implementation.
If you're going to do something, then do something. Don't say you're going to do something, then do nothing while your underlings actually do the opposite.
They want to upstream drivers for a device that the creator of clearly has no interest in allowing others to use outside of their walled garden. The knowledge around it is from a massive , albeit impressive, RE effort.
Who is going to support it? Where is the demand for it? It would be different if Apple were to provide patches and drivers for their own hardware, at least then you know there is a vested interest in supporting the hardware from the people who know it better than anyone else and have the means to continue supporting it.
I applaud Hector and everyone else that contributes to Asahi, its genuinely a cool project and the progress they have made is insanely impressive given the lack of any official documentation about the hardware they are working on, but its one of these things that will remain in the realm of a cool curiosity much like running Linux on a games console.
When the response to such a small contribution is just "No rust code in kernel/dma, please" with a complete shutdown of any attempt to discuss alternatives, it's kinda pointless. Even though Rust is supposed to be an allowed language in the kernel now, with blessing from Linus himself, there's apparently just submaintainers of critical, highly shared infrasture that outright refuse it.
So this has nothing to do with "who will own the Apple drivers?!" but just the rest of the kernel going "your integration layers are an affront to our Holy C, begone religious heretics!"
This may be controversial but you also don’t have a right to merge in code to the kernel. If the maintainers don’t want rust code then you should write your drivers in C. And if you don’t like that you can maintain your own kernel tree in rust and take on the maintenance burden.
This doesn’t seem accurate.
> In macOS 12.1, Apple has added the ability to directly boot a raw image directly instead of a Mach-O, even though Apple has absolutely no use for this functionality. According to Hector Martin (Asahi Linux developer) making things easier for Linux developers is the only known reason Apple would have added this.
https://linustechtips.com/topic/1396740-apple-adds-feature-i...
There was at least one person who said[0]:
"I'd absolutely love to have one, if it just ran Linux.. [...] I've been waiting for an ARM laptop that can run Linux for a long time. The new Air would be almost perfect, except for the OS."
Seems like the same person has even used Asahi to make a Linux kernel release[1][2].
But Linux presumably doesn't have the resources to go chasing hardware platform support based on the whims of a singular Linux kernel developer/maintainer/creator.
----
[0] https://www.realworldtech.com/forum/?threadid=196533&curpost...
[1] https://lore.kernel.org/lkml/CAHk-=wgrz5BBk=rCz7W28Fj_o02s0X...
[2] via: https://arstechnica.com/gadgets/2022/08/linus-torvalds-uses-...
But Marcan clearly has true hacker spirit, I'd wager we'll see him again in the future with an equally cool project. It's often best if the visionaries just spend their efforts to get the ball rolling and then let the project evolve on it's own as they move onto their next challenge.
There's an awful lot of money and power associated with operating systems and programming languages (obviously), and the resulting "realpolitik" of situations like these seem to get swallowed up in these discussions.
It makes sense for technical people to think that the technical debate is what essentially matters, but it usually never actually is.
I've found the way Linux has approached Rust in the last couple of years to be a tad confusing. Always cutting a hard line, suddenly Torvalds' opinion is quite wishy washy. Oh, we'll try it, who knows, what's the worst that can happen, type thing? What induced this change, one wonders.
[0] Well-written blog posts on the subject are very welcome, please share if you know one!
Maybe I'm don't know the situation enough, but I think he's not deciding because he has no idea. The "wrong" option may create far more consequences than the "right" one (so he can't e.g. flip a coin) but he has no idea which is "right".
Torvalds has spent so long working with C, even if he went out of his way to learn Rust, he'd never have as much experience to get an unbiased view of both. Perhaps he's hoping people who are younger and have more equal experience, but who are still smart and experienced, will shift the project towards the correct decision. Unfortunately that's not happening, because as a solid BDFL, he's the only one who can make a shift of that size. But either shift could be a huge stain on Linux's history, and he has no idea which, so he's stuck in a horrible conundrum.
If that's the case, keeping in mind that Linux is Torvalds's life's work, even if doing nothing is itself a bad choice, I don't blame him.
Regardless, since Torvalds can't decide, I think the community has to come together and 1) agree on a consensus mechanism then reach a consensus (e.g. vote on it), or 2) come up with a magic third option which Torvalds can accept*.
e.g. "integrate Rust into the kernel, but ensure that all future Rust compatibility issues are handled by Rust developers, even if they are caused by C code changes, through the commitment of a team of general-purpose Rust developers large enough relative to the number of C developers". I don't know if one can really ensure there are enough Rust developers to not block the C developers, but Rust is very popular and maybe growing faster than C, so maybe it's possible.
By not answering this questions and saying he doesn't want to have anything to do with the arguments, Linus simply decided that he doesn't want to solve the problem that only him can solve. The result is clear: R4L will fail if Linus decides that any maintainer can stop the "cancer" to spread and block Rust changes.
R4L implies that Rust will be present in the kernel and will need to be maintained. If Linus is ok with maintainers that have a deep/fundamental problem maintaining/coordinating the maintenance of Rust code, R4L will never happen.
except when he suddenly wasn't
he lost my respect the moment he went there
When asked if he feared competition for Linux his answer was that few liked writing device drivers and as long as no one "young and hungry" came along that could write device drivers and liked it he'd be safe.
There you have him, Hector Martin, young[2] and hungry and loves writing drivers. No surprise he clashes with the old guard.
[1] I don't remember the date but it was still on analog TV, so definitely more than 20 years.
[2] At least a different generation from Linus and could easily be his son. Young enough for generational conflict at any rate.
First, maybe Linux just is bound to always be a C only project. Linus Torvalds infamously dislikes C++, its sorta odd he didn't shut down Rust for Linux in the first place. Redox is on its way...
Second, there are multiple types of compensation. I think the author was probably looking to be compensated in validation from others. Maybe if Linus Torvalds, replied to his email the author would be more inclined to continue.
However, I can't be mad at someone for deciding how they want to spend their time. You only have so many hours in the day.
Would be cool if Qualcomm hired Marcan and worked with an OEM to roll out a series of Arm Linux laptops. That's what we ultimately want.
Marcan had a whole rant[0] in the thread that started all of this about kernel people being payed by corporations instead of being freelance like him. I'm not sure he wants to work for a corporation.
[0] https://lore.kernel.org/lkml/c5a49bcb-45cf-4295-80e0-c4b0708...
I was about to write a question to ask why, if these downstreams are forked, that it is such a big deal to be gatekeeping the upstream and I think I got my answer from this:
"In fact, the Linux kernel development model is (perhaps paradoxically) designed to encourage upstreaming and punish downstream forks. While it is possible to just not care about upstream and maintain an outright hard fork, this is not a viable long-term solution (that’s how you get vendor Android kernel trees that die off in 2 years). The Asahi Linux downstream tree is continuously rebased on top of the latest upstream kernel, and that means that every extra patch we carry downstream increases our maintenance workload, sometimes significantly. "
Is it wrong for Linus to take the side of the kernel and not of the various distros? Serious question. I don't completely understand all of the background here.
"But it goes deeper than that: Kernel/Mesa policy states that upstream Mesa support for a GPU driver cannot be merged and enabled until the kernel side is ready for merge. This means that we also have to ship a Mesa fork to users. While our GPU driver is 99% upstreamed into Mesa, it is intentionally hard-disabled and we are not allowed to submit a change that would enable it until the kernel side lands. This, in practice, means that users cannot have GPU acceleration work together with container technologies (such as Docker/Podman, but also including things like Waydroid), since standard container images will ship upstream Mesa builds, which would not be compatible. We have a partial workaround for Flatpak, but all other container systems are out of luck. Due to all this and more, the difficulty of upstreaming to the Linux kernel is hurting our downstream users today."
I think we are dealing with a maintenance problem of downstream forks and trying to make their lives easier by convincing the kernel maintainers to accept the changes upstream.
Does Linux have a standards committee or some sort of design committee? I thought they had something to decide what goes in and what doesn't. If it doesn't then is it necessarily gatekeeping then? It seems like someone has to make the hard technical choices whether something becomes part of Linux or not and that is what Linus is doing.
I am trying to understand the real issue here. It seems like the difficulty in upstreaming changes to help the downstream folks is the issue not necessarily that the downstream folks are blocked.
Martin's position rests on his claim that the big maintenance burden he would be forced to bear is unfair. I mean, he is the one who chose Rust. No one forced that on him. It is kind of hard for me to see his claim that the maintenance burden of his choice is somehow the responsibility of the upstream maintainers who are all C developers, no matter how small he insists such maintenance would be. My own opinion is that he made his bed, he needs to sleep in it. Or wait for the tides to change in his favor over Rust inclusion in the kernel. All of this crying foul just doesn't sit well with me.
Linus is pro-R4L. He wants to see Rust drivers in the kernel upstream, and has expressed frustration that it has been such a slow process, and that he doesn't understand why some maintainers turn it into a religious issue.
The problem is that he hasn't done much in the way of actually standing up against arbitrary stonewalling by those maintainers. This ensures that everyone gets pissed off and creates a giant mess of arguments. Rust people get pissed off because they were told their contributions were welcome and feel like their time investment is being wasted on bullshit, and C maintainers because the lack of a clear policy leads to ruminating and imaginations running wild.
That person is someone called `Sima` and their posts on Mastodon are pure gas lighting. These are the worst abusers.
The fact remains: Rust doesn’t solve all of C’s problems. It trades them off for a whole lot of new problems, many of which are challenging to address in a kernel development setting (and much less of a problem for userspace software).
This makes the “C is obsolete” position even harder to defend and ignoring the concerns of long-term kernel maintainers is not going to get anywhere! I think these folks ought to learn the lesson of Chesterton’s Fence [1] before continuing on their journey to promote Rust, which does a lot of great things!
[1] https://en.wikipedia.org/wiki/G._K._Chesterton#Chesterton's_...
It's hard enough in physical spaces to remove abusers (usually the abused just stop showing up), I can't imagine there's an answer for preventing this kind of behavior in online spaces
If you want your code merged in the kernel, you have to think about things from Linus' perspective. You cannot in any circumstances try to shame someone into adopting an enormous and unsustainable workload.
That's an invitation to self-reflection.
We all should consider that, in every discussion.
The opposite is to think that everyone who disagrees is by definition wrong, which can never be productive.
>And, of course, “When is M3/M4 support coming?”
This is awful framing. It isn't entitled to ask when something is happenint or to say what makes something unsuitable for you. Marcan seems to take every single social media comment about Asahi Linux as a direct personal attack. No wonder he is burnt out, anyone with such a habit would be...
The odds were set against the Asahi Linux project from the beginning.
Apple makes great hardware (I have an M1 laptop I use away from home), but if I'm intending to run Linux as my primary OS, I'm buying from a company that is more open to it.
The financial situation sucks. I just threw a small donation their way but funding a project of this scale just from end users is rarely a viable long-term solution...feel like they need to find some high level corporate sponsors.
My best to Hector, what he managed to pull off with the other Asahi developers is remarkable.
A lot of what I’m reading seems to make me feel that drama was… not avoided by this person, putting it charitably.
And I'm someone who I believe still sponsors them! Asahi Linux is an awesome, and dare I say necessary, project.
There is value in learning how to relinquish a constant "defensive posture" mentally. (I have struggled with, and am still working through this, personally, btw.) Heading a project like this surely challenges everyone's stoicism, though.
While it's clear that marcan faced into headwinds, they're also definitely not somebody that I want to be around me in any kind of leadership position.
So on that, is there any guides for FOSS maintainers out there about how to deal with the emotional toll of FOSS, with a focus on self-care, how to say "No", generally just how to deal with the people/human part of FOSS, without focusing on the technical details?
We have a ton of guides from companies and individuals how to make the technical, infrastructure, product, software parts work, but I don't remember ever seeing a guide how to deal with emotions one might feel when doing this sort of work.
I think I'm lucky that it's relatively easy for me to tell people to fuck off when I find them not contributing or being toxic, but judging by the amount of people who feel a real emotional toll, border-lining to the feelings of burnout while working on their dream projects, this doesn't seem to come as easily to everyone, so having a guide/manual about this would be amazing.
https://news.ycombinator.com/item?id=35234480
https://news.ycombinator.com/item?id=32947939
https://news.ycombinator.com/item?id=33792670
https://news.ycombinator.com/item?id=35251905
https://news.ycombinator.com/item?id=36107998
https://news.ycombinator.com/item?id=35238601
https://news.ycombinator.com/item?id=42990443
Few maintainers care about the platform in question (to whom it's more a curiosity like maybe 68k), and don't have the hardware to test any submitted patches. It's painful to have to accept code that you can't test (though it may be common in certain parts of the kernel). It's painful to see a bunch of changes for just one random feature on a random platform. It's unclear how the code will affect other platforms, etc.
Now throw in some controversial stuff. The vendor of the platform is Apple and some patches are written in Rust... oh em gee!
You guys still plug three cables each time you sit at a desk?
Yeah, from some very brief research I could only find a singular Linux kernel developer/maintainer/creator who said[0] "I'd absolutely love to have [the new 2020 Air], if it just ran Linux".
Who knows if that one person has even used Apple hardware before or has access to the necessary hardware to put toward a practical use such as a "development platform" while travelling, or, "doing test builds and boots and now the actual [Linux kernel] release tagging"[1][2], let alone be supportive of experimenting with Rust in the Linux kernel[3].
The history of Linux demonstrates the project doesn't have the resources to go chasing support for a hardware platform just because Linus cares about the platform in question...
...even if at least "173 people, and many more" "contributed both to the Linux kernel side but also to the upstream Rust side to support the kernel's needs" in the initial merge[3].
----
[0] https://www.realworldtech.com/forum/?threadid=196533&curpost...
[1] https://lore.kernel.org/lkml/CAHk-=wgrz5BBk=rCz7W28Fj_o02s0X...
[2] via: https://arstechnica.com/gadgets/2022/08/linus-torvalds-uses-...
[3] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/lin...
Are we so busy or egoistic or ignorant that we can't stop and say thanks? What is even more worse is the entitlement. People who wouldn't lift a finger to help anyone (even their own families) are usually the loudest and the most entitled ones.
I don't know if this is the case around the world (probably is?) and I don't know what the solution is. It just sucks
This is a good analogy. Children are the people who they've been raised to become, so it stands to reason that people will give money and appreciation in the same ways that these things are originally given to them. These things are social constructs; we are inevitably taught how to use them by way of social dynamics. This is all to say that people love to support their darlings... but they've been socially conditioned to expect reciprocity in all transactions. That's how the sausage is made in content-based monetization -- you produce the actual product at a loss and then try to claw it back selling high-margin merchandise that nobody'd ever buy otherwise. The merch acts as social permission to finally do your part and pay the creators.
To risk stating the obvious: this is not a good thing and I think the majority of people would likewise agree. People should be fairly rewarded for their work and we should desire a culture which openly and freely encourages doing so. Culture, however, reflects society. The society we've created is transactional, so that's how people frame the spending of their money and efforts -- indeed, "spending" and "transaction" are practically interchangeable in our collective lexicon. Effort isn't strictly scarce in the same way eggs are, however, so we fail to value it.
> I don't know if this is the case around the world (probably is?) and I don't know what the solution is. It just sucks
It's not a total disaster... so we'll undoubtedly continue to ignore the cracks in the foundation. Martin still got paid good money for his efforts and it was good for him for a time. That podcast you like will sell enough t-shirts and get the rent paid on time, at least for a little while longer. This seems to be about as good as we've collectively agreed to make the world for the time being. A local maxima, so to speak: we've gotten stuck asking for more when less might do better. With a bit of luck and effort, however, we can still catch that pendulum when it eventually begins swinging in the other direction. That's my hope, anyway! For the time being I try to do the things I'd like to see become normal in a more decent world -- sharing generously, paying for the things I like, etc. -- because hopeless accelerationism is for chumps.
I'm incredibly grateful for all the work Hector and the others have done on this project. The Air is my dream hardware (I'm a sucker for sleek fanless laptops) and getting to run Linux on it is quite amazing.
So we're now officially acknowledging that the ostensible "owners" of Apple products don't really own their machines at all; Apple does?
Second, what’s the drama? I read the blog, and I’m guessing that on top of being burned out, which sucks, Marcan didn’t like a kernel developer using the phrase “we are the thin blue line” implies he’s politically liberal, in the US sense. He then says he may have been toxic on Mastodon, which might have got him secretly canceled?
All that said, I found his assessment of downstream v. upstream economics (if you can’t successfully upstream you’re doomed to rebase off a massive patch list) pretty interesting. I think the way it is now is the only way that’s good for users — if downstream forks could somehow maintain viability longer term, we would be splitting, e.g. security budgets, performance budgets, etc. I get that it sucks for a group working to upstream, and I am in no way shocked to hear personal politics plays some role in success upstreaming — open source is largely a personal / social capital economy - I guess all that said, hopefully the new Asahi maintainers can work well across what seems like ideology bounds. Maybe?
Marcan watched it unfold on the mailing list wanted Linus to step in and force the C dev to play nice. Since nothing happened, he went to social media and lashed out as a last resort. That's when Linus finally chimed in and pretty much said "you might be right, but this isn't the way to handle things".
From what I saw on urbandictionary, it seems more likely to be something cops in high crime areas in the UK say.
Definitely a shame. I wonder if it would be in Apple's interests to actively support Linux on Mac. It would make Macs more attractive as developer machines, and I don't see how it would disadvantage them.
Trust me, we would know by now if it was. It's not.
The only development they want is development inside XCode. Anything else is a hard no.
You can't however claim the right and reason to refuse PRs and code changes under the moniker of maintenance while simultaneously claiming that the rust community is "actively hostile to a second rust compiler implementation" - you can't have it both ways.
The entire narrative is very indicative of the state of open source unfortunately - incredibly adept programmers getting chewed up by the externalities of maintaining code (and by extension an application). Sometimes it's unappreciative users asking for handouts and sometimes it's other developers (or an organization's development resources) causing contention for a project's trajectory.
I think the entirety of it can be summed up as: forking is there for a reason.
I'm not sure how much work has actually been put into it though.
I still think the best outcome is to fork and recruit some lieutenants for community management. To me the community is losing a lot with his departure. His complaints are legitimate and hopefully linux kernel team can better accommodate his patches. many distros and corporations deliver tremendous value from their forks and it's a better solution than quitting.
I have had to do maintenance on a distributed filesystem driver at one point. This was outside the kernel. I can see why no kernel maintainer would have wanted to look after it even if it was open sourced because the file server was a mixture of C++ and an interpreted language and working out if you'd broken the driver somehow was a miserable job. You would need obscure expertise to understand it all.
Anyone with a good idea can still fork Linux. If their idea is so great it may end up that their branch gets adopted - if they bother to maintain it.
I'm sorry that it burned him out. But I think it is intrinsic to putting anything in the public sphere that it won't match everyone's hopes/desires/needs, that you will get such feedback, and that you have to find a way to be OK with that. (Or step back from such roles, as the author did.)
People aren't going to change.
Supporting and developing Rust is a nice to have, but too often its proponent try to force stuff it deeply inside important stacks that are using other languages like for Linux, or what is going on with major things in Python also.
Here we can see the case, that is almost a blackmail that the Linux community is not nice and will die if they don't make Rust support core and mandatory.
My point is that, if you like Rust and Rust is so nice, just go all-in, do your own kernel, do your own stuffs, and we will see the result in the end. But don't ruin existing good stuffs that were working well on their own.
Loved following his various social feeds. I was sad when he stepped away from the fediverse. I hope he comes back as just a regular hacker without this massive weight on his back.
It seems that it's impossible even for very talented folks to push such work load without corporate backing both without monetary compensation and other resources like non-public documentation. It is very impressive that Asahi team has achieved, but the more hardware advances, the less realistic is to support it on enthusiasm alone.
Criticism hits incredibly hard. I'd watch a friend play for hundreds of people at a concert and he'd receive a standing ovation.
But he overheard a single disgruntled remark from someone which nullified the whole experience for him.
I know he was being overly sensitive about it, but I've heard similar stories from other people too.
That seems silly; just assume people know about the change in circumstances and are trying to give you money for whatever you are doing at the moment, or in gratitude for what you've done before. The person exists, why pause the personal support?
Sidenote: thank you also to all those project leads that put themselves out there. Not easy being the $h1t magnet.
<3
Well, they were proved right.
Sometimes I wish I was so passionate, whereas my philosophy in life towards strangers is a much simpler “fuck you, or pay me”. It allows me to sleep fairly well at night.
I have a few toy projects on GitHub, a couple of which gained a tiny bit of popularity, and I simply ignored every new feature request that I didn’t need, and especially those large PRs “here, I refactored your code to make it functional and it’s so much better now”. I simply said, with no regret: “I won’t merge this, feel free to fork the project, if it’s better I might even switch myself to your project!”. Some got mad, but I truly and genuinely couldn’t care less.
#2 is the cause of #1.
Running commercial games for free has always been the killer application for jailbreaks/custom firmware for game systems. And game system emulators, for that matter.
It's sort of a perfect storm of gaming enthusiasts (particularly those with more free time than money) who want to run commercial games for free vs. companies like Nintendo who have an affinity for (overly) vigorous copyright and trademark enforcement, with jailbreak/custom firmware and emulator developers caught in the crossfire.
He even has defenders calling for yet more CoCs in order to better "deal with" people who "get in the way." It doesn't get much more toxic than that.
Rinux
Otherwise people are going to get accusations that it's a South Park thing.
Marcan wants to use social brigading to get his way, Marcan wants the entire Linux kernel dev flow to bend for him, and, when none of his poorly presented demands get him what he wants, he is - of course - the victim here.
Asahi is neat, but it clearly isn't a working daily driver yet, and it's not abusive to make feature requests and bug reports. Discussions around Rust in the kernel are not, and can never be, an 'injustice'. In Marcan's world, everything other than vehement agreement and immediate compliance is abusive, hostile, toxic, etc. But of course, the only toxic person here is the one threatening to wield the mob to get his way.
Honestly, I'd query whether the benefit is worth the cost. I'll take average code from well-adjusted anons over clever code from bullying, hyper-online micro-influencers any day of the week.
marcan had indicated donations are down, and it's hard to support ones livelihood just from donations alone - especially when they are down.
https://lore.kernel.org/rust-for-linux/c5a49bcb-45cf-4295-80...
And I've been watching from the sidelines, waiting for Asahi Linux to become "stable" enough to consider buying a Macbook and putting Asahi Linux on it.
Working/contributing in FOSS is already slave labor in itself (literally, billion dollar companies depend on FOSS and many do not contribute back to the ecosystem they depend on). Then the abuse from other FOSS developers and community is just cruel.
Hope the guy is able to recover mentally and physically.
"... 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)."
Rust in the linux kernel was always going to be a long game. You don't want to have that be a blocker when you really want is to make larger kernel changes.
The problems cited are portrayed as sociological problems, but I really wish people could recognize that all of them can be mitigated, either substantially or entirely, with a single purely-technical solution: microkernels.
* Almost nobody needs to upstream code to the kernel
* Trusted codebase size becomes negligibly small
* Maintenance burden for drivers, subsystems, etc., falls on the users of the subsystems affected, and not the entire community
* Broad language compatibility by service interface instead of ABI compatibility. The need for a singular compiler is reduced in scope down to the size of the subsystem instead of the entire ecosystem.
The biggest problem that can't be solved purely technically is the entitled user problem, but even that is partially solved. This is because the barrier to contribution is substantially lower:
* I can write code in Rust, but I don't know C.
* I can easily write simple drivers for some hardware features like battery managers and fan controllers and temperature sensors, but I don't know anything about kernels.
* I have a lower, but non-zero understanding of security, and would not feel comfortable writing code that runs on ring 0, but wouldn't feel inhibited writing code that benefits from process isolation.
Those attributes about myself inherently mean that for a microkernel OS, I can be a contributor, but for Linux, the best I can be is an entitled user.
I hope someone else can take up the lead and that the clever people involved can continue that work
Do the demigods of the Linux kernel - Linus and the core maintainers - personally want the kind of code Asahi is developing to be merged into the kernel? The author writes as if part of his drive was that Linus himself showed enthusiasm for getting Linux on Apple Silicon.
If there is interest in the work Asahi has done, then the Linux team needs to describe what they see as the gap between today's code quality and support model and what they want to see before upstreaming.
It sounds like the Linux team has been wishy-washy and needs to draw a line in the sand on their needs rather than handwaving about being part of the "community".
It would be fair to say "we don't like your attitude or trust you to work with us kindly over the years and don't want to deal with you", if that's the case. Just don't dance around it.
Perhaps the author jumped to conclusions after Linus himself started using Asahi Linux on his own laptop for Linux kernel development[0]. Note the praise for the Asahi team in the commit message.
What i will say, Is that i get the impression that the he is quite sensitive and takes things too personally which is a death wish online. People are savage online and if you don't have thick skin then they will destroy you. Not justifying it but it is what it is
Either way hope all goes well for him. Sad to see this happen i bought a m2 mac because of linux support :(
Why not fork Linux and call it something new, with the hardware support that is exclusively for M1/2/3/4 Mac’s?
It was hard to decide to stop the financial support. On the one had I want maintainers to be able to take breaks without worrying about their livelihood. On the other hand, it was very difficult to tell what was going on and whether Marcan would ever get back to working on the project.
One group believes it is Rust (progressives), one group doesn't believe that and wants to continue with C (conservatives).
If they cannot find a way to live at peace with each other, I think the only solution is for the Rust folks to start building the kernel in Rust and not try to "convert" the existing kernel to Rust piece by piece.
Why they cannot live in peace seems to be: a way that C kernel folks would not need to deal with Rust code.
At the core, the story is not that different from introducing new languages to a project.
You are introducing a new tax on everyone to pay for the new goodies you like, and those who are going to be taxed and don't like the new goodies are resisting.
I don't believe in the Linux project since a few years now, especially as "the bearded ones" are not interested in moving the project to a certain future, but only jerking on their old own code.
Good luck for the futur Hector, and thanks for what you managed to do until now with your team.
I personally lost my confidence in it when they stopped properly triaging security issues and flooded everyone interested with just noise.
C is simple language
Rust is lojban.
Trying to convince people who like C to Rust was bad idea.
> I ended up burning out, primarily due to the very large fraction of entitled users.
I stopped reading after this sentence. The God complex is simply too much for me to digest. TL;DR: "I am a programming God; they are newbie peons who refused to bow at my altar of greatness." On other posts about this person, I read multiple comments from people that could be summarised as: "This person is an (amazeballs) amazing programmer, but also a total drama queen." I say, with respect, "You will be missed. Thank you for your contributions." <sigh of relief>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 in the future.
No clue what you could mean by this
>Perhaps he was forced to do it.
By whom? Linus is the one who decides these things.
> Hi! It looks like you might have come from Hacker News.
> Asahi Linux developers are frequent targets of abuse on Hacker News. Despite our pleas, the moderators have not taken effective action to improve the situation.
> Overtly hateful content is often flagged on HN and not immediately visible. Unfortunately, when a comment is flagged and killed, its child subthread is not. That preserves the 'clean' image of the website, but the reduced moderation activity enables abuse to continue. Although you don't see those threads, search engines do. HN uniquely has a high page rank and low moderation, making it a prime target for bad actors to poison search results with abuse, bigotry, and nastiness. This isn't low-level trolling, but an organized attempt to destroy lives, including of developers in our communities.
> Please demand change within your community.
This is an unfair and gross assessment. I've lost some respect from Asahi for this.
They're calling for extreme moderation of opinions they don't agree with, which is the opposite of open discourse.
Asahi: deal with it. You're Streisand Effecting this. Your inability to handle drama is actually causing more drama. Just turn the other cheek and ignore it.
what if after Linux and Git, Linus came up with his own memory safe language suited for kernel development?
I hope the language industry will either make safer languages, or at least push hard to use static analysers.
The correct way would have been to maintain the Rust code out-of-tree, for as long as it would take, which would also somewhat prove that you are ready to maintain that code over a longer time period.
Sad that this led to him stepping down, but maybe others in the Asahi Linux circle are ready to keep maintaining the code out-of-tree until everyone is ready for it
That's the only other project I can think of that's out of tree besides the usual suspect (ZoL)