Community norms for unsolicited communication


#1

I believe any user in discourse, or any similar platform, can change their notification settings to avoid getting “spammed,” should they want. Or else, they can use their email filters for this purpose. Giving an example from discourse, one can visit https://discourse.julialang.org/u/<username>/preferences/{emails,notifications} to disable

Send me an email when someone quotes me, replies to my post, mentions my @username, or invites me to a topic

or

Allow other users to send me private messages

I still believe that trying to tell a person, on the thread itself, not to ping some other person (who is tagged) by speaking on behalf of that person is rude. That was the starting point, in my opinion, if we read the sentence ... where people start telling you what you should write or not or who you can tag or not in a thread. I agree that people should not use the public thread to tell you what to write or not. Either we have specific rules so that there would not be any need for anyone to tell you something (you get muted with a clear sign from the moderator on what rule you violated), or somebody can use the private communication channels to warn somebody in a polite and private way.

Of course, this reflects my own opinion on the topic. I mean, I would have got frustrated in such a situation if some other person other than whom I was referring had tried to tell me what (not) to do.


Censorship issues and community behavior
Censorship issues and community behavior
#2

Yes, yes it is. Tom basically responded with “if you want to know about the future of Plots.jl, go ask the maintainers of Plots.jl or talk to Simon about Makie”, which is what was being said in the forum. Though, again, I do not agree with the tone that this was originally given in (and it was said in a way that was less helpful than specifically getting to the point), it was pointing in the right direction.

Also, the way Tom delivered the message first was on Twitter, and he discussed this in the Gitter a few times over the last few months. So yes, those still are the right points of contact. This is the first Discourse post he’s had in a year though, that was unexpected. So… :smile:


#3

I don’t like to be advocatus diaboli. :confused: I would probably stop write to this thread…

But maybe last time I’ll try to test your hypotheses and go to find maintainers:

https://github.com/JuliaPlots/Plots.jl/blob/master/README.md (emphasis is mine) ->
   Author: Thomas Breloff (@tbreIоff)
   Plots is a plotting API and toolset. My goals with the package are:

Ups! :slight_smile:

I like to say - it is not so unimaginable that Tom will get question in future if that readme stay as it is. And in my oppinion we could not blame people who will ask after reading it!

(Disclaimer: I changed small L (l) to big i (I) and o to cyrilic о after @ so I hope he is not pinged now. Although readme looks like he is trying to be! :wink: )


#4

Yes, that is confusing and is probably the root of why this comes up in the first place.

