Absolutely, yes. A growing community needs healthy management in order to avoid reputational damage to the core language. There's no shortage of guidance to "stay away from X tech because the community is toxic and non-serious"
In my experience the people who, when asked about the technical merits of X, immediately dive into value judgements of a “community” around it are best ignored.
If these types of people are in leadership positions, it’s too late and you need to move. If they’re below you, then you need to limit their reach and upward mobility.
Usually fair application of performance standards will flush them out anyways. Often people like that in your organization are shielded by a manager that’s protecting them.
Woah, mate. I think that way of thinking might be more-than-slightly career limiting.
The community does play a role in the ecosystem you’re buying into. You will most likely need to send PR’s / bug reports in at some point. If the core team tends to ignore bugs/external contributions, it is a point to consider.
Furthermore, if your first knee-jerk reaction to the behaviour you think undesirable in reports is to “limit their reach and upward mobility” I think you need to think seriously about what mentorship means.
in my short experience in software (7 years), it almost feels like there is more drama when a CoC mod team is involved.
without a mod team, you will still boot trolls or resolve a dispute. I think it's better to have a judge who can step in and resolve a situation than proactive police when it comes to OSS moderation.
My POV is one of privilege (I hate that word and concept, but it fits here). Being part of the majority most of the ways you can slice IT - except I am older but that one was a change!
In other fields I was made aware of what it is like to be part of other groups, and it can suck. I got married. My spouse took me on a tour playing "spot the detective". They got followed around shops in a way that never happens to me. When we stood together at a bar, they were served after me, every time.
A lot of people here know this from personal experience, a lot of people here it is academic reality, a lot of people here simply do not understand. OK. Believe me, it is real
I have been involved in groups that make efforts to embrace people from outside the main dominant (majority) slices (how ever you choose to slice it) and groups that do not. The former is much better.
Rust has truly benefited from it. Those in the comfy majority, it turns out, benefit too. I do.
Compare Rust and Swift (I use Swift professionally, Rust for fun) There is no comparison. Swift has so many corners that have not been rounded off. The ergonomics is mostly much worse (unwrap V ! is an exception). Memory management in Swift is almost non-existent, the threading model is appallingly bad. I could go on, but on one side is a vibrant community, on the other is a bunch of alphas, astroturf, and the weeds rolling through almost empty Apple forums.
The mod teams are a very important part of making the community a good place, making the community a good place is crucial for making the technology good.
> mod teams are a very important part of making the community a good place, making the community a good place is crucial for making the technology good.
Moderation teams are the cultural equivalent of a code smell.
The role of moderation is strictly to remove spam and move off-topic chit chat to the off topic bin. The expanded post-modern role of “moderation” is inherently toxic and degrading.
I would think more likely all the drama and more is still there without a CoC or a team to enforce it, it’s just hush-hushed and allowed to fester. The world is chock full of examples of communities quietly condoning horribly toxic and outright criminal deeds and abuses, often toward less privileged people, that have continued for decades because ignoring, suppressing and silencing is easier than the alternative.
Sounds like speculation. Every community needs rules, and those can be either tacit or codified. The former way is really pronlematic. Are you opposed to laws at a nation-state level as well?
in general, i believe in the effectiveness of running communities via benevolent dictatorship. a group that has good reputation among the rest of the members, gets to decide how disputes are resolved / who gets silenced, etc., without having to justify themselves against a byzantine set of rules. for many open source projects that hope to be used by the wider world, this governance model is unacceptable though.
Counterexample: Linux, GCC, Python, and practically the entire free software ecosystem from before the current crazy for hall-monitory-y supervision from above.
It is simply demonstrably, factually, clearly not true that a growing community needs the kind of structures that Rust imposed on itself.
It really makes me sad that a certain kind of person these days sees some kind of censorious overlord as essential for the formation of healthy communities.
> There's no shortage of guidance to "stay away from X tech because the community is toxic and non-serious"
A disaffected and loud minority says things like that, and the rest of the world goes right on ignoring them. Zero people in the real world avoided using the Linux kernel because Linus was brusque.
> Zero people in the real world avoided using the Linux kernel because Linus was brusque.
Actually, the best example of a project where the leadership of the project was so toxic as to drive away potential contributors would probably be glibc under Ulrich Drepper, which got so bad that most distributions abandoned glibc for the eglibc fork. (See https://lwn.net/Articles/488847/ for a high-level discussion).
Drepper was an asshole and people eventually routed around him, yes. The system worked. What people forget, too, is that Drepper's problem wasn't just an obnoxious personal style, but a ridiculous level of technical conservativism that led to critical bugs remaining unfixed for years. It was the latter problem that eventually prompted people to fork glibc, not the former.
I know very little about NetBSD and am a great fan of OpenBSD.
But Theo is a very horrible person who often attacks people in a personal way for disagreeing with him. I got into a stupid argument with him over fundraising - a subject where I have deep experience - and it was quite bizarre. He had a set of assumptions and disagreeing with them got abuse from him, and some of his minions on the OpenBSD-Misc list, and (I was astonished) abuse in my INBOX from throw away accounts.
Perhaps no user avoided it (though that seems unlikely), but can't you imagine why some contributors may have avoided it? Wouldn't that lack of potential contributions be a material loss for the project?
Who's to say that more contributors are turned off by Rust-style behavioral micromanagement? It's impossible to prove counterfactuals.
All we can say for sure is that dozens of critical projects in the past reached an amazing level of quality and importance to humanity without tone police lurking in the background and supervising it all.
I do wonder whether there's not some implicit benefit to this kind of management. Is it possible that by dissuading all but the most confident committers the project's contribution team self-selected for stronger devs? That would probably be bad for small OSS projects and good for kernels.
These "internet activists" you spend so much effort maligning are simply reminding you that there is a human being on the other side of that screen.
I'm not inside the Linux developers' world, but from the outside it seems like a much healthier, more vibrant place since Linus realized that he works with human beings.
> These "internet activists" you spend so much effort maligning are simply reminding you that there is a human being on the other side of that screen.
Actually, primarily they're reminding me that there's a human being on the other side of the screen watching everything I do in case I fuck up. How this is supposed to make anyone want to participate is a mystery to me.
edit: The weird thing to me is that these people are so hyper-vigilant to the damage bad behavior can do, and utterly blind to the idea that their own behavior can also be damaging. If I ever read a sentence like "we know that overmoderation and tone-policing can create toxic communities, and we're watching out for that" from a moderation team, I will know that this is a community that I can trust to be administered in an even-handed and fair manner. So far I have seen this once.
Well, the question is rather- what is a "fuck up" to them?
And to that- who knows? Certainly the point of a CoC is supposed to be to codify this, but I believe experience shows that its interpretation tends to be expansive, when the wording is not already expansive to begin with.
At the end of the day, events like Curtis Yarvin, a person who has never harmed a fly, almost getting banned from Lambdaconf over "safety" concerns, demonstrate that the fuck-up may just be having a political difference of opinion with the group in question.
(Analogously, and I say this as somebody who would vote Dems every time if they lived in the US, a moderation team that included at least one Trump voter would also assuage such concerns. Consider it a commitment to diversity.)
edit: To be clear, I am not asking for anything resembling quotas; just any demonstration of the ability of the team to coexist with a person they have serious ideological disagreements with.
I wasn't familiar with Curtis Yarvin, but in looking him up, you can't be serious, right?
>Yarvin's online writings, many under his pseudonym Mencius Moldbug, convey blatantly racist views. He expresses the belief that white people are genetically endowed with higher IQs than black people. He has suggested race may determine whether individuals are better suited for slavery, and his writing has been interpreted as supportive of the institution of slavery.
Curtis Yarvin is a bellwether - the sort of person that any group that starts excluding people for ideological disagreements, would probably exclude first precisely because his position is so problematic. So any group that accepts his technical contribution can obviously be trusted to tolerate any less-severe ideological disagreement. Conversely, any group that doesn't, especially when they have to make up nonexistent concerns to do it because their rules didn't cover this "obvious" reason to kick someone out and couldn't be hastily adjusted, must be viewed with caution.
I personally don't hold any beliefs nearly as objectionable as that. But I do hold objectionable beliefs - as I believe any halfway interesting person does. And those who don't, probably will eventually. Just stand by your convictions and give it time.
> Call me crazy, but I believe that you don't have to actively champion and invite openly racist people to conferences to show that you tolerate difference of opinion.
Sure you don't have to, but if you do, it's a hell of a signal. (At any rate, Curtis Yarvin was invited for his semi-esoteric functional-based distributed operating platform, Urbit.)
> If you're protecting personnel, even after a number of others in your community have shown disagreement with the person's actions (and protections afterwards), just admit you agree with those thoughts.
Sorry, I don't. Of course, you'll believe that I do anyway, and that's fine. I do think it's a bit sad that you think that the only reason someone could want somebody to be included, is because they were your ideological compatriots.
In fact, the only reason I want anyone to be included in a conference is if they have contributions to the conference's topic.
No, I think someone should be *excluded* from talking at a conference because they literally write Eugenics theory, regardless of the brackets, semicolons and spaces they write in a text editor.
It sounds like we just have a difference in moral standards.
I just disagree that standing in his presence is a matter of safety for anyone. It's possible to hold abhorrent views and still be a useful contributor.
Yes? They might have other useful ideas or opinions that I may benefit from being exposed to. People are multidimensional.
If there is a conference being organized about some technology, I'd like to see speakers who have the most to contribute, on that merit only. I couldn't care less if they march around with armbands on in their spare time. I'm suggesting that more people learn to compartmentalize.
To me, if they can keep it to themselves, they can believe whatever they want. Up to and including that I shouldn't have been born, though I may draw a line at believing I should be killed, depending on how mentally stable I believe them to be.
>I am not asking for anything resembling quotas; just any demonstration of the ability of the team to coexist with a person they have serious ideological disagreements with.
That would be nice... unfortunately, filter bubbles are such that it's hard for most people just to locate a reasonable person who has serious ideological disagreements with them. The current polarisation didn't happen in a vacuum.
Right, and the suggestion is that this human being (and all the other ones) should be responsible for managing their own emotional state, instead of shifting the burden onto everyone else.
One of the biggest contributors to R's success over the past decade is folks having negative experiences with the Python community, particularly folks who are women, non-white, or come from non-CS background. The R community (and RStudio in particular) has worked hard to be much more inclusive and you can see this clearly reflected in the diversity of users and package authors.
Linux with Linus, who famously had to change his abusive tone? GCC with Richard Stallman, accused of various kinds of sexual misconduct? Python, which felt it necessary to impose a CoC eventually?
What random accusations am I "spreading so wildly"? The fact that Stallman is being accused of various kinds of sexual misconduct is a fact. I did not anywhere claim they were true. I'm pointing it out because it makes the points above stand on shakier ground.
The article you shared also fails to defend many of the accusations against Stallman and completely ignores them, for example the "Emacs virgin girl" situation.
Technically, what you did was to insinuate, not directly accuse. Which one is worse?
Since you seem to have a great interest in this, do have any concrete reference to the “Emacs virgin” situation? I have only a vague recollection that Stallman was referring to anyone who had not used Emacs yet as an “Emacs virgin”, and some people took it as meaning some kind of sex thing.
(Any other references to the “many of the accusations against Stallman” that wasn’t referenced in the linked article would also be interesting to see.)
Linux and Python (not aware of GCC) effectively have BDFLs that can just nix anything (hence the "dictator" in BDFL). So these aren't just really comparable.
And they absolutely turn people off. The thing is, as long as it doesn't turn everyone off, it allows the project to move forward, because even with burned bridges, it leaves ownership clear.
Communal decision making, however, does not have that advantage. If both sides of an issue, so to speak, become turned off of one another, you are more likely to have an abandoned project. There are, of course, other advantages (you don't miss generally accepted "good ideas" because of the particular vision of one person, and you can apply community standards to everyone, rather than having to weigh "continued participation in this project that is important to you" vs "dealing with -that- asshole again"), but that is definitely one con.
Yeah it's comical because Linux has so obviously driven a lot of people away from kernel development. Tech is male-skewed, and OSS more so, but Linux kernel dev is even then still at the far end of the gender disparity spectrum.
> Yeah it's comical because Linux has so obviously driven a lot of people away from kernel development.
I hear this "a lot" very often, but then it seems to be from people who have no real interest in technical work of kernel/OS core development. Linux is not the only way to scratch your itch for interest in low-level system dev. Like, this is just personal experience, but I have heard this on the order of 50-100 times: someone parroting how toxic Linux kernel dev is because of drama they heard -- but then you kind of dig a little bit and see what kinds of software stuff interests them, what do they work on -- probably only once or twice has it been anything embedded, hardware related, close to the metal. I would need compelling evidence to change my opinion that most of the complainers have no interest in the work being done by the community they are complaining about -- and I am fully aware that a number of people have departed Linux development, but we are talking about a tiny number of the thousands of contributors over the years -- you can't please everyone.
The hobby OS, emulation and demo scene is a pretty good indicator for "natural"* gender breakdown. These tend to be tight, tiny communities or often lone wolves working on projects. It is male dominated. This can't be explained by any systemic or community gatekeeping - because there is no system nor any mandatory community for participation or distribution. Nothing prevents anyone from putting their work out there.
* I am not discounting there may be other systemic reasons that set up this condition - but it has to be societal conditions that are in place in early childhood -- something that happens a bit before one considers contributing to the Linux kernel.
Agree completly. I would add that not just they are not interested...they have nowhere near enough skills to do anything in the kernel / os development space
Are you aware of how many people have been driven away from Rust because of their community? I've never seen people talking about avoiding Linux even 1/10th as much as they talk about avoiding Rust. It's entirely due to the culture; developers don't like a culture in which a programming language needs a multi-member moderation team (who resigns because they can't punish people 100% of the time).
In my personal experience such statements are actually not rare among specific minorities, and only in spaces between those minorities. They will never be said in a public way, because it makes them targets. I've been pulled aside by fellow minorities and warned against communities I had expressed interest in in the past, always in private in confidential spaces.
But what you're saying is that people will disagree about what communities are "toxic and non-serious". I might think that, e.g. much of the blockchain space easily matches that sort of description, but it would be harder to say whether that's a majority or minority viewpoint.
Because it's good for people to have and to share diverse opinions. The point of moderation is to prevent fringe elements from ruining something for everyone else, not to enforce homogeneity where consensus has yet to be formed.
I openly advise my students to stay away from posting questions on StackOverflow and ask for help among their peers and teachers. At least until they're able to clearly grasp what the "Minimal Complete Verifiable Example" is, how to minimize code, and how to google problems with slight variations, which are not easy skills.
It's not to say that StackOverflow is generally toxic. It is, though, unusable by beginners, and it's mostly by design. And I don't think there is a good way to communicate this to a beginner whose question has been just closed because it lacks details.
This could be Berkson's paradox (https://en.wikipedia.org/wiki/Berkson%27s_paradox) in action. Larger projects probably have more toxicity than smaller projects and are more likely to have a CoC. The result is that the two factors appear to be correlated even if they are independent variables.
We’re almost there, I’ve blacklisted all OSS with CoC from our products/services.
We’re down to the last 2, in house rewrites have replaced the rest with superior performing alternatives.
I would normally support pushing our clean sheet rewrites MIT, but I need a license that prohibits the addition of CoC in all derivative/downstream/forks.
In the mean time I’ll settle for a competitive advantage.
> There's no shortage of guidance to "stay away from X tech because the community is toxic and non-serious"
Absolutely, but the remedy is often worse than the illness. Codifying good behavior - and in particular policing language - tends to become a bureaucratic and endless black-hole project that sucks up all energy and resources, no matter the justification. There is no shortage of moralists in this world. A common misconception is that by declaring you are against toxicity, you cannot yourself be toxic. In reality, there is no such silver bullet.
Toxic behavior is either deliberate or unconscious. If you want to be an asshole, there's plenty of room within the guidelines - it thrives within wokeness, meritocracies and BDFL-run projects alike. And if you don't think you're an asshole, not even the best CoC will change your mind. There's no shortcut here, you have to confront people directly with concrete criticism, and allow them to change, or in rare cases remove them.
For instance, Linus toned his style down after realizing the effect it had on people, not from reading the sacred CoC scrolls. In fact, I have never seen or heard anyone who has meaningfully changed their behavior from a CoC.
In less censored circles, Rust has THE worst reputation of any programming language purely because of this kind of management. The entire reputation of Rust is "that language made by insane leftists... with some memory safety or something". I've never seen any language community with a worse reputation, including JS.
That person is no longer the (interim) executive director. In fact the Foundation decided to go without anybody filling the post for a couple of months instead of them until they found a permanent replacement - which they did just days ago.
Rich Hickey specifically said that some Lisp groups were extraordinarily toxic, and it's something he wanted to avoid in Clojure. (I think it was in his HOPL talk).
Also, I would say that help-bash@ and the bash IRC channel are pretty toxic.
By "toxic" I mean that there's just a general culture of negativity, insults, hazing, and assuming the worst. There's definitely a thing where computer nerds try to one-up each other, and highly technical or obscure topics like Lisp and bash tend to bring that out.
I have a memory of comp.lang.c being pretty bad too, but I didn't participate for that long, and this was long ago.
Honestly it's funny to me that people think HN is toxic, because it's not even close to those forums in my mind. (well maybe that's because I almost never read the politics threads on HN, but still)
> Honestly it's funny to me that people think HN is toxic, because it's not even close to those forums in my mind. (well maybe that's because I almost never read the politics threads on HN, but still)
I strongly agree. I was reading the archive of an early infosec group the other day, the culture was extremely hostile. 70% of the posts were insightful technical discussions, the remaining 30% was full of personal attacks and name callings, merely reading those posts made me want to throw my computer out of the window.
I'm not saying HN is great, but to give a sense of scale: on HN, that type of posts would be flagged to death almost immediately.
I think what people sometimes mean when they say "HN is toxic", is raging incompetence paraded with confidence (and getting upvoted), which I've seen many a time here. Similar to reddit.
Infosec seems to have its share of angry people in general. One notable blog you’ll see on here from time to time generally has informative or moderate content, but the comments always seem to be a bunch of pointless shouting at things not really related to the post.
> Rich Hickey specifically said that some Lisp groups were extraordinarily toxic
This is an interesting topic I try to stay away from here, for obvious reasons, but so many lisp communities I’ve seen seem to form around these cult of personalities or have the most, err.. eccentric members. More so than any language I’ve seen. People like to joke about Haskell programmers being cult like, but I’ve been down some really wild rabbit holes with lisp.
Ironically I recall some allegations against Hickey a while back that if true would land him in that category.
That's interesting, I also came to the conclusion that lisp communities skewed unpleasant. I think it's because they tend to be people (men as it happens) who are older and were around at the time of the original IRC culture, which was quite aggressive / countercultural / unprofessional compared to modern professional standards in tech.
I have never seen that on the table to be honest, certainly not on implementation language topics. There was some uncertainty with Java and licencing that I remember, but it is mostly about the issue on how to acquire talent.
People tend to be careful with Rust because it is a relatively young language. Many medium sized business don't have much capacity to experiment but would still try it without too much convincing.
Far more relevant it access to professionals that have experience with the language. That is something that grows very slowly. The JS community is pretty "expressive", but it is still a popular choice because you find a lot of people with experience here. My boss would expect all these nerds to behave badly anyway. I doubt he will ever change his opinion but the next generation might.
Absolutely, no. Bureaucracy is not a substitution for being properly socialized and knowing how to interact with colleagues. In an earlier time they called this good breeding.
Setting up little etiquette kangaroo courts with the power to arbitrate who is allowed to remain in the community is just fundamentally alienating.
I used to believe good ideas were self-evident, thus less structure was a good thing. Now however, I'm very conflicted. Those with enough previous influence can remain unchecked and sway the popular interpretations of the language and development.
Remaining small and consistent is still a nobel goal, but new features can be a boon to the community.
There are programming language theorists and practitioners who love writing formal specifications. They are just too busy doing that to author many languages. Formal specs are expensive.
They agreed to the code of conduct by agreeing to be members. Also, regardless of the lack of details, they clearly want the core team to be held to the same standards as every other Rust team.
Just because I put a brick through your window with template EULA language stating you accept and hereby authorize me to have hurled the brick through your window and that you, the recipient, now indemnify me, the thrower from any damages caused in the process of the message on said brick making it's way to you for recipient, does not mean you can go around chucking bricks through folks' windows. Despite what the tech sector really, really, REALLY hopes people never become irritated enough to actually bother to read up and hold them accountable to.
Meeting of the minds, people. It means something damnit. Just because a bunch of you shoved some boilerplate in the repo doesn't make it binding, and the fact you did, like it or not, alienates a bunch of people who would otherwise be more than happy to extend a helping hand if the extent of the relationship was only the proposed contribution.
t. someone very selective and wary of contractual language when they can afford to be