|
|
Subscribe / Log in / New account

The kernel's code of conduct, one week later

The kernel's code of conduct, one week later

Posted Sep 28, 2018 12:38 UTC (Fri) by nix (subscriber, #2304)
In reply to: The kernel's code of conduct, one week later by daniel
Parent article: The kernel's code of conduct, one week later

Uhhh... you were trying to remove the documentation on how to contribute to the kernel using BitKeeper from the kernel tree *while the kernel still used BitKeeper* and you were surprised that people thought that you had an agenda in doing so? I mean, *obviously* you had one: someone with no agenda wouldn't have tried to do that in the first place.

The fact that the kernel was eventually forced away from BitKeeper because of precisely the sort of thing you were worried about doesn't mean that trying to remove the documentation about using BitKeeper from the kernel tree while it was still in active use was a sensible way to go about it. You were *trying* to be controversial. Obviously this narked people off, just as you clearly meant it to.


to post comments

The kernel's code of conduct, one week later

Posted Sep 28, 2018 21:48 UTC (Fri) by daniel (guest, #3181) [Link] (17 responses)

> you were trying to remove the documentation on how to contribute to the kernel using BitKeeper from the kernel tree *while the kernel still used BitKeeper* and you were surprised that people thought that you had an agenda in doing so?

I notice that you did not call me a "hypocritical bastard" or a "wanker", nor ascribe any particular religion to me. Thank you. Linus and the other respondent could have managed the same, but apparently felt no compunction to do so at the time.

It is true that I had an agenda, I do not dispute that. I do dispute that my agenda was religious, or anything less than in the best interest of the whole community. My agenda was to prevent the community from splitting down the middle. Sadly, I failed. Linus failed. We all failed, and three years of avoidable disharmony ensued.

In an alternate universe, Linus accepted my patch, the Bitkeeper documentation was moved out of the kernel source to some web page as I suggested, and we began to build Git in 2002 instead of 2005. You could argue that we did not know how to build Git at the time, and I will argue that we were smart enough to do it even then. Maybe it would not have involved content hashes, who knows. In any case, this would be an appropriate moment to draw attention to the fact that the design of Git is not purely due to Linus. It is in large part due to Graydon Hoare, and partly due to me also, thought I doubt that Linus know that. Graydon does.

The Bitkeeper fiasco did not come about because of somebody being "controversial". It came about because of the very predictable collision between community and private interests. Not everybody recognized the inevitability of this at the time, but some did. Those voices were shouted down, and should not have been.

You could argue that my approach was overly dramatic. So how would you have gotten Linus's attention? How would you have done it better? I would like to know. Maybe, with 20-20 hindsight, we could of avoided a further three years of wasteful drama, including the unfortunate departure of respected and valuable contributors.

One thing you cannot argue is that my post was ill-intentioned. Anyway, thank you for not calling me a "bastard". I would also thank you not to denigrate my contribution to the community in this regard.

The kernel's code of conduct, one week later

Posted Sep 28, 2018 23:34 UTC (Fri) by Cyberax (✭ supporter ✭, #52523) [Link] (12 responses)

> In an alternate universe, Linus accepted my patch, the Bitkeeper documentation was moved out of the kernel source to some web page as I suggested, and we began to build Git in 2002 instead of 2005.
In another alternative universe Linux would have tried to use CVS and the just-released newfangled SVN to manage the source code. The strain of maintaining it would have alienated more and more developers, also taking a lot of developer time.

The continuous developer problems would have caused Linux to stagnate. Eventually companies like the nascent Google lost all the interest in it. By the end of 2004 most of Google servers were migrated to Microsoft Solaris (as Sun was acquired by Microsoft). Unfortunately, that allowed MS to exert significant pressure on Google and prevent them from displacing Microsoft on the Web.

From that everything else was inevitable. And so by 2020 only one large software company remained in the world, reigning over most of the industry with an iron fist.

Thank you for ruining the life of a whole alternative universe, you genocidal monster.

The kernel's code of conduct, one week later

Posted Sep 29, 2018 1:22 UTC (Sat) by daniel (guest, #3181) [Link] (11 responses)

You appear to have made your post without reading mine. I always wanted something like Git, after I came to understand the nature of distributed revision control. I played a significant part in achieving it. This is in no way consistent with your post.

Did you really just call me a genocidal monster? That would make you completely out of step with the notion of treating your colleagues with respect, and indeed, with reality. Perhaps you might wish to retract that.

The kernel's code of conduct, one week later

Posted Sep 29, 2018 4:44 UTC (Sat) by Cyberax (✭ supporter ✭, #52523) [Link] (10 responses)

> You appear to have made your post without reading mine. I always wanted something like Git, after I came to understand the nature of distributed revision control. I played a significant part in achieving it. This is in no way consistent with your post.
I read it. It distinctly lacks any actual alternatives to BK. I was kinda following SVN development at that time (running pre-1.0 builds and all that) and I was looking at other VCSes. There was nothing really competitive with BK for decentralized development.

> Did you really just call me a genocidal monster? That would make you completely out of step with the notion of treating your colleagues with respect, and indeed, with reality. Perhaps you might wish to retract that.
Well, you've just doomed a whole alternative universe to a life under the totalitarian control of Microsoft. What else can we call you?

The kernel's code of conduct, one week later

Posted Sep 29, 2018 6:48 UTC (Sat) by daniel (guest, #3181) [Link] (6 responses)

> What else can we call you?

Who is "we"? I thought that you are I and the rest of us were "we". Rhetoric such as yours above is a textbook example of the exact opposite of collegial behavior.

Besides that, the words you attempt to put in my mouth, the analogy you attempt to draw, is wildly wrong. Please go back, read, understand. You missed a lot of the story, did you even read my original post? I doubt you did. And please stop trying to be funny, it is entirely inappropriate in this context. Abuse is often cast in the form of a joke. I didn't get it.

Perhaps you just need to decompress. My suggestion: go see what happened in the US capitol today. There are parallels.

The kernel's code of conduct, one week later

Posted Sep 29, 2018 8:47 UTC (Sat) by Cyberax (✭ supporter ✭, #52523) [Link] (2 responses)

> Who is "we"? I thought that you are I and the rest of us were "we".
There's this whole alternative universe to call you. Duh. Since you're so fond of imagining what would have happened.

> You missed a lot of the story, did you even read my original post? I doubt you did. And please stop trying to be funny, it is entirely inappropriate in this context. Abuse is often cast in the form of a joke. I didn't get it.
Yes I have. Why do you assume that people don't read stuff?

In the original thread you've made a move that was absolutely and utterly disrespectful to core developers, like not even CC-ing Jeff Garzik (the doc author) when submitting their removal patch. Nice touch that.

So you got disrespect in return. Perfectly understandable.

> Perhaps you just need to decompress. My suggestion: go see what happened in the US capitol today. There are parallels.
Yes. But not the ones you're implying.

The kernel's code of conduct, one week later

Posted Sep 29, 2018 9:17 UTC (Sat) by daniel (guest, #3181) [Link] (1 responses)

> There's this whole alternative universe to call you. Duh

Would you please stop that. Just stop it.

The kernel's code of conduct, one week later

Posted Oct 1, 2018 18:06 UTC (Mon) by ms-tg (subscriber, #89231) [Link]

> > There's this whole alternative universe to call you. Duh

> Would you please stop that. Just stop it.

Fascinating -- haven't we all just now observed a *real-world* example, right here in the comments of LWN, of the sorts of interactions that all of this discussion about the CoC have centered around?

From my observation of this discussion, I have the following questions:

(a) Is it abuse to extrapolate, in response to another poster's alternate history, "ad absurdum" alternate history?
(b) Is it abuse if, in doing so, one off-handedly refers to the other poster as a "genocidal monster", and expecting the context of an obvious, but not explicitly stated "ad absurdum" comment to excuse the insult as good humor?
(c) Is it abuse if, in such an exchange, one poster feigns to not understand such a context in order to render the other's comment as abuse? Did such feigning just occur, or was there a genuine misunderstanding of intent (possibly on my own part)?
(d) Is it abuse to repeatedly imply that the other has not read your comment, when a more generous interpretation would assume that they were responding to it?

After all the discussion had on the CoC -- I'd really love to see how the principles aspired to can be applied to this exchange?

The kernel's code of conduct, one week later

Posted Sep 29, 2018 13:35 UTC (Sat) by corbet (editor, #1) [Link] (2 responses)

Daniel, the post was really just an amusing way of saying "we can't really know what would have happened had the kernel community not gone with BK". It was not meant, as far as I can tell, to be abusive in any way; surely you don't think anybody is really calling you a "genocidal monster"? The OP was just having fun running a fantasy to an extreme conclusion.

The kernel's code of conduct, one week later

Posted Sep 29, 2018 14:02 UTC (Sat) by mjblenner (subscriber, #53463) [Link]

While that's all true, the <<I'm specifically not calling you [insulting term]>> thing is really not cool.
(A specific example from an Australian Senator sticks in my mind)

The kernel's code of conduct, one week later

Posted Sep 29, 2018 20:57 UTC (Sat) by bfields (subscriber, #19510) [Link]

For what it's worth, I think a lot of the language quoted from Linus and others was often intended that way.

When people are angry they sometimes go over the top in an odd attempt to soften the blow by taking it to the point of silliness. But that often backfires.

I think as a rule if you're angry or arguing with someone, it's better not to be insulting, even as a joke. They're probably not in a mood to get the joke.

This is an odd case, though, as it seemed so obviously silly from the start.

The kernel's code of conduct, one week later

Posted Sep 29, 2018 6:53 UTC (Sat) by daniel (guest, #3181) [Link] (2 responses)

May I also draw your attention to the main payload of my longish post above:

> How would you have done it better? I would like to know.

Honest question. What would you have done? Nothing, perhaps?

The kernel's code of conduct, one week later

Posted Sep 30, 2018 9:25 UTC (Sun) by nix (subscriber, #2304) [Link] (1 responses)

FWIW I would definitely have done nothing because my reaction to social conflict is to run away. (I'm not saying *this* would have been the right thing to do, either, but it would have had the same net effect on the path of future events, i.e. none to speak of.)

The kernel's code of conduct, one week later

Posted Sep 30, 2018 23:49 UTC (Sun) by daniel (guest, #3181) [Link]

I'm going to follow your lead and run away now. I composed a longish and potentially interesting post that would have gone here, then posted it to "drafts".

The kernel's code of conduct, one week later

Posted Sep 29, 2018 6:06 UTC (Sat) by patrick_g (subscriber, #44470) [Link] (1 responses)

> this would be an appropriate moment to draw attention to the fact that the design of Git is not purely due to Linus. It is in large part due to Graydon Hoare, and partly due to me also, thought I doubt that Linus know that. Graydon does.

Could you please explain? It would be interesting to have more info about the history of Git.

The kernel's code of conduct, one week later

Posted Sep 29, 2018 7:36 UTC (Sat) by daniel (guest, #3181) [Link]

> It would be interesting to have more info about the history of Git.

Well, I don't want to write a book about it right here and now. Most interested observers know that Linus got the idea of content hashing and other important ideas from Monotone:

https://lkml.org/lkml/2005/4/6/121

The main problem with Monotone was performance. Linus knew what to do about that. Monotone was the brainchild of Graydon Hoare. Incidentally, so is Rust. Quite the prolific, largely unsung inventor.

I knew Graydon from my time at Red Hat, where we both worked for Red Hat and met from time to time in the Toronto offices of the former Cygnus. Around that time, I was also casting around for a good design model for a distributed revision control system, as an alternative to Bitkeeper. I found Monotone, some months before the drama unfolded resulting in Linus's post above. Then, Monotone had no concept of directories, it only had a flat forest of objects with each content-hashed object indexed under the full path name.

One day in some dim hallway, possibly at Red Hat headquarters during a conference, I buttonholed Graydon and launched into a polemic about what I thought needed to be done to Monotone to make it truly useful. That was basically, elaborate the metadata design so that directories are objects too. Graydon initially found the idea offensive compared to what he perceived as his simpler and purer approach, but the next time I saw him, he informed me that he had in fact changed Monotone's metadata design along those lines, and Monotone's manifest was born. This is essentially what Linus found when he discovered Monotone a short time later.

Forgive me if I have erred slightly in some details, that was thirteen years ago. Graydon would probably be able to help me with this. Until now, he and I were the only two who knew this detail.

The story of how Git came to be is a whole lot more complicated than that. The real hero of the story is Andrew Tridgell, who set his brilliant mind to work on creating an open source Bitkeeper client. Though he did not intend it, a fact I can attest to from first hand knowledge, this work set in motion the chain of events that culminated in the author of Bitkeeper himself forcing Linus to do the right thing, and stop forcing the Linux kernel community to depend on a proprietary tool. Everybody knows the rest of the story, but these early events remain shrouded as a bit of a mystery.

For his efforts, Andrew (Tridge as we know him) was hounded out of the Linux kernel community in a most unseemly way. Linus should put that on his list of unfinished business that he needs to apologize for.

The kernel's code of conduct, one week later

Posted Sep 30, 2018 9:20 UTC (Sun) by nix (subscriber, #2304) [Link] (1 responses)

I... don't see how moving the BK documentation out of the kernel tree would have done all that, frankly, but I wasn't paying attention at the time so I probably missed some context.

The kernel's code of conduct, one week later

Posted Oct 1, 2018 0:48 UTC (Mon) by daniel (guest, #3181) [Link]

Linus needed to accept that embedding a bespoke tool astride the kernel development workflow was not going to end well. That point was controversial at the time, but with the clarity of historical perspective it is now settled fact. Instead of accepting that reality, Linus continued on the course of pushing the proprietary workflow further into the faces of those community members who could not accept it.

For the record, I was not the first to take exception to this ongoing encroachment. As I dimly recall, a group of us were discussing the Bitkeeper issue on the the #kernelnewbies channel, and I had taken the position that I could live with it, so long as I would be able to function as a kernel contributor without being forced to accept the Bitkeeper license. Then one of the channel members pointed out to me that Linus had just merged instructions for a "BK and Kernel Development Workflow" into the kernel source tree. It became immediately apparent that all of us who disagreed with the proprietary license were now well on the way to becoming second class citizens. That was a significant fraction of the community. I hope that you can see why I felt the need to do something.

Let me forestall the counterargument that I should really have been busy developing an alternative to Bitkeeper, as Linus suggested. I was doing exactly that, and I was not the only one. But I could not possibly have completed that work soon enough to present something usable to Linus, to stave off the looming disaster. And there were significant doubts about whether he would respond just by moving the goal posts in any case. Trying to read Linus's mind is a thankless task. In the end, Linus showed us how to do it: you need to be Linus. Then you just code up a quick prototype to show how you want it done and a team of talented coders descends on it to make it a reality.

As I said, we could have done the same in 2002 instead of 2005. It might have lacked the elegance of Monotone's content hashes but it would have done the same thing. The global distributed workflow that needed to be supported was already well understood, it already existed.

Maybe the result would have been even better than Git. Maybe it would have had cleaner commands, maybe it would have supported rename properly, who knows. That is speculation. But it is far from speculative to assert that we had the talent and manpower to do it. There was only one key ingredient missing: resolve from Linus.

If Linus had understood my message to him at the time, history would have taken a different and better course. I succeeded in getting his attention, but failed to convince him.

I hope that clarifies the historical context.


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