|
|
Subscribe / Log in / New account

That's right, Linus decides.

That's right, Linus decides.

Posted Aug 13, 2025 19:55 UTC (Wed) by mjg59 (subscriber, #23239)
In reply to: That's right, Linus decides. by koverstreet
Parent article: Kernel prepatch 6.17-rc1

Kent, I've been a victim of Linus's behaviour in the past, and I know how absolutely unacceptable it can be. But I feel like the fundamental thing you keep missing here is that it doesn't matter if you're right. It doesn't matter if you're right on technical grounds. It doesn't matter if you're right about the abuse you've received. It doesn't matter whose fault the entire situation is. You are not going to achieve your desired goals by behaving the way you are. Nobody is willing to support you. It may be horrifically unjust, but bcachefs will die and be forgotten and you will have wasted your time.

What's your end goal here? If you're trying to change Linus's behaviour, you're going about it in a way that's not only ineffective, you're actually making the problem worse - people are actually viewing it as justification for him behaving this way in other situations. If you're trying to get your code merged in a timely manner then, well, you're obviously failing there too.

It seems like you're not in a place to apologise and change your behaviour, and, well, I do understand that and I've been there before and I understand why it may feel incredibly unfair to be asked to. I'd recommend finding a good therapist to work on that, but also consider whether you can achieve more of what you want by just disengaging from LKML and having someone else take responsibility for managing pull requests and engaging with Linus and other maintainers. This may not be fair, it may not be just, but you're a technical person and you should understand the benefits of pragmatic solutions.


to post comments

That's right, Linus decides.

Posted Aug 13, 2025 23:43 UTC (Wed) by koverstreet (✭ supporter ✭, #4296) [Link] (4 responses)

> Kent, I've been a victim of Linus's behaviour in the past, and I know how absolutely unacceptable it can be.

Why'd you put up with it?

> But I feel like the fundamental thing you keep missing here is that it doesn't matter if you're right. It doesn't matter if you're right on technical grounds. It doesn't matter if you're right about the abuse you've received. It doesn't matter whose fault the entire situation is. You are not going to achieve your desired goals by behaving the way you are. Nobody is willing to support you. It may be horrifically unjust, but bcachefs will die and be forgotten and you will have wasted your time.

Ok, you think I've waging some kind of futile war. But - no.

I do have significant support, and a real community I've built up: that's not going to vanish if (when) we have to go the DKMS route. ZFS has shown that can work for a filesystem, they've made it all the way to distro installers, so I think that approach has some legs. People want this thing, it solves real problems and addresses real needs, and a lot of believe believe in my code and my methods. So I've got options here.

Option a: go the DKMS route for awhile. In a couple more years I should have erasure coding, online fsck and a whole bunch of other stuff done that'll make us more than competitive with ZFS for most people. There'll be some big deployments that are already in the works, and we'll be in distro installers - we were well supported by NixOS even before going upstream, I've just been waiting until the experimental label is off to push for more distro support, and that's six months away. Then, in a few years someone else can see about getting it back in (probably won't be me, someone else in the project), and we'll be much more solidly positioned should fights and drama like this arise.

Option b: people have been getting interested in FUSE performance, and I see no reason why a userspace filesystem can't be as fast as in-kernel, to within the margin of error. Ringbuffers for kernel <-> userspace fs communication, threads pinned to each core, temporary per-cpu mappings for zero copy to/from the pagecache - I've been sketching stuff out and it looks plenty doable, and that would open up new long term possilibities, like talking directly to NVME devices, which would cut out a lot of block layer overhead (the block layer really is fatter than it needs to be). A lot of interesting stuff is going on in userspace these days that we might be able to take advantage of.

Option c: I've in the past had real offers from people who wanted to use the bcachefs codebase for other products. Not my passion, but certainly would be lucrative.

Option d: Start playing music again, find a nice hippie village, start having a social life and just work on bcachefs as more of a hobby, supporting my friends and existing users who really like it. I'm sure I could find some way to pay the bills :)

IOW, I really have no need to put up with toxicity and drama if it gets to be too much. And it's been way over the top: I lost a very promising hire because of Linus's repeated public threats to remove bcachefs from the kernel (strangely enough, people don't want to leave a stable job for the new thing when the leader of the project is saying he's going to kill it, and all their coworkers are seeing it and telling them they'd be completely crazy to do it). And it's been an enormous time sink and source of stress: bcachefs isn't just me, it's a whole community, and the drama affects the entire community and I have to respond to it. On top of that, given how often the fights have been over bugfixes, and it doesn't seem to be getting better, I have to consider whether we're really going to have a stable reliable release process staying in the kernel.

So all of that means that being out of the kernel is probably going to be the more stable, secure option at this point.

I like the kernel _community_, I have a lot of friends in it that I genuinely enjoy working with and it's a project that I've genuinely enjoyed being a part of and want to support - but when I've gotten at least a dozen emails from Linus in just the past two months that don't fit on a screen and have all been about how he doesn't trust my judgement, thinks that everyone hates me, thinks I need therapy and have to give a public apology - yeesh. No thank you :)

> It seems like you're not in a place to apologise and change your behaviour, and, well, I do understand that and I've been there before and I understand why it may feel incredibly unfair to be asked to. I'd recommend finding a good therapist to work on that, but also consider whether you can achieve more of what you want by just disengaging from LKML and having someone else take responsibility for managing pull requests and engaging with Linus and other maintainers. This may not be fair, it may not be just, but you're a technical person and you should understand the benefits of pragmatic solutions.

Now hang on, which behavior are you referring to?

Technical criticism really has to be fair game if we're to take ourselves seriously as engineers. I don't mind in the slightest when people tear into my code, and in fact I rather enjoy it (I've said it elsewhere before, and I'll say it again - I'll bake and mail a plate of cookies to the first person that comes up with a good, intelligent insightful rant/flame about the bcachefs code. Stuff like that is pure gold; when people can talk in an articulate way about what frustrates them, that's some of the best and most useful critiquing you can get).

But from what I've seen of the people who've spoken up and said I've pissed them off - or even the stuff people have come up with digging through lore - I'm sorry, it's been just absurd. It's like people have collectively lost their minds and decided to go on a witchhunt (you do realize the kernel community is famously known for being toxic, right? It shouldn't surprise anyone).

The only person I'd remotely want to apologize to that I haven't already is Josef, because I was pretty savage about btrfs the other day on fsdevel. I think highlighting our track record and engineering on standards on filesystems definitely needed to be done; we're a technical community, and we should be making decisions for technical reasons, so even if people within the community don't want to hear it that needs to be highlighted and discussed before git rm -rfing bcachefs.

But Josef is a good guy, and that was a bit over the top, so if Josef's reading this - please consider this an apology.

As for the rest... sorry, not apologizing to people who start swearing at me in technical discussions :)

That's right, Linus decides.

Posted Aug 14, 2025 1:59 UTC (Thu) by mjg59 (subscriber, #23239) [Link] (3 responses)

> Why'd you put up with it?

I didn't. I left and did something else.

> Now hang on, which behavior are you referring to?

I will not work with you. I will not work on any project that you're leading. This is *purely* as a result of reading your writings here and on LKML. I have no stake in the technical issues whatsoever. In reading your posts I see you reacting similarly to both cases where, yes, the other party is going beyond what I consider reasonable behaviour, but also where people have gone out of their way to provide you with support and advice. And maybe this wouldn't be the case if the level of tolerated toxicity in the kernel was more reasonable, and you'd have got along with everyone. But that's not where we are, that's not what happened, and now you just appear to be just as much of an asshole as Linus (if not more) except it's far easier to just ignore you because I don't need to deal with you if I want to get something upstream. And if you're unwilling to accept that there may be truth in that then you're *definitely* more of an asshole than Linus is, because at his worst he did step back and take some time to work on his interpersonal interactions and came back better (if still not great).

Seriously. Consider whether every single person who's complained about you is wrong, or whether there's any possibility that you could be a factor in this.

That's right, Linus decides.

Posted Aug 14, 2025 4:14 UTC (Thu) by koverstreet (✭ supporter ✭, #4296) [Link] (2 responses)

That's a shame, because I don't think I'd mind working with you, even if you seem a bit hotheaded at the moment :)

But if I may unpack this a bit?

You're coming in with some really strong opinions about someone you've never worked with, taking the time to post on a public forum that I need therapy...

Look, the kernel is a high pressure, high stakes environment, it's a bit of a pressure, and we're coders - a group not exactly known for high emotional intelligence.

Don't you think that this might produce a lot of overreactions, and some rushing to superficial judgements?

I try not to judge people based only on what I hear from others... I try to keep an open mind. And I try not to keep old rivalries and feuds alive; it helps to remember that people may have been having a bad day in that one interaction you saw, or they may legitimately be doing a lot (possibly a lot of good) and under some stress - reactions get short in situations like that.

It helps not to make blanket statements and judgements about people. Look, I don't even consider Linus an asshole... control freak with some toxic behavior sure, but for me to judge anyone too harshly for that would be the pot calling the kettle black. I've also had plenty of moments where I genuinely enjoyed working with him, he has a lot of qualities I respect, and I try to keep that stuff in mind even when tensions have gotten waaaay too high and I need a break. It helps.

We've all had our moments, we're all (hopefully) learning and getting better. I know I've had plenty of moments of realization along the lines of "oh, I took that way too far - I need to think about how to approach that better next time", and I suspect you have too.

Such is life. Sometimes we all just need to chill out.

Experience and theory

Posted Aug 15, 2025 13:04 UTC (Fri) by ntcarruth (guest, #178852) [Link] (1 responses)

> And I try not to keep old rivalries and feuds alive; it helps to remember that people may have been having a bad day in that one interaction you saw, or they may legitimately be doing a lot (possibly a lot of good) and under some stress - reactions get short in situations like that.

I’m very much an outsider here, but wanted to make the following observation:

I admire Kent for trying to not hold grudges; the world would be a better place if more people were like that. Paradoxically, though, from some comments I’ve read here and on LKML, I wonder whether an attitude like that in the quote above, sufficiently extrapolated, could result in interactions like some people complain (fairly or unfairly) about having had with Kent? More specifically, from my own personal experience, I am inclined to believe the following:

Assuming that someone who swears at me is simply having a bad day is almost always a good thing.

Assuming that someone who tells me I’m wrong, even if they can’t explain why other than reference nebulous “experience”, is simply having a bad day, is generally a bad thing.

At any rate, I have certainly made the latter mistake. Experience, in my experience (excuse the repetition), almost always trumps theory, at least when the context surrounding the experience is applicable.

At any rate, from Kent’s comments elsewhere, he has more than one option for keeping bcachefs alive in or out of the kernel. Similar to what another commentator said below, Kent, keep up the good work, we all need better technology!

Experience and theory

Posted Aug 15, 2025 18:05 UTC (Fri) by koverstreet (✭ supporter ✭, #4296) [Link]

I've keeping a fairly low profile on LKML for the past year, what's going on now isn't coming from me, it's a bit nutso.


Copyright © 2025, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds