Hacker News new | ask | show | jobs
by jasode 3480 days ago
> But when someone starts to insult me in mock my hard work, when they criticize me and my work in a way that is extremely negative, it gets to me.

That seems to be the essence of his entire essay. He wants people to be nicer. Yes, criticism is often necessary and often motivates progress, but the criticism should be nicer.

Well, that's an ideal but his lament isn't limited to Javascript specifically. Nasty complaining is part of the universal human condition. Instead of "Dear Javascript", it's more like "Dear All of Humanity" ... stop being so mean-spirited.

In the same vein, we could generalize BS's quote:

"There are only two kinds of languages: the ones people complain about and the ones nobody uses." -Bjarne Stroustrup

... to ...

"There are only two kinds of github projects: the ones people complain about and the ones nobody uses." -every maintainer

4 comments

Ok, but he's specifically calling out communities that reward negative behavior rather than calling it out. I mean, are you being serious right now? There's a difference between "boo hoo everyone's so mean :'((" and "hey, there are community issues that we should try to address", and that's pretty explicitly the point of the article.
James Kyle wrote:

>There’s a lot of these “sub-communities”, places like /r/javascript and Hacker News that often reward negativity more than positivity.

and you write: "hey, there are community issues that we should try to address",

Ok... so exactly how do we address it? Do we repeat, "From now on, let's all be nicer with more positive energy and feedback!"

Ok, now that we've done that, is the problem solved? Why not?

You see, negativity in complaints about others' work is universal. Before the internet, scientists had been slinging mud at other scientists' work in prestigious journals. During the heydays of Usenet we had nasty Lisp debates. And now, we have have rants about Babel6 and Angular2 that's a killjoy for the maintaners. As Captain Louis Renault would say, "I'm shocked gambling is going on in here!"

On a related note... I recently read about autism and a book discussed some of the debates of parents caring for an autistic child. You'd think that an environment like that would foster the ultimate empathy and positive feedback (compared to Javascript projects) ... but no.... some parents are quite mean-spirited in criticism of other parents' therapy methods. To think we can somehow "solve" the problem of Javascript programmers' negativity about OSS projects seems naive.

The Appeal to Tradition fallacy, because things have always been shitty and improvement is hard.

Just because people have always been jerks doesn't mean we have to be forever. The idea of inclusion, bringing in more brains in more people to accomplish the same goal is a universal gain for everyone involved, including the people who get angry about it.

You can minimize the effects of a toxic culture that rewards people for being rude, you can even file it under "meritocracy" which has never existed anywhere in human history, you can do anything else to justify why you have the right to be a jerk and no one can stop you and as a maintainer that's fine, you have that right. But in doing so you push out valuable developer resources, new people, and fresh ideas which only hurts the thing you're trying to build or use.

Anyone can get angry. Anyone can take to a keyboard and spill a row of profanity and impotent rage because it makes them feel better for a short moment. It takes real scholars to get out there and actually solve the problems, and I'm sorry but no problems have ever been solved by techbros highfiving each others blog posts.

There are nice communities out there. It seems more naive to me to think that we might as well just throw our hands up in the air than to think that we can identify ways to move ourselves forward.

You've also shifted your criticism here to "Ok, but how?" from the original criticism that sounded like "Well, humans suck. Boo hoo."

So, here's one answer to how: as I am doing right now, we can encourage others to be optimistic about growing and developing ourselves and our communities into better people.

Here's another: as I am about to do, we can pinpoint unhelpful claims that hold us back from improvement rather than moving us forward. Your comments so far have largely been the former, in that they treat the people the article's author criticises as though they couldn't behave any differently. One key step is adopting the belief that people, including the people who have been really nasty so far, can in fact choose to behave differently.

Here's another: We can be vocal about the importance of maintainers standing up for respectful communication within their communities. We can create and spread resources that help empower people to do this. We can institutionalize roles such as "community maintainer" whose job revolves less around code and more around discourse.

These are coming off the top of my head. So on that note, here's another: we can encourage people to do one more thing before posting a comment or article – check in about whether what they're saying is truly constructive, and redirect their efforts if not. I'm sure you could have come up with some of these approaches, and I'm sure you could come up with more that I haven't thought of. But you need to push yourself to try. You need to push yourself to get better. And the rest of us need to be here to help you and each other and everyone else do just that.

>You've also shifted your criticism here to "Ok, but how?" from the original criticism that sounded like "Well, humans suck. Boo hoo."

It's not shifting positions. My 1st post was general commentary on JK's post. My 2nd post was asking Mouq to clarify his "solution" since he didn't actually state a concrete solution.

>So, here's one answer to how: as I am doing right now, we can encourage others to be optimistic

Yes, did you notice that I already made that suggestion in my post that you replied to and you just repeated it?

> > So, here's one answer to how: as I am doing right now, we can encourage others to be optimistic

> Yes, did you notice that I already made that suggestion in my post that you replied to and you just repeated it?

Hmm, let's see...

> Ok... so exactly how do we address it? Do we repeat, "From now on, let's all be nicer with more positive energy and feedback!" Ok, now that we've done that, is the problem solved? Why not?

yeah, no, that's not the same thing at all.

>, no, that's not the same thing at all.

Are you being literal? I wasn't saying that "repeated" meant lexical equality:

  string.compare("more positive", "optimistic") == TRUE