That’s not a good way to find the maintainers. I’ve mentioned on the Slack before that I would like to see Julia’s package ecosystem make formal mention of who the maintainers are. Github has a thing code CODEOWNERS (ex: TensorFlow.jl https://github.com/malmaud/TensorFlow.jl/blob/master/CODEOWNERS ) that can be used. It would be nice if every package in METADATA was required to list who the maintainers are supposed to be, since on some core but not very user-facing repos it can be hard to find out who “runs” the package or who should be reviewing PRs. I think if we were more formal about this, there would be no problem.

But yes, this thread and the previous thread keeps going long past its welcome, causing damages where it shouldn’t. I think talking to everyone in person at the next JuliaCon will turn this saga into a memorable bump in the road :slight_smile: :beers:.


#5

I think that would be great. To clarify, I think that it is perfectly fine to contact maintainers via PM or the @ mechanism, but it is nice to do the following beforehand:

  1. search for answers in the forum archives, maybe the same topic has come up recently (like it did for Makie vs Plots),
  2. ask a question here,
  3. open an issue (if applicable, for specific bugs or questions).

I think that disabling all notifications is quite drastic. I think it is better if the option is available, but used with restraint.


#6

“Don’t at them unless you know them” [edit: on reflection, I think this was far too strong of a statement]

“Be considerate when you at 'em” is a community norm in most large open source projects today, because the torrent of communications from a popular project can be impossible to manage. Maintainers of popular projects can easily get hundreds of notifications per day from Github alone (not to mention homework help, vanity publishers, and all the rest). It should be considered the same as direct email, which is gently discouraged when other avenues are available. A solicitation such as “Contact Us” email address for a company is different, of course.

Think of pinging and direct email like cold-calling: not illegal, sometimes useful, but salespeople quickly learn not to take it personally if someone hangs up or asks you to leave them alone.

Likewise, politely reminding others that the norm exists is not a personal thing: it is also to remind/teach everyone that the norm exists.

We do not want a situation where people think they can randomly ping maintainers on Discourse with basic questions that have easy answers (which others can and do provide), because then we will likely lose the valuable, irreplaceable input from many world experts who have been patiently answering newbie and advanced questions alike on the Julia lists for many years now. The alternative to a well-tended forum is basically that busy people disengage or turn to hostile levels of communication – neither is an outcome we want.

We also don’t want an exhaustive set of rules, hence why I describe this as a community norm. No one reads long rule-lists anyway, so we would be in exactly the same situation of enforcement by gentle reminders.


#7

I know everyone is tired of this. Please bear with me as I write my last post on the issue.

I can understand the norms you are trying to set (or some other norms that are already set in a consensus). Similarly, I can also understand how tough it can get for developers, language experts, contributors alike to respond to the overwhelming amount of requests coming from users. However, I still don’t understand why some third person should write directly to the thread about what to do, before resorting to other means (such as flagging, private message, etc.)

This sentence assumes that the third party is 100% sure that the caller does not know the callee.

I don’t think that in the concrete example we have been talking about, the person was a salesperson. I mean, I obviously don’t know his profession, but I don’t think the person was calling (at-mentioning) a lot of people in a burst-mode. Even if that were the case, still, this analogy does not illustrate what happened then. The callee did not even respond; it was some other person who interfered.

But looking at all your efforts to convey this information (such as taking your time to come up with different illustrations) and the number of likes on your post, I can easily understand that this is the way to go.

Having said, I thank you all for setting this norm. If at any time I see a person ping some other, I will assume the two do not know of each other and I will write a post directly on the thread explaining why pinging is a bad thing in open-source norms, and I will make the salespeople analogy.


#8

I’ve been using julia discourse forum for a while and up until these recent posts I had no idea tagging someone caused such distress. I’ve used it for banal things, like, acknowledging someone else’s post :sweat_smile: . I’m just a user of julia and not a “true” developer (although I’ve being enjoying a lot coding in Julia :smile:), and had no idea of this “Don’t at them unless you know them” rule.
So maybe tagging should be disabled on Julia’s discourse page? I believe many will not be aware of the “proper” usage of tagging.


#9

I don’t think there are hard-and-fast rules that will work here. Be polite and considerate. Be mindful that mentioning someone pings them and takes a small bit of their time and attention. Use it only if you think they want to / should be made aware of something. Yes, people can turn off all notification, but that’s effectively a total self-removal from the community and they may want to remain somewhat but minimally involved.

You can direct message people if need be, but please be even more mindful of doing that. When someone direct messages you, you are then giving time just to that one person instead of to anyone who might ever care to know about the topic that’s being discussed in a public conversation.


#10

I think it is ok to at-mention someone who previously participated in the current thread (unless you’re necromancing). It’s also ok to reference a post in another thread, if relevant (this will also notify the author of that post).


#11

Would it be possible to allow @ing once the user achieves some discourse related level? Similarly to how you get to edit titles only after enough “experience points”?


#12

I think this whole thing is blown way out of proportion. If everyone just 1) used common sense and 2) took it easy on others, this forum will be just fine. Key word: RELAX!


#13

This is really useful advice and should be in the Discourse guidelines IMHO. Earlier on I spent a lot of time thinking about what the norms were, also in this respect. It’s just as valid a view to assume (as I did in the beginning) that not to explicitly ping someone when mentioning them could be considered rude, as it is equivalent to “talking behind their back”. Because of the nature of Julia, it does tend to attract contributors that don’t have any previous experience with open-source projects – and the open-source culture really is a learned skill, not necessarily intuitive.

BTW I find this discussion valid and important.


#14

xkcd applies https://xkcd.com/386/


#15

I’ve been participating on this board since the migration a year ago, and I’m afraid my common sense is falling short. I have, though with some hesitation, @ mentioned other posters, even high profile ones, for example to refer to something that poster said previously in the thread: “As @ mohamed82008 said: this whole thing is blown way out of proportion” (I do this when it seems more natural than actually adding a full ‘quote box’)

It has seemed natural to do in the context of the discussion, but sometimes I do it more to correctly attribute and acknowledge points made by others, than because it needs their attention.

After reading the latest discussions, with the reminders that I am taking away from their time, I am going to be very reluctant to do this going forward. Perhaps it is better in some cases to mention the poster by name, without the @?

This is the rule I’ve been keeping in back of my mind, but now I am not so sure. “Do they need to know?”, sounds more appropriate.

I don’t know anyone, so that’s an easy rule to follow.

Now I have also quoted several people. Should this be done with the same degree of care and discression as @ mentioning?


#16

Nope


#17

I try to follow the these rules:

  1. if someone is participating in a discussion that is still going on, give credit with @ and quote when relevant (eg I am referring to code someone wrote),

  2. if the discussion has been dormant for a while, or the person’s post happened a long time ago, think twice about doing the above,

  3. try not to @ someone out of the blue, just to bring them into the discussion, without a really strong reason. Only if an issue for the relevant package will not suffice and we have corresponded in the past (“know personally” unfortunately does not apply, I haven’t met anyone here personally. Should do a Julia event in Vienna or Budapest…).

  4. give likes liberally when I agree with something or found it helpful. Likes don’t trigger e-mails.

The above assumes that when someone is participating in a discussion, they would prefer to know about reactions to something they wrote, and that mentioning that I am building on someone’s contributions is polite. Conversely, when they are not participating in a discussion, I try not to draw them in. These are also “golden rule” norms for me, in the sense that I prefer to be quoted or pinged under similar conditions.


#18

When common sense falls short, that’s when taking it easy kicks in :wink: either in the form of letting it be or a nice awareness message. I guess I was trying to say that when we get to the point where someone gets mentioned way too often and is annoyed by it, that’s when a new awareness wave or even a new rule is probably due. Until then, I doubt the benefits of this discussion justify its length. Just my 2 cents.


#19

I think that the main thing to keep in mind is that you don’t have control over the lives of open source maintainers. This is something that is quite unintuitive to a lot of people for some reason. A lot of people will specifically ask for help from maintainers all of the time. One of the worst things about this is that, many times people will seek out the maintainer of the library for questions which don’t require the maintainer at all (“how do views in Julia work?” in a private message, vaguely linking back to something said in package docs), which discourages others from answering simple questions and puts more burden on one person. But you have to remember, an open source maintainer is not your private support team! They have the ability to make decisions on my own whether your post/problem is worthy of my problem or time. If they choose to not respond to you, that sucks but it’s their call. (If you really want them to respond, offer them money or a paid vacation :wink:). Remember open source maintenance is donating time.

Pinging a maintainer is you making the public determination of what is worthy of their time. It’s you taking the initiative and saying that they should respond. That’s fine, but you better be right :smile: @Tamas_Papp gives a few rules that make it easy to be right:

Another thing to note is that different people have different tolerances to being randomly pinged. If you don’t know that about them, then you probably just shouldn’t do it.

BTW, I don’t know if everyone caught it but @mohamed82008 won this thread.


#20

There’s a “but”: good user feedback and discussion is a really useful resource for package maintainers. If people talk about my package, I would like to know. I’m perfectly capable of ignoring a ping if I’m not interested, and generally I appreciate getting pinged on something interesting. I think a better general rule is that the more people are likely to ping a given person, the better a reason you should have to do it.