I am not sure what to do about the burnout problem. The way he described it is very on point though. Since everyone working on the project is overloaded there is a great feeling of things only get done if you do them.
Most of my open source work was in the pre-GitHub days when we used mailing lists, not pull requests, to build community. I do think there was something better about that for the project itself as it encouraged a lot more discussion and community building. PR's and Issues become silos and are not great for general discussion. I think they also encourage drive-by contributions which honestly are intoxicating initially but once you see people are not coming back become defeating.
When I was a schoolteacher, the way I expressed this is that you have to do the job in such a way today that you're capable of doing it again tomorrow. This did not go down well and I am no longer a teacher.
Every team I've worked with that was feeling exhausted about code contributions actually needed to focus on better documenting guidelines but most importantly, improve CI. Catching silly mistakes is the textbook definition where automating stuff can help the most. This should improve reviewer's peace of mind and speed things up because people will work by themselves to fix things before asking for a review.
I don't know what's the CI situation in the Rust project but if it's anything like what I'm used to, it probably needs improvement. Adding more human-hours to reviewing things isn't sustainable.
> rotate responsibilities. don’t have the same person assigned to the majority of PRs.
The other extreme is a "bullshit job", work that you don't enjoy and which serves no meaningful purpose.
[0] https://www.bbc.com/worklife/article/20231010-the-acute-suic...
Software in general has a burnout problem. I am regularly stumbling around like a zombie by friday afternoon, and that's just for my actual, paid job. If you added maintenance of a large open-source project like Rust ... I don't see how I would manage it, at least without letting my health -- and probably my family -- suffer for it.
I know that some people are fortunate enough to be paid for their open-source work, but that doesn't mitigate the burnout from software engineering itself. Add to that baseline stress the fact that your customer is "the internet" and feedback is often coming from "whoever is currently angriest," and it seems wildly unsustainable.
At the same time lint tools sometimes move into the 'pedantic unhelpful' field because those things are the easiest to check (no, nobody likes pep8 and its brain-dead char limit - Black is much better)
But yes, if it can be automated it should be automated
Here, by "job" I mean the traditional kind at a corporation or medium-sized organization. After seven years of working in such organizations I realized the only thing that was fulfilling was quitting and doing a bunch of random things like contracting, content-creation, and other passive income streams.
Of course, that may not be for everyone but I still think (after talking to hundreds of colleagues in various places) that after a while, most jobs suck. Sure, some of them pay well but then again, I personally feel that no amount of money is worth spending the best part of your youth doing mostly meaningless things. And, if the money IS good enough, it makes sense just to work for a decade and then retire early...
These are hard problems.
We had to let our pupper go a few weeks ago. The vet had to basically sit there and watch us while we processed the fact that we were about to pay her to kill our best friend.
For us, it was the worst day we had experienced in years. For her, it was Tuesday. She had other people waiting in the room next door, and had to go from solemn to bright and cheery over the span of ten footsteps, and she has to do that every day.
Her job is often to put a very real price tag on the life of a beloved companion. "I'm sorry, but keeping him alive will be $10,000... or we can humanely put him down for much, much less."
It's grim business. Necessary, but grim.
The large OSS project I contributed to thankfully had other contributors that were good role models for these behaviors and it helped seeing them disengage to do other things for a while.
Oh, but I suppose that's not compatible with the "no one left behind"-type rust manifesto.
Pacing and self-regulation. It’s a marathon not a sprint. Set an hours-per-week budget. Beyond that things just don’t get done. That’s okay.
If the community needs faster pace, they can consider supplying hours or dollars to fund more developers to work full-time.
CI is good. more tests are good. but there's a limit to how much they can catch.
here is an example: there is an internal type checking API called [`resolve_vars_if_possible`](https://doc.rust-lang.org/nightly/nightly-rustc/rustc_infer/...). this needs to be called on the output of almost any call to `.normalize()`, or you will get an internal compiler error. the conditions under which you get an ICE are quite complicated; sometimes you need 6 or more items in the crate with `impl Trait` or type_alias_impl_trait or const generics involved. but it's very easy to see there's a bug just by looking at the code and seeing the missing `resolve_vars()` call.
how can we automate this? well, rustc has a mechanism for "internal lints", but they're somewhat annoying to write - you're basically writing a new compiler pass, and it needs to not have false positives. it's much easier to just catch this one instance. so the reviewer, who's already burned out, does this quick manual review instead.
Glad some said it. When things are too organised or categorised it just becomes another business/todo list.
veterinarians are the most realists people in the medical field. While you put cost as the main factor my experience it is not simply a math problem, it is often a quality of life issue. Spending the $10,000 to extended a pets life for a another year is rarely about making the pet better, it is emotional support for the human companion of the pet while the pet will end up suffering for the year and die anyway.
So yes it is often cheaper to humanely put a pet down, it is often also the most ethical thing do to even if money was not a factor.
I call them realists because the face the inevitability of death head on in a way that we do not do in Human Medicine where we believe maximization of chronological age is the singular goal to be achieved at all costs with no regard to cost, pain, suffering or quality of life.
Safety first, people. Take care of yourselves.
I'm not sure whether it's more to do with the way the project is organised, the state of the codebase, or the sort of person that's attracted to working on Rust in the first place.
Get paid for it, and don't do anything more than you are paid to do.
I've done volunteer work, per se. My biggest takeaway has been that humanity overall is not worth giving away my free time to.
When I volunteer my time now, I do so only for individuals who I know will sincerely appreciate it.
Rust seems to have vengeful victory at its heart: "Let's sock it to those reckless, ignorant C programmers."
Open contributions project.
An open source project does not necessarily have to accept random contributions, issues or hatemail from the general public. [1] They just need to make the source available with a permissive licence, period.
I believe that Linux with its idiosyncrasies in its communication model (mailing list vs the ease of Github, strong dictator running the show) works as a great filter from entitled users, and that's an underrated feature in open source. See also sqlite.
---
1: Yet hell will freeze over before Github lets maintainers turn off the PR tab which would lessen this problem a bit.
It depends on why you’re doing it. Supporting a family, and contributing money and spare time to your community, are very meaningful. I’m building <yet another API> for <Company> in order to do my real job which is being a parent and citizen.
i am trying to model these behaviors; this post was primarily intended for other people working in the project. i feel pretty strongly that this is a cultural issue moreso than an individual one. i have seen too many of my friends burn out to say it was all their fault individually.
And then that becomes a bit of a barrier to contribution -- it's a tradeoff
I often write an entirely new test harnesses for a feature, e.g. for https://www.oilshell.org, particularly using other implementations as "oracles". All of these run in the CI - https://www.oilshell.org/release/latest/quality.html
The good thing is that it definitely helps me accept PRs faster. Current contributors are good at this kind of exhaustive testing, but many PRs aren't
Even so, I do find myself simply adding test coverage from time-to-time -- that's an important job of a maintainer
> “it won’t get done if i don’t do it” and “i need to review everything or stuff will slip through” is exactly the mindset of my own burnout from rust.
I've already caught myself getting into this mindset a few times.
For one particular issue, I got a bit mad because it felt like I was the only one trying to move a critical issue forward, and other people were treating it as a distant priority. In that case, what helped was moving away from the issue for a few days, and seeing other people pick up speed and make progress on it in the meantime. Having supportive colleagues is super helpful.
I don't know how much this will be a problem in the coming year. I'm hoping we can strike a healthy balance.
Ironically, the solution from my perspective is the opposite of most advice. It’s not for everyone to become drudging zombies apathetic about their work and just kicking the can, it’s that more people take pride, ownership, and accountability in all aspects of their lives.
Having gone through burnout and a lot of therapy, my conclusion was that my burnout (and I think others too) was caused by being a caring decent person in an uncaring world. There are far too many people who surround all of us who are apathetic and/or incompetent, yet are entrenched, and being “forced” to carry their burden has an amplified effect on the misery we feel when doing that work. When you work with a team that only has accountable, competent, engaged people it becomes energizing rather than draining.
Realistically even if I am entirely correct above, this isn’t a solution. This is just a confirmation that in my experience the old adage “hell is other people” is true and the primary driver of burnout.
Consider: this attitude of nod and a wink “can’t name names” strongly contributes to burnout in every community i’ve seen it in. Rust has it in absolute spades, but i’ve seen it eat other groups alive too. Maybe we can stop doing it.
That might equally be a stylistic choice, but I my gut says it's not.
Sometimes the right answer is to immediately say "your PR is not up to project standards, it won't be reviewed, please revise it yourself if you want it accepted". It's not a job of a maintainer to educate every wannabe-contributor.
yes, there are lots of things you can do to get work done that don't involve you personally writing the code. i would like to write a post about that at some point but i have at least 3 blog ideas up in the air currently so it might take a while
I'm confident that GitHub has a good prediction on what will happen if they roll out features that lower the burden of maintaining a FLOSS repo. And am rather certain that several of these features also lower the engagement. And therefore will not be implemented. In other words: the needs and goals of GitHub/MSFT and those of Open Source maintainers don't align perfectly. Yet the power balance is way off, so open Source maintainers will experience pain to a level that they almost walk away in great numbers.
Isn't this a characteristic of active contributors of many (or I daresay, most) large open source projects?
I am not an active contributor to any big OS project but whenever I stumble across the Github issues sections for one of them, they are full of "by when can we expect to see this fixed?" kind of questions.
That's a useful distinction and a good term.
So in total projects can be classified as:
- Source available or not
- Open source or not (a subset of source available)
- Open contributions or not (also a subset of source available)
- BDFL or community driven
That's a lot of variation and may explain why so many conversations about open source sound like people are talking past each other-- they're talking about different kinds of projects!PS: Regarding:
> 1: Yet hell will freeze over before Github lets maintainers turn off the PR tab which would lessen this problem a bit.
I wish there was a standardized way of declaring this, I always feel so awkward writing the "no PRs" disclaimer on my toy projects.
Also, and this can be the hard part, is sometimes you have to have someone who (even politely!) can be a bit of a dick when necessary. People scan be quite entitled and want to boss everyone around and tell them the project is run wrong - if you don’t actively run at least some of them off the devs will curl up and disappear.
Also having a defined procedure for “hiatus” helps quite a bit - make it easy for a dev to say “I’m off” and it can be indeterminate - this allows them to easily come back later. Encourage devs to use it liberally.
But if I don't work overtime how can I rewrite everything in Rust?
What's that even supposed to hint at?
Every time I release something new, someone hates it.
It was hard for a bit, but I've been doing this for years.
Honestly you just gotta tune out the noise and prioritize what you want.
Open source project is a bit harder because you have to collaborate more than I have to collaborate with my gamer fans, but still, stop people pleasing and prioritize yourself.
And it’s especially bad in a blog or similar, where there is one writer and multiple readers. I spent maybe a few seconds on this post, but it will be read five, ten, fifty times. If I wrote the whole thing in text-message shorthand, it’d be stealing time from each of those readers.
It also helps people who do not have English as their first language if you avoid abbreviations and incorrect usage.
Yikes! That hits way too close to home. You didn't have to attack me like that.
In seriousness, this is a very astute and correct observation. Noticed it in myself and several others as well. It really pays off to correct your level of caring with what you see from your superiors and colleagues (and peers, in non-commercial activities).
Rust has something of a self-image of always being best-of-breed in everything it attempts, so I could believe that it might be particularly attractive to those sorts.
Other possibilities might be that Rust developers skew younger than average (I don't know whether that's true), or that its six-week release cycle attracts people who think that a year is a long time.
To clarify, I was more responding from the perspective of the workplace rather than the Rust project. That said, I have been an open source contributor off and on since 2003 and my observation has been the situation isn’t much different.
In a project, rather than apathetic coworkers, you deal with users of the project that have complaints and expectations but without the ability or motivation to contribute themselves. I imagine Rust has slightly less of this than the consumer-focused projects I have worked on, but people are people at the end of the day. Contributing to any large project is largely thankless because there will always be one more complaint/demand issue, or one more PR from someone that didn’t read the contribution guidelines.
It can turn what you’re passionate about into a slog, and while the form may differ, it’s not meaningfully different from having apathetic or incompetent coworkers dragging you down.
To be honest, dealing with open source slog is slightly worse, because it takes much longer for the hope to die. Somebody that submits a bad PR seems to care somewhat, it’s not total apathy. Somebody that submits a whiny issue at least demonstrates that they used the project and cared enough to write. But both demand your attention without demonstrating competent contribution in and of themselves. It’s somehow worse than the coworkers that are on an in-office vacation.
The problem is this tooling is used for the wrong job.
If the only "discussion" about an issue is the bug report/pull request, that's wrong. That should be only the first/last step. Unfortunately, for many projects there is no other communication channel anymore.
So then people use what exists and is available - PRs and issues on Github. Which are both very poorly adapted to any sort of discussion. But if all you have is a hammer ...
It used to be that the first things a new project got set up was a mailing list, then maybe an IRC channel, perhaps a shared code repository (likely CVS or Subversion) and only then an issue/bug tracker (usually Bugzilla, Track) when the project grew large enough to need it. In that order.
This culture of project community discussion has been largely lost with the younger generation of contributors that don't use e-mail and many don't even have an e-mail account (or don't use it except for signing up for services). Mailing lists have been seen as "old school" and poor UX, so have been largely replaced first by silos in the form of web forums and then later by Discord, Reddit, etc.
All that makes it great and easy for anyone to come in and post something there (the signal to noise ratio is usually not great) - and absolutely terrible to find anything, to actually coordinate work of a distributed team or to track multiple busy projects. E-mail comes to you and can be automated - forums, Reddit, Discord, etc. you have to actively seek out, follow and manage. Poor project maintainer having to deal with that ...
There are good reasons why projects like Linux kernel still use mailing lists for coordination or even sending patches (!), despite the huge size of the project - it simply makes the life of the maintainers (i.e. the people doing most of the actual work!) easier.
Any special reasons? Just because I like to know people through their choices and views. Didn't want to sound rude in the previous comment, so if I did, genuinely sorry (non-native speaker woes).
I would agree, at least I am like that when using Rust (though I don't contribute).
And it's true that this is a shortcut to burnout.
> or that its six-week release cycle attracts people who think that a year is a long time
I don't speak for the Rust project but to me this always sounded like a measure to avoid stagnation. Having six week slices helps remind people that this is not only a labor of love; many people out there are counting on you to get your stuff right.
Obviously Rust isn't governed like a commercial project (and thank the gods for that) and obviously many things still take years to complete but for me at least the six weeks release cycle would serve as a periodical poking a la "Hey, is your stuff progressing even a little?".
Don't know though, could be just my interpretation.
Also as a generic tool I think it ought to support multiple paradigms and it does not. Just because they (language designers) believe that doing thing their way is superior to what others might find more appropriate does not make them right.
Personally - I would use Rust if clients insists which so far has never been the case, otherwise I would take a subset of C++ any time over.
I just wish they had python syntax, I'm not smart enough for {};
I feel it's in the same class as not using paragraphs, ignoring punctuation, or having egregious spelling mistakes.
It feels lazy and dumb, and honestly it taints whatever point you're trying to make.
1. writing in lowercase is freeing. it reminds me that grammatical rules are arbitrary, and by extension other rules. "you can just do things."
2. people who are pedantic about this when it's clearly intentional are probably not people i want to interact with anyway, so it's a good anti-asshole filter (https://siderea.dreamwidth.org/1209794.html)
Capitalization goes hand-in-hand with punctuation. A period is only part of the formula that tells a reader that a complete thought is done. Capitalizing the next letter is a signal that the next complete thought is starting. The reader doesn't have to continually guess whether the punctuation was incorrectly or accidentally placed.
I pushed through your style choice and read the article because what you had to say was interesting and important. But not all readers are going to grant you the same courtesy. If you really want the widest distribution possible do your readers a favor and capitalize things according to the rules.
You used paragraphs and correct spelling, as well as avoiding things like run-on sentences and sentence fragments. It's obvious you want people to your read your work. Whatever reasons you have for choosing to not use capitalization, those reasons are not as important as the message you are trying to spread.
I realize I am in minority, but for me, if project uses a mailing list I am more likely to do a drive-by contribution (compared to no contribution at all). Just doing git send-email is much easier compared to figuring out how to create whatever pull request is called in whatever forge the specific project is using.
Besides, is lowercase poetry a fuck you to the reader as well?
As an Eastern European I always found fascinating how many Westerners are struggling hard with this. To me and many of my peers (and apparently to Linus Torvalds and a good chunk of the entire Nordic culture, probably?) it's the easiest thing in the world to say something like:
"Listen up dickhead, I do this in my free time. If you don't like the direction of the project or the urgency with which your issues are [not] being addressed, you are free to not use it, and it also costs you nothing to not comment at all. I got better things to do than to reply to entitled cunts, now piss off."
It's very amusing what a huge drama many Westerners make out of just... being direct. Honest. Straight to the point.
"But he won't ever contribute and he might infect others with the opinion that the project leaderships is toxic!"
OK. That's a price I am willing to pay. My mental health > the second-hand opinion of people who were only 0.1% likely to contribute anyway. The math is very easy yet so many Westerners struggle so much with these [to me and many] mega obvious solutions, like "be a bit of a dick when necessary".
This is really very similar to the discussions I had with a lot of women long time ago. It goes like this: they tell me:
"I have to go tell X and Y about event A because otherwise Z will tell them lies and they'll think something wrong about me."
To which I reply with a cold expression: "Then you don't need X and Y in your life, if they can be so easily influenced by lies and won't even ask you about what truly happened."
Their expressions were priceless. The cognitive dissonance can hit us all VERY hard.
Back to the topic at hand, yes, I firmly believe all open-contribution projects need a Linus type of person. It's also a fact that many devs are introverted and can be chased away by entitled and insolent loud people. So somebody must put a shield in front of the devs.
Cheers!
You also need to close issues after a set amount of inactivity[2].
If there is a bug without a CVE, or a feature someone wants fixed that users don't want to submit a fix for themselves AFTER it has been discussed with the maintainer in an issue with a replication or strawman proposal and the owner has created a draft pr and asked you to work on it, it probably needs to come with a Patreon donation[3]. This can help alleviate maintainer burnout by allowing the maintainer to hire someone to make the contribution.
A software shop wouldn't operate without some kind of iterative plan. Large open source projects with single maintainers shouldn't either. Scheduling 1 or 2 hours a week for issue triage, hosted in an online meeting, and limiting WIP in terms of open PRs to be discussed during this triage meeting should allow for both community interaction and strong governance for the project and prevent burnout for the maintainer.
All of this can be placed into the Readme or Contributor guide and a CLA that contributors have to sign.
Otherwise, people can fork and maintain the project themselves.
If you want to prevent flame wars, or demotivating comments, something like a comment sentiment analysis app[4] might even be a good idea to add to your project. There are plenty of models available that you can delegate to for this in the wild, and it's worth automating moderation to prevent burnout.
Finally, really toxic users can and should be banned[5]. It's not worth it to deal with anonymous negative contributors all the time.
1. https://github.com/marketplace/actions/close-pull-request
2. https://github.com/marketplace/actions/issue-triage
3. https://github.blog/changelog/2023-10-03-sponsor-projects-th...
4. https://github.com/marketplace/comment-sentiment-analyzer
5. https://docs.github.com/en/communities/maintaining-your-safe...
But it didn't start off that way. I shepherded it -almost entirely alone- for a decade, before I found a dedicated, motivated team that I trusted to take it over.
They have done wonders for it. Most of its explosive expansion has taken off, under their watch.
Walking away from it was the best thing that I could do for it. The last thing these folks need, is a "Benevolent Dictator," peering over their shoulders, and giving suggestions.
During the gestation decade, I had to be a not-so-benevolent dictator, many times, as people tried to take it over, change it to suit narrow sub-demographics (at the expense of everyone else), and even change its entire raison d'etre. I got a ton of pretty vicious hate mail and there are people that still hate me (I cry myself to sleep over that, every night), after a decade. In one instance, I had to wait until one nasty old bastard popped his clogs, before I could spread it to the entire Pacific Northwest.
During that time, I learned how not to behave. A lot of that hate, was because I'm actually pretty good at slapping back, but I really needed to learn diplomacy. Even when they are nasty, and we are right, we often need to just swallow our pride, and let the dervishes whirl.
I don't miss working on it, and I'm really glad the new team are doing so good with it. I suspect there's very little of my original code in it, but the team mindset is still very much what I established.
I am about to release a project that actually uses that infrastructure as a feeder to my backend.
rust has a conflict avoidance problem. i think rust could be much more effective at saying no, and saying it more quickly. i want to talk about that in my next blog post.
Please don't complain about tangential annoyances—e.g. article or website formats, name collisions, or back-button breakage. They're too common to be interesting.
I guess it's like user interface design, where a cardinal rule is to be conservative, and not break user expectations unduly.
Of course UI patterns and language evolves, but the evolution of changes should probably be gradual, and done for a justifiable purpose. In this case, I'm not sure the stylistic choice actually adds anything to the clarity or beauty of the writing.
https://github.com/orgs/community/discussions/13130
https://github.com/orgs/community/discussions/65343
The feedback is overwhelmingly negative, and has severely disrupted many people's workflow, but GitHub doesn't even acknowledge the problem.
Engagement means people have you in their workflow, on their radar. I would love it if Github is something that I don't have to think of, that is invisible and out of my mind. I'd love it if it's something I never have to visit, open, see or interact with; as as little as possible. I'd love it if it were preconfigured to take work from me rather than impose yet another inbox, timeline, bookmarks, "likes" and so on.
And if you consider "advertisements" very liberal, that's exactly what Github is: a place for companies to attract eyeballs and engagement on their software.
https://arstechnica.com/gadgets/2018/09/linus-torvalds-apolo...
GH is Microsoft's ploy to kill open source once and for all by facilitating burnout.
(obviously false, but entertaining to think about)
Were cursing and expletives necessary? Absolutely no. They don't drive any point forward.
But: is showing people the door when they are entitled or unprofessional necessary? Very, very much yes.
Feel free to read into the article as your beliefs incline you to. I've known many people like Linus and they don't get "change of hearts". They simply get sick and tired of being misunderstood and just remove themselves from the situations that cause it.
Most of the discussion is people suffering through GitHub-style social networks. I don't see a lot of people talking through each other, as much as I see people assuming this is the way, and others pointing out it's just one option.
At some point we have to acknowledge that GitHub is a toxic social network. The toxicity is way more hidden than Facebook and others like it, but it's there too. Every universalist social network is toxic.
I am not saying this was perfect or even better. Just that the side effects were different. Probably a lot of people did not bother contributing because the barrier was too high, but overall I think it created healthier community dynamics and it was not uncommon to see people begin as users asking questions, and evolve into users answering questions and eventually contributing to the development.
In a comment on another Rust-related post, the author noted that, "rust definitely skews younger than average. i don't have statistics on hand, but almost all people i know working on the project are younger than 35, and a surprising number are 17-25."
I've messed with Rust a bit and I like it. I like the ideas and lack of compromise. But good ideas and a lack of compromises are what you get from youth, along with the arrogance of style choices that make things harder to understand. Will Rust stick around once these folks have bigger responsibilities?Otherwise the amount would be arbitrarily close to zero.
You can see with D, Rust, haskell, and whatever else, the transition to working on an ecosystem with easy to use and polished tools, IDEs, debuggers, autocompletion just never happens. The languages that get heavy use like C++, java and python solved the chicken and egg problem of having an ecosystem at some point where there was an actual workflow instead of just a hacked plugin and a command line.
frankly i don't want a larger audience, i didn't expect this to hit HN. i hadn't thought about it being harder to read for people in the project though, i'll do a poll on whether they find it distracting.
Linux shows us at least one way to run a successful long term project. What is their governance model?
A problem I have is I don't know how to work if I don't care. At my last job I tried to not care and succeeded, but then got fired for poor performance.
Are there sufficiently productive people who don't care? Or does everyone care, but some hold themselves to impossibly high standards?
I don't know how to separate "lower standards" and "stop caring". They are the same to me, because lowering my standards requires not caring about the things that comprise my high standard.
Some of the PRs I submitted were pretty dumb and a complete waste of someone's time to review/reject but they showed enough patience to help me get "over the hump" and to eventually get commit access to the repo -- which didn't really help with getting features implemented because I have an apparently unlimited supply of dodgy ideas and would get "why is this needed?" a lot. I also had a habit of getting code to about 80% there before doing a PR "for discussion" knowing full well the lead maintainer would fix up the remaining 20% if it were a valuable enough addition.
Probably also helped that the project has a history of working with GSoC students and the devs were a generally helpful bunch with getting new contributors up to speed on the codebase.
Honestly, if they weren't so welcoming I'd be half the halfassed-coder I am today.
Create a backlog of tasks that you would want to do in a week. Then do it in a month.
Not caring doesn't mean slacking off. It means to reduce your output.
The HN mod team may find it not to their taste, but they don’t get to decide what is or isn’t generally interesting.
IMO content over style. Nobody owes you adherence to a particular set of rules, nor do they owe you their thoughts at all. If the writer's style is a bridge too far for you, kindly just close the tab, don't complain about it. Certainly don't use hateful words to describe them.
Remember, the same English teachers who taught you to capitalize also taught you that there is no singular "they" and that you should use "he/she" instead.
If I make a peanut butter and jelly sandwich and offer it to my friend next to me, and someone across the street yells "How rude of you! I'm allergic to peanuts", I will just close the window and continue sharing sandwiches with my friend, not spend time arguing with the yelling guy across the street.
That's your answer right there.
Do you know the age old saying "That is above my paygrade."? It means you shouldn't care more than what you are paid to do, which in turn will hopefully prevent you from burning out.
>I don't know how to separate "lower standards" and "stop caring".
You need to remember that your personal satisfaction ("I did good work!") is independent from your peers' satisfaction ("He did good work!"), and that correlation is not causation.
Life is short, draw a clear line between your personal and professional lives and budget your limited capacity for passion appropriately.
https://brson.github.io/2017/04/05/minimally-nice-maintainer
It seems like people making contributions to the C and C++ standards are also at risk of getting burnt out: https://thephd.dev/finally-embed-in-c23
> It was all worth it.
> …
> Or. That’s what I keep telling myself. Because it doesn’t feel like it was worth it. It feels like I wasted a lot of my life achieving something so ridiculously basic that it’s almost laughable. How utterly worthless I must consider myself, that hearing someone complain about putting data in C++ 5 years ago put me on the track to decide to try to put something in a programming language standard. That I had to fight this hard for table scraps off the Great C Standard’s table.
> What a life, huh?
I sure hope we are allowed to criticize writers’ styles.
I used to move around a lot, but I've since put down roots. There is something you miss out by constantly upheaving your life. Nothing is permanent, but letting flowers blossom over long time periods can be rewarding.
Writing C makes certain classes of sloppy assembly bugs unwritable, like accidentally using the wrong calling convention, forgetting to preserve a register, or forgetting to pop something off the stack. Similarly, Rust makes classes of sloppy C bugs unwritable, like using a dangling pointer.
Why do you view that as an attack on C programmers? It's no more an attack on them than C was an attack on assembly programmers.
As an author, if you notice that your style choices are generating more interest and discussion than the actual content of your writing, it's probably worth considering whether the reasons that led you to those choices are really worth taking away from the messages you're trying to convey. Seeing as how the author of this post chimed in here to call their use of lowercase an "asshole filter," I suppose it's clear where they stand on that question.
I can see a future where we'll have browser extensions that use generative AI to "correct" style and grammar of articles to match the preferences of the reader, at which point stylistic choices may cease to matter as much.
Side benefit to overwhelming mindshare many people expect/require the other forge to have the Github feature: being different counts as negative. This reinforces.
Tailscale put it well: https://tailscale.com/blog/free-plan
> increased word-of-mouth from free plans sells the more valuable corporate plans
* Do not allow questions on GitHub issues, it's a poor place for conversations. I find Discourse or some other forum (or mailing list) a better place to do that, which allows community participation (and you can automate moderation using something like https://github.com/pierotofy/issuewhiz)
* People owe you nothing, just as you owe them nothing; you don't have to fix an issue or merge a pull request because somebody opened one.
* Try review and merge contributions, but on your own timeframe. If people have urgency, kindly invite them to get a paid support agreement.
* Don't engage in quarrels; you always have the option to ignore or ban the offenders.
* Document FAQs.
It seems to have a disproportionately high, relatively to society, percentage of white, male, strongly LGBT-oriented personalities, who usually have a female Japanese cartoon character, or maybe a furry, as their profile picture on GitHub.
Which is fine, whatever, but I worry that it suffers from groupthink and excludes different minds. Maybe it's hostile to plain people that just want to focus on programming? I suspect that people like Torvalds wouldn't survive long, and that's a shame.
And if you want to be really critical: Maybe the leadership is happy that specific people are leaving? Maybe burnout is a tool? Maybe it's a way of social control and censorship?
I personally hope that Rust finds more mainstream support and funding, because I'd love to work full-time in Rust for many years to come.
Rust is a great alternative for greenfield projects but we really need a new kotlin-esque innovation to keep c++ alive imo.
[0] https://www.reddit.com/r/rust/comments/vyelva/why_are_there_...
If the job you have genuinely doesn't allow you to do your real job (support a family etc) then you're definitely in the wrong job.
for me particularly, reviews were bad because there was a time component, if i waited too long people would get frustrated and give up.
Which, for drive-by contributions, does not really matter. It is a problem for long term contributions and project managements in general, true, but there often is some tracking system present (patchwork, debbugs, ...).
that brand power is worth billions.
idk about the author, but when i was younger, some people's pedantry and pettiness over grammar / capitalisation / more casual chatting got me to switch sides and deliberately stop using it as much. now it's also an aesthetic preference
i think there's potentially a valid point about accessibility concerns, but blog posts, chatrooms, and internet comments are also very informal modes of discourse
First: actor intentionally disrespected someone. Speaking in a movie theater, especially after being shushed. Using the letter "u" to mean "you" in formal business communication.
Second: actor unintentionally disrespected someone. Clipping your fingernails in class. Badly misspelling someone's name in a critical business communication.
Third: actor unintentionally makes an inconsequential error. Native English speakers misusing "it's" or "your" and their respective homophones, or missing antecedents ("As an expert, it's important to do X and Y" rather than "As an expert, I think it's important to do X and Y").
Fourth: actor intentionally makes an inconsequential error. Wearing obviously mismatched socks. Consistently writing in all lowercase.
The key, for me, is evaluating intent and impact. Group #1 is asshole: they mean to hurt or annoy. Group #2 is incompetent: they make mistakes that matter. Group #3 is hapless: they make mistakes that don't matter. Group #4 is quirky or aloof: they're not hurting anyone, and they're OK if people draw negative inferences about them, so hey, it's a free country.
You might reach different conclusions about the groups, or subdivide the groups further.
(Anticipating critiques of my examples: yes, I really do think that misspelling the English pronoun "you" is disrespectful. Misspell your own name if you want to move from Group #1 to Group #4, but please don't misspell the word that you're using to represent me. And clipping your nails in class is such over-the-top behavior that I believe it's more about upbringing than intentional disrespect.)
There can be rewarding ways to live your life that don't allow this, e.g. serving your country, doctors without borders etc, but the nomadic life is a sacrifice so in order to be happy long term most people need to eventually set down roots as you did. The digital nomad lifestyle was sold for years as the ultimate life hack, and perhaps for a minority it is, but for most of us it sours.
I understand the temptation, but it's deeply frustrating to see.
I've seen brilliant colleagues for whom I have the utmost technical admiration completely fail to improve bad designs implemented by others, because the brilliant person was so dickish about how they communicated to others.
also, there are no spelling mistakes in my comment. perhaps consider learning about how words are spelled in british english vs american english? :)
I'm thinking about things like finding millions of real user passwords in the test database. I complain and push and eventually we delete all the passwords from the database which breaks everyone's test build and in the end I don't make any friends. Did I care to much? I harmed my career because I cared.
Early in the project we agreed to organize our code into modules a certain way, but that fell apart and the code was not organized. I never knew where my code should go, the existing code was not organized, it bothered me a lot. How do I stop caring about that?
Shortly before I was fired a unit test I had written was passing even though it shouldn't have. The code was something like "assert(x == 1); assert(x == 2);" and the test was passing, it was impossible. It was some custom TypeScript stack and I got on the phone with the guy who created the tech stack and he agreed something was off, but none of us had time to look into what's up. I was fired before we ever got to the bottom of it.
These are the most recent examples, but I've had similar issues at other jobs. Imperfections, big or small often bother me more than other, and, again, I don't know how to lower my standards without also stopping caring, but without caring I have a hard time working.
> And the reality is that there are no absolute guarantees. Ever. The "Rust is safe" is not some kind of absolute guarantee of code safety. Never has been. Anybody who believes that should probably re-take their kindergarten year, and stop believing in the Easter bunny and Santa Claus.
It's an exaggeration. Means that he disagrees with people who blindly repeat something that, on the level Linus operates, is objectively not true.
I have no context on the broader discussion but it seems both sides haven't equalized the plane on which they discuss. In that context I'll agree Linus was a dick.
But, consider what was said upthread: many high-profile open source contributors hear the same crap every day. No matter how gracious you start off, you'll start rolling your eyes and ultimately resort to sarcasm. And some go even further: start insulting. Ask anyone who works in retail.
So again, to me Linus' statement basically uses an exaggeration to illustrate a point: "Stop repeating something as if it's unequivocally true. It's true only in your context (userland application development). It's not true in kernel context."
That people get offended by that says more about them than about Linus.
Finally, I'll agree it can and should be toned down. Not disputing that. But it's also not so difficult to extract out the true point in such a rant and move on.
I think you could let Linus off the hook by trying to find the kernel of truth as you suggest, and that seems to be the way key Rust team members work. There's been plenty of needless rancor in HN comments about Rust and you can see people like @pcwalton just not engage with the emotional content while still continuing to engage with the technical points. I'm personally impressed by this, but wouldn't be surprised if it contributed to the burnout.
Should we all aspire to be like that? Doing so seems like the human communication equivalent of Postel's Robustness Principle, which sounds great but in practice leads to shitty implementations getting away with being shitty because of the "robustness" on the other side. Maybe the better play here, especially with asynchronous communication, is to expect people come back to their message draft when they are not so pissed/emotionally triggered and then snip out tangential emotional crap. Especially the ragey condescending stuff.
But why pride yourself on taking the easy way out?
It isn't being honest and direct and straight to the point, it's a power move being deliberately rude/offensive/cruel hiding behind "just being honest and direct". Which only works as long as you have the power behind the powerslam putdown (in a personal project you do) and can deal with the consequences of cutting people off (which you say you are willing to). For everyone who doesn't have that power, and needs to work with others, it's not an option. Compare a physically large man saying "I find it funny that people don't just stare others down and threaten them like I do" and thinking that will work for everyone in every situation.
If that's your project selection criteria - "don't be thin skinned, man up, grow a pair!" - it's not-meritocratic; like a selection based on wealth or social class or accent or nationality isn't. If you want X and Y's skills (public project) or contacts or signoff (professional work) then you will have to face their susceptibility to Z's manipulations and deal with it. If you need help to do more work than you can do alone, you will have to work with other people's issues. "If you want to go fast, go alone. If you want to go a long way, go together".
> To which I reply with a cold expression:
> Their expressions were priceless.
That story shape is a perfect fit for "everybody clapped" meme, you feel superior to the stupid women who didn't even think of this power move, and wait for your applause. Were their priceless expressions "you solved my problem, my hero!" or were they "you have no clue that my life is different to yours and with no attempt to empathise or understand, you expect the first thing you thought of will solve my problems and want me to be impressed?" Women generally have less power in society, in companies, far less physical intimidation, less respect, fewer options, and need to depend more on social networks and support and building consensus to get along in life or get things done. Cutting off the network and getting a reputation as difficult to be friends/work with risks a lot more for women than it does for you.
That "I'm colder, more vicious, than you so I win. Empathy and emotions are weakness." is so ... last season.
> "It's also a fact that many devs are introverted and can be chased away by entitled and insolent loud people. So somebody must put a shield in front of the devs."
It isn't a shield, it's a counter-offensive. Many devs don't want their workplace turned into a battlezone by people trying to shout the loudest. Again, fine for your personal project, but having a shouty vicious bouncer is turning away the porentially useful contributions of unknown people who don't want to fight their way into that kind of workplace. Consider @dang here at HN doesn't take the easy way out of shouting people down, swearing at them, putting them in their place; instead he patiently links the HN rules and politely explains what he's doing and why (your account is doing A, against the rules here, will be banned in this time, please do this or that specific thing), over and over and over.
Trying to build a community of disparate people is much harder than being a dictator who can tell disagreeable people to piss off. Is it any wonder people who are trying to do that, are struggling with it?
The authors is pointing the best remedy, encourage and promote health work habits.
"A few years" was also the feature support cadence of '17 through '11 features.
And, before that, the 3-year release cycle wasn't a thing yet.
> Please don't complain about tangential annoyances—e.g. article or website formats, name collisions, or back-button breakage. They're too common to be interesting.
What the hell? English has rules. If those rules aren't followed, it makes communication needlessly more difficult.
This isn't just a typo we're talking about. This is someone making a deliberate choice to be harder to understand because they see it as quirky and cool.
The latest redesign is egregious to say the least.
GH annoys the shit of me by making me click more shit to get my job done, it “increases engagement”, and then… what exactly? My annoyance is supposed to lead to me… thinking about GitHub more? And thus I’ll pressure my org to use it?
This makes no sense. I hate engagement-based metrics as much as the next person but I’m not sure MS is as brain dead as to intentionally make the UX worse, to make engagement higher, and assuming that will somehow increase sales. There’s no link here.
You're exactly right, deliberately not using capitalization is akin to trolling.
Trolling is fun for the troll but it isn't that popular on HN unfortunately.
anyway, thanks for writing this post, and for featuring that awesome message/art/logo/thing at the end \m/
Are you paid to care about "finding millions of real user passwords in the test database"? About caring how or whether your code is organized? About what should be happening in a unit test?
If you are paid to care about it, absolutely do so because that's your job. If you aren't, though, at most you should inform someone who is paid to care about it and then forget about it because it's not your concern.
Life is short and there is only so many waking hours in a day, so we need to budget them accordingly. If you can't bring yourself to be less passionate about your work even though you realize it's actually causing you and your coworkers problems, perhaps it's a sign you need to change professions entirely.
I think that people who contribute to languages are of a certain psychological type. They are generous, nice, kind, they want to contribute and are not interested in the social and people drama. They are a special breed of people whom I admire.
At the same time, and as you point out, that makes them more vulnerable to burnout because the social / people drama always creeps in, and they seem less well equipped to deal with it (though I've known of very impressive exceptions).
Personally I found out that bottling up negative emotions is futile; they inevitably erupt and the longer you have bottled them up, the more violent the explosion and the worse the ramifications for your mental health.
That's my main reason for not mincing words anymore. I prioritize my mental health. I am OK if that means I part ways with people and companies. I was a victim of FOMO for most of my conscious life; I want to live my remaining years being more at peace.
> Maybe the better play here, especially with asynchronous communication, is to expect people come back to their message draft when they are not so pissed/emotionally triggered and then snip out tangential emotional crap.
Obviously that's best but I can bet each and every one of us has been in a situation where they knew they had to do that and still didn't. :D Myself included, not proud of some of my comments on HN during Corona time...
But expecting most people to be like that? Super tall order, turns out. :(
--
> We probably won't get much further going back and forth on this.
Likely not, but I am grateful that you entertained it as much as you did. :)
> For what it's worth, you seem very reasonable, I've appreciated your comments for a long time, and I'm sure we'd get along fine if we were to work together.
That's an extremely surprising and very warm message that I couldn't predict if I lived for 1000 years. Thank you! Still very surprised and your message is definitely the highlight of my day now.
I’ve burned myself out on a handful of projects like this and also why I haven’t started any new ones lately. It’s very tiring (doubly so if maintaining open source isn’t part of your paid job, so you’re doing it on your free time).
This just sounds like a self-troll, if you really think this
Their actions, though, say that they want someone who hustles and creates bugs and then puts on a good show fixing the bugs they themselves created.
Saying it like that, I guess the solution is to just get out, but it's hard to accept "just find another job" as the solution when I'm not even employed right now.
Meaningless question. I can prove that to you by turning it around: why choose a harder path? What is to gain? You only lose mental health. Having to grind my teeth and not telling someone they're being an arse is bad for me.
> It isn't being honest and direct and straight to the point, it's a power move being deliberately rude/offensive/cruel hiding behind "just being honest and direct".
No. That's your interpretation because you are offended. I am in "the Linus camp" and knew many others like me and him and I am telling you that this absolutely is about cutting to the chase and solving the problem at hand on the spot.
I have no motive to lie to you or anybody, nor any face to save.
If you don't believe me and keep arguing that it's "a power move" then you're arguing with fictional people and not the real ones standing in front of you. ¯\_(ツ)_/¯
> For everyone who doesn't have that power, and needs to work with others, it's not an option.
Obviously yes, what's your point here? I don't get angry at work (where I don't have the power to tell people off) which is a double win. I got stuff to do, sometimes others get in the way, sometimes I make bad calls. Oh well, I made my peace with the fact that things can't happen as quickly as I want them to. And it's not even about "thick skin", it's more "giving up on perfectionism".
> If that's your project selection criteria - "don't be thin skinned, man up, grow a pair!" - it's not-meritocratic; like a selection based on wealth or social class or accent or nationality isn't.
The hell are you even talking about, and even bringing class / accent / nationality to the picture? It seems you just wanted to get stuff off of your chest and I was a convenient target. You're not even talking to me, again, you are talking to some fictional guy who does not exist.
> That story shape is a perfect fit for "everybody clapped" meme, you feel superior to the stupid women who didn't even think of this power move, and wait for your applause.
Your snark does not change the undeniable fact that I gave them advice that would have helped them with their mental health. Whether they accept it or not is on them. Those who didn't accept it also taught me a good lesson: to mind my own business and only give advice if I am asked to. It was a valuable life lesson that I am utilizing often (though definitely not always).
And yes, some people were mind blown... though they did not clap. :D You got one thing right at least.
> Cutting off the network and getting a reputation as difficult to be friends/work with risks a lot more for women than it does for you.
Context matters a lot here. I was talking about completely optional interactions where zero work / money / influence was involved. They were "buddies" for 10+ years and their main goal was to basically outdo each other. Extremely toxic and I pointed that out to them. Some of them listened and said it felt very liberating to just stop. The rest I was not interested in communicating further with because they had a tendency to bring the same drama to our extremely casual communications, which naturally led to them fading away with time.
> That "I'm colder, more vicious, than you so I win. Empathy and emotions are weakness." is so ... last season.
For the third time: you are not even talking about me. I am not cold at all, I simply learned to pick my battles. Seriously no idea what made you explode with so many assumptions, it must be somebody in your past and I probably reminded you of them. You should probably go talk to them though, not me.
> Again, fine for your personal project, but having a shouty vicious bouncer is turning away the porentially useful contributions of unknown people who don't want to fight their way into that kind of workplace.
Nowhere did I even implied I want a "bouncer" or that he/she must be "shouty". Stop projecting (4th time now).
Also that phrase of yours reeks of FOMO. I am sick and tired of being a victim of FOMO. Somebody doesn't like that I called them out for being entitled and spamming my OSS project's issue tracker and as a result they go away and won't contribute anything ever? Cool! Win for everyone.
You conflate a very classic case of "fear of missing out" with "showing rude a-holes the door".
> Consider @dang here at HN doesn't take the easy way out of shouting people down
I have considered him and other moderators a long time ago and found that I don't have what it takes to be a moderator, I don't want to have it and I am very fine with that. I am impressed by people who manage to keep the peace without alienating anyone except the biggest detractors but this is a non-goal for me, especially in the open-source contributing scene. I don't moderate forums and don't want to, and I'd be terrible at it. Again, I pick my battles.
> Trying to build a community of disparate people is much harder than being a dictator who can tell disagreeable people to piss off.
Another non-goal for me. When I start doing more open-source I'll be looking for people who contribute astute observations ("You made mistake X in file Y") or code. If somebody politely asks "is this feature on the roadmap?" I'll also politely say "yes but it's a low priority for me, what's your use-case?" and we can continue the interaction from there.
But, somebody doing a drive-by saying "I tried your project and it couldn't do X, your project sucks lol" then I have zero qualms blocking them and removing whatever they posted.
Did they have the worst day this year? I don't care. I had days after which I wondered if I even want to continue living, and nobody around me was none the wiser. They only saw a very tired guy who wasn't chatty, nothing else.
I can protect people from my bad moods and bad days. I expect all people I interact with to do the same. And I am very fine with cutting off those that can't do it.
---
No idea why you fixated on me as some sort of an enemy but you have aimed wrongly. Severely so.
What I was saying is that I don't feel the need to smile politely at a-holes and use a soft language. And I don't. The rest is a plethora of projections from your side.
That's one side of the coin. The other side is: if you are Linus, you have heard the same dumb questions or obviously wrong assertions, thousands of times. It's absolutely normal to start telling people to go RTFM and stop talking without thinking things through and without doing the proper due diligence. Ask anyone working in retail.
<3 i'm glad you enjoyed it
> Are you paid to care about "finding millions of real user passwords in the test database"?
...are never clearly answered, in 99% of all jobs everywhere.
That is a completely different story. Using "they" is about respect. Using a standard form of writing is about making reading easier.
Oh, that is really a screwed thought. You think all people that don't agree with your writing format are assholes?
All volunteer organizations have to fight burnout. Any time you start feeling like things won’t get “done” unless you do them, you’re on that road.
I looked up a basic function I needed for a project and it has been stuck in nightly since 2017. Golang added the same function in a dot-n release.
I wrote the original comment because I wanted to get some view on how a (selection biased) part of the population viewed it. I was surprised by how emotional people got!
We finally found the right medications for my 10-year old loyal potato (she's had low thyroid function, immune system trouble caused by the low thyroid function, a rattlesnake bite on the nose, arthritis, and so on) -- she's now acting half her age and happily jumping on rocks to pose for treats, and it's so nice to share her story with the vet.
Everyone at the vet visibly brightens up when they interact with a happy well behaved dog.
You gave an example of calling someone a dickhead and telling them to piss off, then said "I firmly believe all open-contribution projects need a Linus type of person", someone who will "be a bit of a dick when necessary"; if that isn't describing a "bouncer" role ... what is?
I'm not against showing people the door, I'm against the needlessly provocative and rude Linus style of doing that. You say "Meaningless question. I can prove that to you by turning it around: why choose a harder path? What is to gain?" then you say "I can protect people from my bad moods and bad days. I expect all people I interact with to do the same" - so I can ask the same question back - why choose the harder path when doing that? What is to gain? Obviously you can see it when it suits you, the intangibles of higher standards, trying to build something which is better than dog-eat-dog, might-makes-right, rudest-wins, flamewars everywhere world.
> "No idea why you fixated on me as some sort of an enemy but you have aimed wrongly. Severely so."
As I said repeatedly, you can run your personal project however you like, but you are here in a Rust discussion arguing that Rust shouldn't have problems of coordinating with people because you find it easy to swear at people and get rid of them, and all projects should be run like that. I am arguing against that.
> "The hell are you even talking about, and even bringing class / accent / nationality to the picture? It seems you just wanted to get stuff off of your chest and I was a convenient target. You're not even talking to me, again, you are talking to some fictional guy who does not exist."
I'm talking about the programmy world culture of "piss off dickhead, RTFM noob, I can say that because Linus did!" which permeates too much software development world. It's mistakes of correlation and causation thinking "Linus is clever and that excuses his bad behaviours, I'm clever so that excuses me behaving the same way" or "If Linus is successful and rude, if I'm rude I will be successful" or "If he can get away with it, I should be able to". Those patterns drive a kind of filter which is not meaningfully different from any other filter based on or only "the right people" can be involved - race, class, wealth, etc. being the traditional ones, and rude/smart/technical male being the common one in this scope.
Encouraging projects to be run that way, saying all projects should have someone being rude to people, is objectionable for similar reasons that the others are objectionable.
> "You conflate a very classic case of "fear of missing out" with "showing rude a-holes the door"."
And you conflate a case of "showing rude people the door" with "here's a place I can abuse people and get away with it, which is a good thing". This is showing a rude person the door without invoking flamewars (@dang): >>39037519
I'm not saying you have to behave like dang, I'm saying nobody is going to be quoting dang's epic flame putdown win over THIS asshole like people do with Linus' newsgroup posts, and that's a good thing.
whichofthesesentencesdidyoufindeasiertoreadhowcouldyoueventhinkthatinthefirstplace
I'm not saying MSFT is intentionally frustrating you to increase sales.
But that, where engagement drives sales, your frustrations are disregarded.
They are different links.
MSFT could easily build a toggle to disable PRs (default, enable PRs). They have these toggles for all other features already.
They don' build this, because, as many other commentors point out, the few people that would benefit from such a toggle, don't outweigh the amount of engagement, data, and usage it generates.
I merely take that a step further: there are quite certainly many features disregarded or not even conceived that would save a (small) group immense effort. Simply because MSFT has done the excel-thingies and knows that features that make people visit GitHub less often, are not positive to their sales.
That makes no sense. Say I'm an open source project maintainer who doesn't want PR's in my repo. I have to continually log in to GitHub to check the PR tab and close all active PR's (or as others have pointed out, use a bot to do this, but that's beside the point: The discussion is about why this isn't a built-in feature.)
What value does Microsoft get out of the "data" generated by me having to continually log in and close PR's? "Yup, people who don't want PR's on github log in a lot to close them". Why is that valuable? We keep talking about engagement as a thing but nobody's explaining why it matters at all for MS. "Engaging" me by forcing me to open up the website to do mundane stuff doesn't move any of MS's needles. "Usage" goes up only because I have to keep doing this mundane shit.
Here's a VASTLY more likely reason why MS doesn't want to make it easy to disable PR's: Lock-in. Microsoft wants to encourage users to use GitHub for everything involved in software engineering, end-to-end. Because if you do so, leaving GitHub becomes a lot harder, because GitHub has your PR history, your issue history, and is hosting your wiki, etc etc. This is not the same thing as "engagement", it already has a term, and that term is "lock-in". (Apropos: I consider PR discussions to be indispensably valuable in finding out why some particular line of code looks like it does: Finding the PR that introduced it and looking at the discussion is a great way to find out the motivation of the original author.)
MS does not like users that purely use GitHub as a mirror and don't use any of the GH-specific features, because those users can trivially migrate their code to another hosting provider if MS ever decides to do something silly like charge them.
Engagement makes no sense whatsoever as a motivation to not let users disable PR's. Lock-in makes perfect sense.
Unsafe Rust is more complex to use than C in some ways. For example, an iterator for a slice, which contains two raw pointers, relies on the lifetime of the array it refers to lasting longer than the slice, and to encode this you need to use PhantomData [1]. Things like this make it look more arcane than plain C, simply because in C, this is implicit, and on the programmer to enforce.
I still wouldn't call it a bouncer; I'd call it a moderator who is not afraid to tell people off.
> I'm not against showing people the door, I'm against the needlessly provocative and rude Linus style of doing that.
If you read my other sibling comments you'll see that I partially agree. To me swearing is unnecessary; if somebody is crossing lines I'll just try and quickly chase them away. I guess for others cursing is one vehicle through which to achieve that.
> As I said repeatedly, you can run your personal project however you like, but you are here in a Rust discussion arguing that Rust shouldn't have problems of coordinating with people because you find it easy to swear at people and get rid of them, and all projects should be run like that.
I see where the disconnect lies now. I haven't argued about how should the Rust project be ran at all. I got off on a tangent that was borne out of my disdain for the "being too nice" thing I am noticing in many Westerners. As a former bullied kid I understand better than many that never retaliating even a little encourages bullies. So in my eyes not showing some teeth just furthers the having a-holes problem.
> I'm talking about the programmy world culture of "piss off dickhead, RTFM noob, I can say that because Linus did!" which permeates too much software development world.
An assumption on your part is that I am imitating / emulating Linus. I don't. I simply understand what it is to have to read and listen to the same BS every day which is taking away from your time, energy and motivation to do what you truly love (in his case: kernel development).
If Linus did not exist I'd be 100% the same person in open-source contribution discussions.
> Those patterns drive a kind of filter...
Yes and that's a good thing. I don't subscribe under the "inclusivity at all costs" ideology. Are you?
> Encouraging projects to be run that way, saying all projects should have someone being rude to people, is objectionable for similar reasons that the others are objectionable.
Why are you so polarizing? I didn't "encourage" any project be run this way. Blindly doing stuff always, no matter the circumstances, is a bad idea regardless on which end of the spectrum you are. I preach for people on the receiving end of toxic (or stupid) posts to NOT shrivel away and strike back whenever necessary.
> I'm not saying you have to behave like dang
Are you not really? I already addressed this. I don't aim to be like him and I already said that I admire people like him. At the same time, I know that having to bottle up certain reactions is destroying my mental health so I simply don't put myself in situations where I have to do it. But I also have plans to start open-sourcing things. And there I know for a fact that I'll just be super cold (not emotional, and won't curse) but would still quickly stop any toxic discourse.
--
Is that the best policy for high-profile stuff like Rust? I can't say. I have witnessed language maintainers engaging in forums and I noticed how some people were EXTREMELY sensitive even to the mildest of "no" answers, very quickly escalating them to "you don't care and your community is full of a-holes" which made me facepalm hard.
I understand they don't want the bad PR. I get that. But I would never want to be in that position. So when I start my open-source projects I'll be like "OK, if you feel that I don't care and I am an a-hole, there's nothing I can do about that. Have a nice life." and will block the person if they keep escalating.
Even if that gives me bad reputation, I absolutely don't care. I get how language maintainers don't want such bad reputation but again and again, I think they overdo do the "be passively polite to the point of being taken for a doormat" behavior.
I ain't telling anyone how to run their projects. But I do have the right to think they're wrong in certain aspects.