Renato Golin via llvm-dev
2016-May-05 21:38 UTC
[llvm-dev] Resuming the discussion of establishing an LLVM code of conduct
On 5 May 2016 at 21:47, Chris Lattner via llvm-dev <llvm-dev at lists.llvm.org> wrote:> The Swift community has been using the standard "Contributor Covenant” to > good effect: > https://swift.org/community/#code-of-conduct > http://contributor-covenant.org > > Why do we need to “innovate" here?Hi Chris, I think the swift code is simple, and albeit over-specifying, good enough for most purposes. In comparison to the current proposal, I think it would be an improvement, but there are two main problems: 1. We don't have project maintainers. We have code owners, some of them haven't touched the sources, or haven't interacted with the community in a while. The current owners haven't singed up for maintainership (whatever that entails), so we can't just change the roles. GCC follows the maintainer model, and I think while this may curb some code instability, it also slows down progress in the speed we're used to. I don't want to change that. I think this format is working well, and formalising maintainers just for the sake of the CoC would be too much. 2. We don't have a single strong leader. We have many strong leaders, but not a single point of reference. You were much more active years ago, and no one has actually stepped in as you faded into other projects. I personally think your "rule" was one that not one of us would be able to do justice. Mainly because in the the interim, the community has spread out a bit and an odd form of meritocratic anarchy has formed. So, while there are barons and generals, there is no king. LLVM now is used by so many big companies with so much money at stake that it would be impossible for any single company to completely control it like when Apple was the single user. The foundation may have tried to take your place, but I don't think it succeeded. I don't think it will in its present form, and I personally think it shows how mature our community really is. The reason that is so, is because of the wide spread invisible control that goes on in the back-stage. You rarely see so many closed meetings in open source conferences as I see in the LLVM dev meetings, and that is part of the quirks of a permissive license most of the companies we work for enjoy. While most of us do all the work and discussions in the open, our companies have their own agenda and it's not uncommon to see big changes happening without so much of a discussion in the list first. Examples are the foundation itself, the code of conduct, the complete annihilation of the ELF back-end in LLD last year, etc. For a community that wants to be inclusive by means of a CoC, we surely do a lot behind closed doors without any discussion in the open. As others have noticed, the CoC discussion has become polarised, with two groups sharing their ideas without conceding space. This, to me, is a beacon that shows me that we still value openness and consensus. And that is why I still spend my time arguing. Maybe I'm so wrong, I should be embarrassed. Maybe the foundation now controls everything and the code will be enforced, and I'll probably be banned from time to time. I surely hope not, as the last 7 years have been the best time of my career. But again, I can always do something else, in a community that is more in sync to my values, if this is not it. cheers, --renato
Chris Lattner via llvm-dev
2016-May-05 22:31 UTC
[llvm-dev] Resuming the discussion of establishing an LLVM code of conduct
On May 5, 2016, at 2:38 PM, Renato Golin <renato.golin at linaro.org> wrote:> Hi Chris, > > I think the swift code is simple, and albeit over-specifying, good > enough for most purposes. In comparison to the current proposal, I > think it would be an improvement, but there are two main problems: > > > 1. We don't have project maintainers.“maintainer” is merely terminology. It maps onto “code owner” in the LLVM sense.> We have code owners, some of them haven't touched the sources, or > haven't interacted with the community in a while. The current owners > haven't singed up for maintainership (whatever that entails), so we > can't just change the roles.I fail to see your point here. I agree that we have some inactive code owners, and that should be fixed independently of this conversation. For active ones, I think it is perfectly reasonable to expect them to uphold the ideals of the LLVM community. Code owners are the leaders in the LLVM community, and driving/guiding the community *is* what they signed up for. If we need to refine the wording around that, then lets do that.> 2. We don't have a single strong leader. > > We have many strong leaders, but not a single point of reference. You > were much more active years ago, and no one has actually stepped in as > you faded into other projects.It is hard for me to not laugh at this - it appears that you’re trying to insult me or something. Fortunately, I have a thick skin, but keep in mind that you have absolutely no knowledge of how much time and energy I continue to put into LLVM. :-)> I personally think your "rule" was one that not one of us would be > able to do justice.My personal involvement isn’t relevant to this discussion: the LLVM foundation is a single legal entity that you’re looking for. It exists in large part because this *isn’t* about me, or any other single person.> The foundation may have tried to take your place, but I don't think it > succeeded. I don't think it will in its present form, and I personally > think it shows how mature our community really is.You’re welcome to your opinion on the matter. -Chris
Renato Golin via llvm-dev
2016-May-05 23:02 UTC
[llvm-dev] Resuming the discussion of establishing an LLVM code of conduct
On 5 May 2016 at 23:31, Chris Lattner <clattner at apple.com> wrote:> Code owners are the leaders in the LLVM community, and driving/guiding the community *is* what they signed up for. If we need to refine the wording around that, then lets do that.This is what *I* signed up for, and I try to do my best. But I know people that didn't. I think we should refine the wording.> It is hard for me to not laugh at this - it appears that you’re trying to insult me or something.Hum, no. I think you don't know me well enough, then.> Fortunately, I have a thick skin, but keep in mind that you have absolutely no knowledge of how much time and energy I continue to put into LLVM. :-)Seems I don't, maybe that's my point. I'm involved in a lot of goes around LLVM for a long time. Maybe I'm really that blind... Or maybe it is hard to see, because of what goes behind doors. When I discuss the kernel with people, everything is about Linus. Phrases go around like "if it's not in Linus' tree, it's not Linux". GCC has the same thing about its maintainers, and they have a much stronger control over their areas. None of that seems to happen to any noticeable degree in LLVM. We had many changes done without so much as a warning and no amount of discussion has led folks to re-think their approach. That behaviour wasn't from a single leader, but from a variety of people with some degree of respect in their own areas. Or, maybe, I'm so impossibly autistic, that all reality has failed to reach my cortex... If that's so, I'm surely not alone.> My personal involvement isn’t relevant to this discussion: the LLVM foundation is a single legal entity that you’re looking for. It exists in large part because this *isn’t* about me, or any other single person.How large? I mean, if we really care about the community as a whole, and if the foundation is now the official representative of our community, wouldn't it be better if we could choose who represents us? Because when this was an Apple project, we all knew we couldn't do much. But since it became widely used, companies and individuals started to trust that they, too, could have a say. It is, after all, open source in some way. And in that respect, many have done so. Google, Sony, ARM, Qualcomm, Samsung are but a few of those companies that are now relying on LLVM, not Apple, to drive their products. I know of many others who are moving into it full speed. Most of them Chinese, and they don't share all your world views. Will we start refusing their technical contributions because of that? Even if they don't behave badly in the community, they may express their different views on the company web page. Where's the line? If, on the other hand, the foundation became an elected body, then the whole community would feel represented, US, Europe and China (and others), and there would be no need to strong hand anything. cheers, --renato
C Bergström via llvm-dev
2016-May-06 03:34 UTC
[llvm-dev] Resuming the discussion of establishing an LLVM code of conduct
>> 2. We don't have a single strong leader. >> >> We have many strong leaders, but not a single point of reference. You >> were much more active years ago, and no one has actually stepped in as >> you faded into other projects. > > It is hard for me to not laugh at this - it appears that you’re trying to insult me or something. Fortunately, I have a thick skin, but keep in mind that you have absolutely no knowledge of how much time and energy I continue to put into LLVM. :-)In no way do I think anyone meant to offend you, but I agree with Renato. I'm going to go out on a limb and guess why he said this as well as why others may see it this way too.. For clarity his choice of words may be wrong and I think he meant to say you're not a benevolent dictator.. Sometimes when things get sticky - Linus will step in and resolve it or at least weigh in heavily. This CoC is a good example where I'm happy to see you step in, but in other circumstances you're absent from comment/discussion. I guess it may be a difference in style where Linus is more like Donald Trump (Sorry Linus) and you're just less-outspoken (or busy) Under a single strong leader, I'd argue that this CoC would be resolved by now. A design which the consensus can accept would have happened by now. IMHO *you* should have put forward this proposal and not Chandler. It's great we don't have any single point of failure and many strong leaders, but herding cats isn't easy..