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.
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.
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?
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.
> 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/ 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 mean, I think ReiserFS deserves an honorary mention.
NetBSD -> OpenBSD
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.
What an arsewipe!
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?
Your counter examples are questionable at best.
He changed his tone, he wasn't "cancelled" as how it is a fad to do today. There are no "cocs" for a very long time now. It's only after pandering to the SJW's that are unfortunately causing harm to everything they touch.
If “accused” is the worst you could come up with, maybe you shouldn’t spread random accusations so wildly.
Anyway, regarding Richard Stallman and those accusations of “various kinds of sexual misconduct”:
https://sterling-archermedes.github.io/ https://sterling-archermedes.github.io/
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.)
...I think many people would disagree with you about Linux. And perhaps GCC as well.
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.
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).
>gender
sex - sure, but gender? we got plenty of females in OSS!
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.
> 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.
> 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.