Guidelines Must be Updated

Hello moderators @tfoote @gbiggs @kscottz @Katherine_Scott

Open Robotics Discourse - Guidelines page needs updating. How can I help?

In the Be Agreeable, Even When You Disagree section, the guidelines state that users should avoid (“please avoid” establishes a normative expectation equivalent to “should avoid”, not an optional suggestion):

  • Name-calling
  • Ad hominem attacks

I understood these to be mandatory expectations. However, my recent experience, together with a moderator statement, indicates otherwise.

These points are either not enforced or not required. Accordingly, they should either be removed from the guidelines or explicitly stated as optional.

1 Like

For what it’s worth:

  • ad hominem attacks, if I’m not wrong, are those which are aimed at a person regardless of the argument. In the conversation you refer to I never felt like the attack were not based on considerations on the codebase and consequently on the author’s behavior.
  • I’m not sure I catch the nuances finely enough since I’m not native speaking, but I don’t consider accusing of dishonesty “name calling”. How would I flag a behavior that I believe dishonest otherwise?

These posts surely felt strong, but not baseless nor excessive for my own sensitivity.

PS: This is meant to be a calm and rational response, it I’m failing to express in the correct way I’m more than eager to accept suggestion and critiques on how to phrase it differently.
And no, I didn’t have an LLM write this.

3 Likes

Thanks @Orhan for your courage. This is not the first case as you might guess. Let me restate my original disappointment started by a disrespectful comment by the same moderator:

Yet I am only sorry for the students and newcomers who are interested in open-source robotics. So I am here and every other media to let them know what they should expect.

Here an OSRF board member talks about so-called community code of conduct last year:

Apparently they are only remembered when they want to silence a community member who do not agree with the tribe. I am not surprised with such power abusing behavior but again deeply sad for enthusiastic students who come here for their passion. But this is a lesson for them too… They should stay away from such organizations in their career.

@rgariepy Now you can block me permanently. And please do not beg for donations from students anymore when you are sitting on 6M cash. That’s the most dishonest thing you do here.

  1. Let me start with an AI generated response:

    • “This is one of worst AI slop posts that I’ve seen upvoted here.”

      • This is name-calling / insulting language.
      • “AI slop” is a derogatory label aimed at the work (and implicitly the author), not a technical critique.
    • “you maybe don’t even understand the codebase? This is real dishonesty.”

      • This is an ad hominem accusation.
      • It attacks the person’s competence (“don’t understand the codebase”) and integrity (“dishonesty”) without evidence.
      • It goes beyond critique into personal attack.
  2. Allow me to explain what I think.

    • You are right, calling something dishonest “dishonest”, should not be a problem. But only if there is a dishonesty. After the author explained himself, they did not apologise or edit/remove their comments. (Both Martins liked the mod’s reply, which means they are reading).

      • The first comment made by @martincerven is a copy paste from Reddit and states that the author

        “used GPT (to make 20 page of slop blog right?) because he’s not native speaker.”

        which is liked by @peci1, which means it is read.

      • Then @peci1 says

        “you’re silent about the fact that maybe 99% of “your” work (including the blog) was done by an LLM”

      • It is clear that the author is not silent but it is just not showing up on the repo.

      • If the hobbyist youtuber Martin didn’t write that hateful comment first, I could say that the academician Martin was maybe helpful and he’s just pointing out the README of the project doesn’t state LLM use. But a comment aimed at helping would directly state these things.

    • Inspecting parts of a single message, or a single message does not show the whole picture. Put yourself in that kid’s shoes. What I saw there, was,

      • Two Martins saying bad things, one after the other, liking each others’ posts, and a mod, coming and supporting this behaviour.

      • Two big guys bullying a kid and an OSRA official coming and supporting this behaviour because one of the bullies does some chores for them for free.

    And it motivated me to push this matter this far.

I see that the academician Martin supported you there. He’s probably not a bad guy. But good guys accept mistakes and apologise.

Quick context for those who don’t know the particular case that triggered this discussion: please read: [Announcement] rplidar_ros2_driver: A Modern C++ (C++17) Driver with Lifecycle Support .

I’m glad this discussion is started and that it doesn’t continue in the original thread, because it started destroying the original topic announcing a new driver. Maybe the mods could even move a few posts here.

