It's more the idea of an organization claiming they have the authority to forbid you from tweeting at members. It's like they're trying to split the world into two halves, organization members and outsiders, draw a fence around the organization membership and assume control over who is allowed to cross that fence and how. To be clear: I don't think any organization should ever have that sort of power. If it was just "banned from the ML" or whatever, I'd still be put off by the way the rest is phrased, but I'd be like "alright, that's fair enough, it's their ML." It is not their Twitter, and it is not, to be frank, "their community". You can own architecture, you can't own people.
What would be the optimal Code of Conduct? From looking at this and reading the FFmpeg mail thread, I'm currently leaning towards "Avoid talking about people." Just, try to avoid talking about people, period. If a technical forum comment contains no discussion of code, at least in theory, it's probably harmful to the project. As far as I can see, this also in the same stroke removes all potential for harassment.
I had the same initial reaction as you but actually think that in such situations asking people not to interact with the members of the organization is appropriate. Sometimes people do need to be put in timeout, and I read this as a formal way of requesting the problematic user stays away from the community for a bit.
Private interactions with members of the community, as well as interactions in other contexts (eg working on a different project), I would assume to be fine. They don't want the problematic member to be harassing other members through unofficial channels, and the only consequence would be not being re-integrated in the community.
I mean, harassment is already against the Twitter ToS. I'm not sure of any social media site where it isn't. At some point, you have to assume that if a member doesn't want to be contacted, they're their own person enough to communicate that.
Anyway, I understand why Mozilla would want to make a declaration like this. I just think the fact that they believed that this was a declaration that they could make, and have be obeyed, reveals an uncomfortable sentiment of social ownership.
I mean... it's not a question of "I declared it, so you will do it". It's a question of "You broke the rules once; you can stay in timeout for a week or we can ban you entirely". Would you be bothered if they'd skipped the first part and just banned them from their gruop for making trouble?
I am fine with any judgment Mozilla make on infrastructure that they run and that belongs directly to the project, such as mailing lists, official chatrooms, etc. It's the addition of "unofficial" social platforms that irks me; it seems totalitarizing. Interaction of contributors outside the project ecosystem is none of their business.
I prefer for society to be sliced "horizontally", rather than "vertically". I am not aware of good terms for that. I want the arrangement to be that people can spend some of their time contributing to some group effort, with no impact on other efforts; rather than that people belong to groups, totally: "I contribute to Thunderbird" vs. "I am a Thunderbird developer."
The resigning of Brendan Eich violated that same rule as well. You work for Mozilla, then you go home and Mozilla drops out of your life. You are not a Mozilla employee unless you're on the clock. Only, what happened was that it turns out you can't be a Mozilla employee and a certain kind of Republican in the same person; the vertical isolation was violated. I think this is because people saw Brendan as "he is a Mozilla employee" rather than "he works at Mozilla." I am against that way of looking at people. I think it is important for the functioning of society that people can horizontally intermix rather than segregate.
A core part of the horizontal arrangement of society is that when you leave the boundary of a project, you leave its mores behind you; you are allowed to codeswitch as you context switch. Any rule that penalizes you for behavior elsewhere that violates the local rules directly threatens this.
It very much depends on the situation. Sure, some harmless things you do outside work shouldn't have any effect on your work. But if we're talking about someone literally not believing that certain people (e.g. LGBT) should exist or have rights then I very much believe they can and should be shunned from everywhere regardless of whether they bring that bigotry to work or not. People have a right to not want to interact with others who make them uncomfortable. Imagine being forced to work with someone who doesn't want you to exist and being told to suck it up just because they don't explicitly express those views at work, only outside.
> being forced to work with someone who doesn't want you to exist
Yes. That is what I endorse.
Modulo "being forced to work"; I don't think anyone should be forced to work anyway, but that's not what this is about, it's about what's reasonable to expect. I think this is a reasonable thing to expect.
Nobody was going to chain people to the keyboard while Brendan Eich was loitering in the room, aggressively existing at them while they worked. The question is, if one person cannot work with another, who is being unreasonable? Who should be forced to yield? In other words, is there a right to not be made uncomfortable by somebody's mere belief, no matter how vile, that supersedes the expectation of workplace civility? I do not believe in such a right - conversely, I believe that there is a duty of tolerance in the workplace; tolerance as a behavior, not as a state of mind.
(Though, that said, I think Mozilla is far more symptom than cause.)
Let's be clear here, he merely believes that marriage should be between a man and a woman. Not that he advocates for a gay pogrom, or that they should be deprived of due process or anything.
This type of hyperbole is just as bad as calling him a Nazi.
> It very much depends on the situation. Sure, some harmless things you do outside work shouldn't have any effect on your work. But...
Pragmatically speaking, you shouldn't expect that the only exceptions to these general rules of civilized interaction are ones you like or agree with.
> People have a right to not want to interact with others who make them uncomfortable. Imagine being forced to work...
a) No one is being forced to work with anyone else. b) If a specific someone might not want to interact with someone else, don't make that decision for them.
I think I understand you, and I think I broadly agree, but in this case the restriction was specifically on contacting other thunderbird members; that seems like it's clearly still a vertical slice to me.
I think what makes it horizontal for me is that you can't "go home and stop being a Thunderbird member". A "Thunderbird member" is something you are, rather than something you do. So this effectively asserts project ownership over the person.
This is why I don't care what they do on project media like ML. That's a social space that's reserved for the project itself, so fair's fair. It's part of their slice, but "Twitter, Facebook and Telegram" is not. It's like a school deciding that a child is a bad influence and isn't allowed to have a sleepover with another child in the same class. You have authority over them as long as they're in your care, and not one second longer.
If it feels similar to a cult, it's because cults are organizations too (I say this as a former cult member from birth who was shunned for leaving).
Regardless of the merits of the organization, there aren't other effective ways to guide acceptable behavior by its acolytes -- even criminal punishment by governments (organizations) is a related act.
> Only, what happened was that it turns out you can't be a Mozilla employee and a certain kind of Republican in the same person
It was worse than that. Folks called for his blood over a past endorsement of / financial support for California's Prop 8 and a Republican congressman (one who, at the time, was one of the few congresspersons at all - let alone among the Republicans - who even so much as paid lip service to the idea of electronic freedom and privacy). It didn't seem like any attempt was made to even so much as ask if he still supported that Proposition and that congressman - and that's a pretty reasonable question to ask when a large number of Democrat (and more modest number of Republican) voters and politicians alike have indeed shifted from opposing to supporting gay marriage and broader GSRM rights. Maybe he does indeed still oppose gay marriage, and that's why he decided to step down instead of trying to defend himself. Who knows?
On the other hand, there's a pretty stark difference between "Mozilla employee" v. "CEO of Mozilla". It wasn't until he was appointed as CEO that his political leanings attracted criticism - and it's pretty reasonable to be critical of whether someone can objectively and fairly manage an entire organization and its employees while having contributed money toward the passage of a law that actively discriminated against at least some subset of said employees. Eich's situation seems much more understandable than attempting to excommunicate an ordinary contributor.
I've seen plenty of harassment which in principle insults code. It easy to say things like "Part X of the code base is a piece of ** and should be deleted", or "Recent PR 1234 is awful" -- no-one's name is mentioned, but everyone knows who is in charge of X, or who wrote PR 1234.
In terms of "this sort of power", you are of course welcome to ignore them asking you to not tweet at them -- just don't expect to be allowed back into the community. It seams reasonable to me to say while you are in "time out" to not keep pestering the council, or Thunderbird community in general, during those 3 months.
It seems deeply unreasonable, infantilizing and arrogant to me. Different preferences, maybe. It's the sort of thing I'd expect from a religion.
> I've seen plenty of harassment which in principle insults code. It easy to say things like "Part X of the code base is a piece of * and should be deleted", or "Recent PR 1234 is awful" -- no-one's name is mentioned, but everyone knows who is in charge of X, or who wrote PR 1234.
I think that's specifically the sort of feedback I want to embrace. Everybody writes awful code, it's normal. Not calling it awful doesn't make it better, and the goal of the project is good code over happy contributors - happy contributors only matter insofar as they lead to good code, and I think contributors who are made unhappy by people calling their code bad, probably don't write good code as a rule. (How do you get better if you shield yourself from negative feedback?)
To me, there is a huge difference between "negative feedback" -- I don't think any project is saying you can't reply something like "This PR should not be merged, because there are significant problems. For example, line Q causes a memory leak, and lines A-B are so complicated I can't figure out if there is a buffer overflow or not". If you have examples where this kind of factual complaints are causing people to get banned, let me know.
As a concrete example, I consider myself a reasonable coder -- I've contributed to a bunch of projects, including gcc. I've stopped contributing to projects (including gcc) because I got feedback which wasn't helpful, but was either hostile or at minimum extremely unhelpful. Did they want rid of me? Maybe so, but they certainly kept all the code I'd submitted, much of it to the current day.
Hostile feedback is a great way to push anyone away. I tried to submit a big report to DD-WRT involving a somewhat important feature completely failing to function. I gave them all the details required to fully reproduce the bug on their end, which has been the standard for bug reports at every single company I have ever worked for.
They threw it back in my face, demanding that I find the actual place in the code where the bug was happening, and that it wasn’t a proper “bug report” without that information. Sorry, but I just don’t have time for that level of arrogance. I provided exactly what the software industry demands for a bug report (workflow + reproducibility), it’s the support team’s job to use that spoon-fed info to dig into the code itself.
I mean, it’s different if I was making or requesting a specific code change, but I wasn’t. While I am a programmer myself, I wasn’t going to swan-dive into a completely unfamiliar codebase written in an unfamiliar language and built using unfamiliar tooling and spend weeks (if not months) of my own time learning it, just to reach a conclusion that they could probably reach in an hour or three with their own experience and familiarity with the product.
I didn't really mean to push it that far, but it's actually really fun trying to formulate this without even using "you" or "I" or "they". All I can come up with is "This is not a proper bug report without a line number." - "Actually, it is." Which really says it all. :)
> If you have examples where this kind of factual complaints are causing people to get banned, let me know.
From the email we are discussing:
> Using facts to excuse disrespectful language.In a number of conversations where you have been called out for communicating disrespectfully, you counter by stating what you said is a fact. While in many cases it is truly a fact, the way in which you convey these facts has not been appropriate. The CPG requires that if someone says they have been harmed through your words or actions, listen carefully, apologize sincerely, and correct the behavior going forward.
Mixing facts with disrespectful language doesn't stop the disrespectful language. I will admit it would be nice to see these messages, I tried having a Google and couldn't find anything from the betterbird author on public mailing lists.
> I've seen plenty of harassment which in principle insults code. It easy to say things like "Part X of the code base is a piece of * and should be deleted", or "Recent PR 1234 is awful" -- no-one's name is mentioned, but everyone knows who is in charge of X, or who wrote PR 1234.
I think this is more a matter of tone being hard to convey over text than such statements actually being harassment. Technical debt is more often than not nobody's fault in particular, yet often elicits similar commentary - and at least in in-person conversations, it's almost always clear that the commentary is directed at the code itself, not at the author - and hell, quite a few programmers will readily say such things about their own code (myself included).
"No talking about people" is a bit too much in some cases though. For example, depending on how it is applied, it might forbid introducing new contributors or project leaders, because such posts are about 'people' and not code.
Or, perhaps worse, if a major contributor fall on illness or other hard time, it would forbid the community from using official channels to rally to their support, because they can't talk about people, only code.
I like the spirit behind it, but maybe it could be improved. Maybe "avoid" is a really important keyword, meaning it isn't banned, but generally should be avoided. Perhaps that could be better stated?
Why should the community use official channels to rally for support? I am involved in Brazilian Jiu-Jitsu there was recently an incident that happened where a notable BJJ figure was shot by another BJJ practitioner after an altercation in a bar. Several people felt that the gym of the shooter should provide a statement. I asked them why? What does it do to have an organization "make a statement".
I feel the same way in this instance, why should a FOSS project in an official capacity rally around maintainers, why can't the people who are part of the project do it individually? In fact the more I think about it the more I like this idea, if an organization can be used to help an individual (or to hurt an individual which is the necessary corollary to that) there will be those that seek to use the organization for personal ends, whereas if the organization is solely focused on it's mission and only that, there will be fewer people seeking to weaponize the organization for their own ends, and the organization will be better of.
For example if Mozilla focused on their freaking web browser I would be happy to donate to them but those at the helm felt that Mozilla need to go outside of their mission to support other causes that I may not be in alignment with, and so I don't donate.
This constant need for everyone to foist responsibility onto organizations needs to end, organizations exist for the purpose the organization exists for, if you want an organization that makes the world a better place in a specific way you think it should be better go and start a non-profit to do it, stop trying to co-opt other avenues to do so. At the end of the day if someone feels that organization X should do something about Y, all they are doing is trying to shirk their personal responsibility while still feeling morally superior.
Because communities are made up of people. I wasn't so much thinking of organizations, but of the communities themselves. Many people who are involved in open source communities don't have any way to contact each other outside of the community.
If this is truly happening with informed consent, I'll say that it's morally acceptable to me - but still creepy, to a similar degree as, say, Scientology. In that case my question becomes, "what possessed you to give them that sort of power?"
What would be the optimal Code of Conduct? From looking at this and reading the FFmpeg mail thread, I'm currently leaning towards "Avoid talking about people." Just, try to avoid talking about people, period. If a technical forum comment contains no discussion of code, at least in theory, it's probably harmful to the project. As far as I can see, this also in the same stroke removes all potential for harassment.