Instead, I meant this:

  semantic_intent("more positive", "optimistic") == TRUE
It's naive to think GavinMcG's "solution" of disapproving others negativity hasn't already been done thousands of times before across other disciplines and other forums including Linux/Lisp/C++/PHP/physics/autism/etc. Yes, nice communities do exist (often because of heavy-handed moderation/censorship) but that's orthogonal to the inevitable formation of other uncensored communities that freely share negative criticisms. Therefore, the reasons that motivated JK's original post will always exist.
Moderation and social dynamics are things that have to be built from smaller scales outward. Yes, there will always be people writing articles about "This project is awful and the developers are bad people," but it's also possible to have platforms and communities that don't indulge in and enable that kind of pettiness.

And it's true that driving those people away will likely cause them to form their own communities, but so be it. More often what happens, actually, is that the people less interested in unneeded hostility (like I said about building from smaller scales) will splinter and form their own communities. If these communities are effective, however, they'll often slowly be recognized by the nasties in the original community and be invaded by the same or similar people. The real problem is figuring out how to deal with them and maintain solidarity without compromising social ideals, rather than just splintering again.

Also, I'm not real knowledgeable about issues surrounding autism, but I do know that autistic kids are a primary target of parental abuse, often by parents who may appear well-meaning from the outside... so I wouldn't be surprised if those can be quite toxic communities, especially if we're talking about parents and not autistic people themselves at the forefront of discourse. But perhaps I'm just cynical.

See, but this doesn't address those community issues. It doesn't talk about the changes that these devs will have to make to keep up with the times.

I don't have anything to say for Babel, as I'm not a user of it. But I remember the anger of the Angular community as Angular 2 was announced. No one could believe that they would eventually choose to leave behind Angular 1, that they'd have to nearly rewrite their apps to be compatible. This made people angry. I believe they might still be. And I don't see a point like that addressed in the story.

I don't have an answer for you on how to fix this. There are many people that consider the A2 switch to have been necessary, so "don't do stuff like that" isn't necessarily even an answer.

But my point stands. People get angry, for better or for worse. Logically or irrationally. You can't just "call out" that behavior and expect it to get better. You need to better understand and empathize with those people, and work with them.

I don't believe this piece is helpful. I think it paints with too widely a brush and ignores the legitimate criticisms that the community is making.

Honestly I feel that most FOSS projects would lose very very little if the most vocal complainers somehow vanished overnight. The angriest users are the ones that understand the least and contribute the least. Of course there are legitimate issues with nearly every FOSS project, and civil people complaining about them legitimately, and we should work to address them. But we should not be pandering to the most petulant and angry users in our communities - as the article says, this simply rewards bad behavior. I would be happy to see those members largely ignored in favor of better communication with the more levelheaded and rational users in the community.
Well, that's fair. If someone steps majorly out of line, time them out or ban them. I'm not saying you should pander, I'm saying you should empathize. (Within reason.)

That being said, exclusion is a very powerful tool, one best used with caution. It's easy to mistake temporary anger for constant trolling. It's very easy to ban someone who falls into that sort of gray area.

Just to clarify - I'm not suggesting we make liberal use of the banhammer for anyone who steps out of line - there are other ways of changing behavior that will work better. Just considering the hypothetical where they don't exist :)
Sure, people trying to use libraries and frameworks to make their living absolutely get frustrated for often legitimate reasons. But we're supposed to be professionals and as such we should have the self-control, skill, and empathy to channel our frustration into productive feedback instead of just venting our anger like an out-of-control toddler.
I suspect the professionalism aspect is a salient point - given the accessibility the platform offers, whilst many of githubs users are professional developers doing their day job, they might equally be somebody trying to build a webpage for their cat, who stumbled across the repo looking for a troubleshooting guide.

With platforms like github, it's difficult to attribute the degree of merit any given comment deserves, so we kinda have to take them all at face value. That can be pretty brutal at times.

> That seems to be the essence of his entire essay. He wants people to be nicer. Yes, criticism is often necessary and often motivates progress, but the criticism should be nicer.

This. Especially when he is giving an example of "feedback, not complaining", those points are mostly rephrasing some aggressive sentences into nicer one.

Someone saying "Angular 2 is terrible" really isn't that harsh.

If you're going to get all worked up over something that slight, maybe doing work in public isn't the way you want to spend your time.

> If you're going to get all worked up over something that slight, maybe doing work in public isn't the way you want to spend your time.

Or maybe the people doing the actual work have opinions that matter and the person whining only does at the contributors' discretion, so the complainers can pull themselves together if they want to be listened to at all?

He's complaining about an open article written about Angular2, which he isn't even a contributor to. He's complaining about general community dislike about the direction Babel 6 took.

It's not like this was Linus trashing a contributor for writing shitty code in a pull request.

So far as I can see in the article, he's not complaining about a single instance of anyone actually criticising him directly.

No one really cares who worked on Babel 6, all they know is there was a change that disrupted their work flow. No one is being personally attacked when the users criticize a change.

This approach assumes that the natural/default state of the community is unconstructive negativity (e.g., the title "Angular 2 is terrible"). The point here is that many people (especially the people behind big projects) reject that assumption. So, on the contrary, maybe it's the people who refuse to show empathy who should disengage from the community.
I took the essence of his essay to be "communities that are primarily negative about things are hurting themselves because they push out the people who are in a position to help them".