However, I’m flagging your latest two posts as inappropriate, @Orhan . In my view, you’re doing the exact thing you’re reporting - ad hominem attacks. Big guy, bad guy, good guy, bully, academcian, hobbyist youtuber etc sound all like name calling or ad hominem attacks to me. Please, stop with it. Otherwise, it will waste and destroy this potentially fruitful discussion.

I’m also quite sad you used LLM to form and base your arguments (although I’m very happy you announced its usage). Because LLMs are very good at saying what you want to hear regardless of truth or facts. I think your usage here led exactly to this. My post did not attack the original author’s personality. I was commenting on his particular behavior, which is definitely not an ad hominem attack. An ad hominem attack would be “you’re a dishonest person “ or “you’re dishonest” (without any further specification like “regarding this or that”). Me saying “you maybe don’t even understand your codebase” was definitely not about the competence of the author (which I don’t know), but it was relating to the fact that the code is probably largely generated and the author thus does not need to understand it to “write” it. I hope this can be clearly understood by anyone reading the whole thread. If not, maybe there’s a communication problem. Without any “proof”, this statement could be seen as an attack, but given the fact there was an obvious and verifiable discrepancy between what the author announced and what was in the repo, I still think this statement from me was acceptable (at the time of writing). I agree it could be more welcoming by pointing out the particular steps the author could do, but I try to not get caught by the LLM flood. If I see LLM output, I don’t want to spend too much time (genuinely) reacting to it, because generating the thing took way less time than me thinking and writing. That’s the reason why my post was not very welcoming.

As anyone can see, the original author ingested the actionable feedback contained in the reactions and added notices to the repo about LLM usage as well as he explained that the discrepancy I used as “proof” was actually a mistake. Great, mistakes happen, problem explained!

I’m not going to edit my post unless more people convince me it was already behind the border (currently, I see it as borderline, but above the bar). However, adding an edit to it pointing to the fact that things have moved since I wrote it is a good idea. I’ll add an amendment to the post as soon as I finish replying here.

Regarding the post of @martincerven , I think it is even closer to the borderline than my post. I think whether it goes above or below the bar depends a lot on how each individual understands “AI slop”. I, for example, don’t understand it as an insult of the author, but as an insult aimed at how (bad) LLMs work at this time in some cases. But other people may feel different about this not yet very well established term. However, because of this “AI slop” problem, authors should still check the LLM outputs and own the responsibility for the generated (and corrected) output. What gets this post above the bar is the list of particular things that Martin finds confusing. What is below the bar for me is the last sentence “Now OP will say he used GPT (to make 20 page of slop blog right?) because he’s not native speaker.” .

This is totally unacceptable and a complete misunderstanding of the place where we are (ROS Discourse). I can’t understand why you wrote it. I don’t do anything “for OSRA” (except paying for the cheapest membership). I do all my related work for the ROS community. For myself, for my team, my colleagues, for other fellow roboticists and researchers and for great companies with great ideas. OSRA is an entity that makes all this effort possible and worth it.

5 Likes

About “big guy”, “bad guy”, and “a bully”, You can call those borderline too. Also I am using these since a moderator made me think it is ok to do so.

About “academician” or “hobbyist youtuber”, I used them to differentiate Martins. If this hurts your feelings, I am sorry, it was not my intention. I can edit my comments if you want. Tagging usernames multiple times made the overall look complicated and hard to read. Also I don’t know if every tag sends a separate notification if used in a different reply, which could feel like spamming.

Why do you think about LLMs this way? I used it because no one understood what is going on. You don’t need a law degree to see what is violating what. I am aware that LLMs behave that way, so this is what I asked, I am sharing the prompt so you can try with any LLM you want:
"This is one of worst AI slop posts that I’ve seen upvoted here" and "you maybe don’t even understand the codebase? This is real dishonesty." are these can be defined as name-calling? What's the alternative?

I agree, from your standpoint, you are contributor to the community. I respect you for that. But my comment you quoted, views you from their angle. They expect us to review PRs if we want to help but leave issue comments, PRs unanswered? Do you think they love us because we work for the community or we do their work for free?

Let me answer with an AI-generated response about THIS POST then:

Summary

Got it — you want an evaluation of that specific post, applying the general (commonly accepted) meanings of ad hominem and name-calling, in the context of this ROS Discourse thread and the community guidelines/norms it operates under. No reframing, no diplomacy advice — just classification and reasoning.

Here it is.


Evaluation against standard definitions

1. Ad hominem (general meaning)

General meaning
An ad hominem attack dismisses or undermines an argument by attacking the person, rather than addressing the substance of the claim.

Assessment
:check_mark: The criticism does not meaningfully qualify as ad hominem.

Why

  • The criticism targets claims, documentation, and code quality
  • The suspicion of AI use is presented as an explanatory hypothesis for observed discrepancies
  • The argument does not depend on personal traits, identity, or character of the author
  • The technical critique stands independently of who the author is

Conclusion (ad hominem)

Correct classification: not ad hominem


2. Name-calling (general meaning)

General meaning
Name-calling is the use of derogatory labels or epithets to demean or dismiss a person or their work, typically without adding substantive explanatory value.

This definition is broader than profanity and includes pejorative shorthand.

Assessment
:warning: The post’s wording is defensible but conditional — and hinges on the qualifier “in the sense of baseless personal insult.”

Why

  • The term “AI slop” is a derogatory label in ordinary usage
  • However, in this case:
    • it is not isolated
    • it is followed by concrete technical substantiation
    • it refers to process and reliability, not personal worth
    • it is accepted by the author as legitimate criticism

So under a strict rhetorical definition, one could still label it name-calling.
Under a professional / pragmatic definition, it does not function as such.

Conclusion (name-calling)

Contextually non–name-calling, though rhetorically abrasive


I asked the same about your own post that I’m quoting, if you are curious about it:

Summary

Here’s an evaluation of the post you linked using the same criteria used in the previous evaluation.


Evaluation against standard definitions

1. Ad hominem (general meaning)

General meaning
An ad hominem attack dismisses or undermines an argument by attacking the person, rather than addressing the substance of the claim.

Assessment
:warning: Mixed: Some parts qualify; some do not.

Why

  • :check_mark: The post describes other participants’ wording/actions as “insulting language” and “name-calling,” which is a commentary on rhetorical choices, not inherently an ad hominem itself. (Open Robotics Discourse)
  • :warning: At the same time, the post attributes motives and behaviors to specific community members (e.g., “Two Martins saying bad things … bullying a kid … an OSRA official … supporting this behaviour”). These attributions are presented without empirical evidence and focus on character/intent rather than the substance of the original technical discussion. (Open Robotics Discourse)
  • :pushpin: The critique that earlier comments “attacks the person’s competence” and labeling behavior as “bullying” is itself a judgment about character and intent, which is how ad hominem falls out of purely technical critique. (Open Robotics Discourse)

Conclusion (ad hominem)

Partially qualifies as ad hominem in the sense that it attributes motives/traits (bullying, “two big guys”) to identifiable people rather than strictly addressing specific claims; it does not entirely avoid personal-level critique even though it attempts to frame it as moderation feedback.


2. Name-calling (general meaning)

General meaning
Name-calling is the use of derogatory labels or epithets to demean or dismiss a person or their work, typically without adding substantive explanatory value.

Assessment
:warning: Mixed: Some name-calling is identified; not all phrasing qualifies.

Why

  • :check_mark: The post explicitly quotes and labels terms like “AI slop” as derogatory/insulting language and identifies them as name-calling. (Open Robotics Discourse)
  • :warning: The evaluation then generalizes into character judgments (“two big guys … bullying a kid”), which also functions as pejorative shorthand directed at persons rather than arguments. (Open Robotics Discourse)
  • :pushpin: The post juxtaposes interpretation of hostile language with an explanation of community dynamics, but the framing still relies on emotionally loaded descriptors rather than neutral technical analysis. (Open Robotics Discourse)

Conclusion (name-calling)

Contains name-calling in the common rhetorical sense: it highlights and repeats derogatory terms used by others, and uses pejorative characterizations of identifiable people involved rather than only focusing on substantive points of disagreement.


I’m quite sure I can get it to answer the exact opposite for both posts changing the context. I wouldn’t trust blindly an AI (not only for coding).
That said, I already given my opinion earlier.

1 Like

Your AI answer says “The term “AI slop” is a derogatory label” and “it is accepted by the author as legitimate criticism”,

  • Just saying, maybe the author doesn’t want a beef with the person, maybe he’s not as crazy as me & doesn’t want a friction with the community and the OSRA members?

But, okay, since AI can give different answers if pushed, let’s leave it out completely.
@martincerven Described the work as “slop” 3 times there.

“Slop” was first used in the 1700s to mean soft mud, but it evolved more generally to mean something of little value. The definition has since expanded to mean “digital content of low quality that is produced usually in quantity by means of artificial intelligence.”
source

  • Calling someone’s work slop / trash / not valuable, is, definitely an insult and it is derogatory. The rest of his comment could be seen as constructive criticism if there were no insults. And if there is an insult, it is directed to a person, objects don’t have feelings or can never be offended from an insult.
  • Same thing is true for “dishonesty”, a person could be honest/dishonest can have integrity or not, not a Github repo / a code / a website / an object. An object cannot lie. Lying means twisting the truth willingly. An object does not have a will. An information/statement could be true/false.

Yes. Like the @doganulus’ case, the same mod came and ignited the fight more, instead of regulating it. @peci1 edited his post with clarifications now and I thank him for that. That was all I was aiming for, from the beginning. But as soon as I saw that the moderator liked a controversial reply, the whole debate felt different.

And yes, since they are allowing this behaviour, I opened this topic, so I can get a verbal confirmation from a mod that the users’ behaviour there is totally acceptable. If so, my behaviour here wouldn’t be any different. If they finally do something about those comments there, I would understand that it was just @Katherine_Scott’s mistake and I am ready to strike-through my writings here and there.

Also I’m curious when will a mod weigh in here (maybe try banning me or Doğan from posting? Maybe lock the topic?). I am thinking that if I continue hurting OSRA’s feelings, by pointing out that their mod failed to regulate this conversation too, they might feel that it is necessary to do so.

2 Likes

I see you decided to take a piece of the answer and discard the rest. Not impressed.
Are you just demanding for the whole community to abide to your own interpretation?

2 Likes

Sorry to disappoint you. What else would you like me to respond to?

Nope. But let’s see your interpretation in action with the name changes (just simulating, also changed slop to trash, dishonesty to fraud):

pastoriomarco: Hey guys, I made this motor driver pkg, looking for feedbacks and contributions.

Orhan & Elon: You are posting AI trash here, this is fraud. We don’t care about the fact that you are a newbie. If you want to develop that and share here, you should read every document, guideline, rule published by OSRA and follow. We know them, but we won’t talk about it unless some crazy guy (real Orhan) comes and creates an uproar.

Some crazy guy: What is this, unacceptable, can somebody please help, there is a violation here.

Some mod: LLMs should be stated, other than that, nothing is wrong here, move on.

pastoriomarco: Sorry guys, I didn’t lie, I just didn’t know that I should state LLM use in the repo, will fix it. As you can see from the first reply from Elon, I stated it multiple times elsewhere.

Is this ok? If you think this interpretation is wrong, please provide a similar simulation. It doesn’t have all the details but it is how I see it.

Litterally the lines after the one you took:

The term “AI slop” is a derogatory label in ordinary usage
However, in this case:
    it is not isolated
    it is followed by concrete technical substantiation
    it refers to process and reliability, not personal worth
    it is accepted by the author as legitimate criticism

You miss exactly the point above: you never cite the reason why such an accusation is made.
The method was harsh? Possibly, but I don’t know a way to suggest that the repo seems poor quality and review-less AI generated material that doesn’t imply exactly what the original post implies. Could be gentler? Maybe. But same meaning.

Another consideration, last one and then I’m out: the worst response the OP could have received is not harsh critique. Is no response at all. Having a harsh response means someone took its time to actually look beyond the post and tried to dig into it. This shows far more care and respect than avoiding being harsh, especially on something that in the long run could affect really badly someone’s reputation.

That said, good luck and have fun :slight_smile:

1 Like

:upside_down_face:

I tried to use the common, agreed-upon part only. I didn’t think that the rest, AI slop part was valuable. (I’m blending in). You pointed out that AI is unreliable.

Really? You don’t know a way? Try: “Your content looks like AI generated, is it? if so you should state it clearly according to this and that.”

I disagree. Accusing someone of dishonesty, derogating their work is worse than doing nothing.

@Orhan Thank you for raising the topic of amending the OSRF Discourse behaviour guidelines. We are always happy to have help maintaining it. It’s a living document that needs to be updated over time as our community grows and changes, but that maintenance is high-cost.

To update the guidelines, we need from you specific changes you would like to see. What text would you like to see added or removed somewhere? Once we have this, we can evaluate the proposed changes, and either accept them as-is, reject them (with a reason, of course), or modify them before accepting them. We can’t start that process, however, until we have concrete suggested changes to consider.

I think it is very important to remember that moderation is a shades-of-grey activity. Yes, calling someone names is bad, but there’s a difference between the words you can use, a difference in how the intent sounds to the writer, and a difference in how the intent sounds to each reader. Yes, insults are bad, but there are different levels of insult. We have to consider each case individually, and only moderate when moderating is merited. Over-moderating is as bad as under-moderating, and there is no hard line between the two, only a very blurry, fuzzy, non-linear scale between white and black. I apologise for the times we’ve screwed it up, but please remember that moderators are people, too, and not logic circuits.

If you see a specific post you think should be moderated, the best way to respond is to flag the post. If you do this, the moderators will be notified the next time they log in to Discourse, and will review the post and take an appropriate action. Sometimes that will require discussion amongst the moderators, so moderation might not happen immediately.

There are two reasons that flagging posts is important:

  1. It notifies the moderators directly, getting it into our moderation system and ensuring we see it amongst the fire hose of new posts every day.
  2. If enough people flag a post, Discourse will automatically hide it until the moderators take action. This allows the community to, as a group, self-moderate to an extent, and is helpful when the moderators need time to deliberate on the best course of action to take.

So, if you want the moderators to do something, flag the post rather than replying yourself. The latter just creates unnecessary friction in the community.

I think that, in the original thread, everyone spoke poorly in some way except for @frozenreboot, who graciously took the feedback they received and improved their work. @martincerven, @peci1, @Orhan, and @Katherine_Scott could all have used better phrasing to say what they wanted to say - or not said some things at all. However, I also see that all the above people are learning from the experience, so overall I call this a win!

If you want to refer to two people with the same real name, then use their usernames without the @ symbol. You can remove it manually after the autocomplete, if that’s easier. Applying labels to people is risky at best due to the sort of misinterpretation you just encountered. I recommend avoiding it.

6 Likes

And Orhan, despite he does not have amicable feelings for me, @peci1 is one of the very few independent voices in this forum. I am glad that you have found a compromise. I really consider that this issue is a one-time misunderstanding. Hope it is fully resolved now.

However, below is a more systematic problem regarding the forum health:

This is something @gbiggs cannot answer unfortunately. Further I recall his innovative moderation methods in this forum like preemptive weekend banning of a prominent member in the forum because he MIGHT say something about a CEO in the TGC. Or his recent censorship for another prominent member over a meme who involves a complaint about the priorities of ROS developers.

So our question is actually this: Who will moderate moderators?

Still @gbiggs asks concrete proposals so here it is:

  • Hire professional forum moderators employed by the OSRF instead of Intrinsic.

You have enough money in the bank. This would be a good step for the professionalism and institutionalization of the OSRF. This would help the independence of the Foundation.

And I would cease my comments on the OSRF being a tribal oligarchy.

@doganulus has now been banned, enough is enough.

Sincerely, independent ‘moderator of moderators’/board member

4 Likes

I feel sad that @doganulus is banned now. We’re from the same country and, it’s a cultural thing, when we see something wrong, especially from a higher authority, if believe that it is wrong, we fight against it. And not care about if it is going to hurt our reputation, not care if we’re alone against a whole group of people. I accept, that we get a little too emotional sometimes.

But we also have a saying: “Tone can turn the one who is right into the one who is wrong.” Here, it was more than a tone unfortunately.

In the future, if the moderation is not regulated, I may get more emotional and say more things that I would regret and probably get banned too. But I would feel proud about getting banned from a non-fair place “in that case”.

Can’t comment on what happened with @doganulus before, but IMO @gbiggs made the most rational comment in this thread. I hope the officials will take the required actions to make this place more fair and welcoming.

Announcing that you’re willing to abandon the very principles you claim to defend in order to enforce your view is not the display of righteousness you think it is.

2 Likes

Principles are valuable when they are respected by everyone and when enforced to everyone. I have never ever even raised my voice to someone who never raised their voice to me, in my whole life. Hypocrisy getting treated accordingly, is only fair. When someone attacks you, are you gonna say “that is not right” or properly defend yourself?

You could also choose to be the positive example :slight_smile:

3 Likes