#social 2019-09-12
2019-09-12 UTC
dmitriz, Guest84, Guest84_, h_ll_k_n, xmpp-social and how joined the channel
#
jesopo people have to declare affiliation, right?
#
jesopo in which case, as individuals, we can chose to not interact with those affiliated with Gab
#
jesopo of course people can lie about affiliation but that's not a huge concern. they'll likely be loud about it and it isn't a moral issue for me if i unwittingly support such a person
#
jesopo just my two ¢s
#
jaywink[m] I feel somewhat uncomfortable talking about Gab and developers working on proprietary code as the same people ;) That associates me and probably many of us with Gab like communities, which personally I couldn't despise more.

#
jaywink[m] But would I be willing to exclude those people from a community forum based on their affiliation if they behave, don't break community rules and are just to participate in the community without bringing their hateful messages?

#
jaywink[m] I can't really see justification for that from any angle.

#
jaywink[m] Before socialhub is moved under activitypub.rocks it would be important to have a Code of Conduct in place for exactly this reason.

#
jaywink[m] Currently AFAICT socialhub has no CoC last time I was there

#
jaywink[m] I mean, in our personal streams we can block whoever we want and find abusive or uncomfortable to deal with (I certainly do)

#
jaywink[m] But as a community we can't just go around blocking people from public spaces (a forum) without some rules or justification

#
jaywink[m] imagine FOSDEM turning people at the door if they happen to run a Gab instance or work on proprietary code

#
jesopo i agree that the community should be open to anyone respecting a CoC but then individuals should be permitted to not interact with people they perceive to be Bad
#
jaywink[m] jesopo (IRC): yeah that is why tools have block/ignore etc inside them. Not sure discourse does tho 🤔

#
jesopo worth baring in mind. i agree that lumping proprietary and gab together is absurd and nasty
#
jaywink[m] but can you block an individual from a public place because a part of the community feels bad about them even though they're not breaking rules?

#
jesopo no
#
jesopo you cannot
#
jesopo but theoretically every individual could chose to personally block/ignore them
#
jesopo or some could chose not to. or whatever
#
cjd I think that from a stratigic pov, they must be accepted at the meetings if they ask to, otherwise they can start a parallel standards process and claim that this one is a farce because implementors are not allowed to join
#
jaywink[m] this space, and thus the meetings, is under W3C code of conduct I believe

#
cwebber even if we block Gab explicitly, we can't force people to expose that they are secretly affiliated with Gab, so instead
#
cwebber what we can say is we do not allow the advocacy of abusive content
#
cwebber that includes promoting Gab
#
cwebber this may mean that some people are quietly/secretly affiliated with alt-right content; there's not much we can do about that
#
jaywink[m] you'll need to write that in the CoC pretty clearly to avoid random requests for blocking random people :)

#
jaywink[m] since there will be Gab-like instances running on many platforms

#
cwebber yes
#
jaywink[m] like naturalnews and various non-organization based instances that just are set up by loonies

#
cwebber I don't think we should write our own CoC; either the W3C one or Contributor Covenant are probably good enough (though there was some slight modification to the batter I don't remember)
#
cwebber I don't know what that is
#
cwebber we should scope the problem: we want to make sure this is a forum where people can coordinate the future of the federated social network and feel safe and comfortable doing so
#
cwebber so the *reason* for not allowing the promotion of those sites is because of the above, not because we're particularly interested in individual condemnation as its own goal
#
cwebber and jaywink[m] (if I'm reading what he says) is also right that it's the nature of decentralized systems that if we try to block based on individual sites, it won't be effective (we can *identify* some examples) because new sites can always be made
#
cwebber and we don't want a long laundry list
#
jaywink[m] but is a developer working on code for Gab promoting Gab, or a person using naturalnews promoting naturalnews? (just an example)

#
cwebber jaywink[m]: I think exposing your affiliation with Gab is a sort of endorsement, but it's complicated because the W3C SocialCG policy requires exposing your affiliation
#
cwebber I don't know how to untie that knot
#
cwebber but I also am not going to try since I just woke up due to jetlag :)
#
jaywink[m] I thought thou the Socialhub wouldn't be affiliated with W3C?

#
jaywink[m] but the AP community

#
cwebber jaywink[m]: it isn't, but I expect bidirectional collaboration
#
jaywink[m] (maybe misunderstood in the call)

#
jaywink[m] yeah sure

#
cwebber I am also not going to be one of the socialhub moderators because I'm very overwhelmed already :)
#
jaywink[m] but just saying requiring exposing affiliation doesn't have to be a requirement in the forum, just because it is for W3C :)

#
cwebber yes that's true
#
cwebber the reasons are different anyway
#
cwebber time to shower
#
cwebber I'll do the DNS thing today. I meant to yesterday but then I fell asleep earlier than I expected :)
#
cwebber and I had nonstop calls between the socialcg and when I fell asleep
#
cwebber I also have to prepare for a talk tomorrow at Friam!
#
cwebber I will be explaining OcapPub to that community
#
cwebber (ocap / actor model old-timers... an interesting group)
#
cwebber I could use some downtime, maybe I should take some this weekend
#
jaywink[m] take care to unwind cwebber (IRC) :)

#
cwebber thx jaywink[m] :)
#
cjd I think if someone says "I work on gab, I want to talk about standardizing groups" then trying to find a way to throw them out will lead to loss of credibility of the process
#
cjd However, if anyone brings politics or religion to the standards process, that's where it's totally ok to draw a line
#
cjd (contrast that with the operation of an instance like m.s or such, which is ostensibly for the enjoyment of its users and has no obligation to make reasonable efforts to allow everyone's voice to be heard and so can block instances for any reason or no reason)
#
jaywink[m] ++

#
cjd Unfortunately, a person who has trauma and is unable to be in the room with certain people (even when they are acting polite) cannot participate in a process which has to be "open to everyone"
#
cjd *cannot always
#
cjd But fortunately, it's usually pretty quick to determine good faith from bad faith, because bad faith actors won't spend the effort to think about protocol design
#
jaywink[m] Yep totally, I understand that. I have first hand experience in this and still have difficulty seeing messages from people who have caused abuse in the past. But it's difficult to say then "this person must be blocked for the whole community".

#
jaywink[m] I wish discourse had a block/ignore but it I can't see it :(

#
jaywink[m] only reporting

#
cjd That's the difficulty, if a person acts polite and sensible, trying to exclude them exposes the entire process to risk
#
jaywink[m] there are several people in this group I've blocked on a personal level, for example, but I have to accept that the community will not block them. just as an example.

#
cjd And if they act slightly passive-aggressive, it's really difficult to apply a coc against them (which is why the old school method was to have no coc and to just have a dictator who most people trusted who would be able to "arbitrarily" eject people)
#
cjd But then the dictator usually preferred abusive but prolific developers and so communities became insular, buuuut that's another story and not really something for a standards process
#
jaywink[m] abusiveness also goes much beyond religion or the far-right. anyone can be abusive towards others, even if they were the most lgbt, left or the leader of a non-profit helping cure the world of cancer. we're so distinct as personalities, drawing lines into these kind of public spaces is very tricky.

#
cjd indeed, hence why I've historically preferred the "act like a guest, don't upset the mods" coc, because you don't have to draw any strict lines
#
jaywink[m] yeah that on top of a "pretty standard coc" as indicated by cwebber is imho the best too

#
cjd *nod*
#
jaywink[m] and if the mods become the people doing the abuse (through unwarranted blocks) - then as a community space it just fails :)

#
cjd yup, dictator model... need a trustworthy (and cunning) dictator
#
cjd And never ever fall for the "Don't block Jacob, he's so important to the community and he's been through a lot" trope, that one will kill you
#
jaywink[m] yep

BitBot joined the channel
#
jesopo apropos of nothing (other than showing off):
#
jesopo i present to you what I believe to be the only IRC bot that speaks S2S ActivityPub
#
jesopo ,fedi @jess@hellsite.site
#
BitBot [Fedi] jess: hello fediverse friends! - http://bit.ly/32AOArc
#
jesopo ,config user fediverse jess@hellsite.site
#
BitBot [Config] Config 'fediverse' set to @jess@hellsite.site
#
jesopo ,fedi
#
BitBot [Fedi] jess: hello fediverse friends! - http://bit.ly/32AOArc
#
jesopo if anyone is curious: https://github.com/jesopo/bitbot/blob/master/modules/fediverse.py
#
jaywink[m] hah, nice!

#
jesopo currently building a fediverse server in to it, too! but that's very much WIP.
#
jesopo I'm new to the protocol overall but getting stuck in and really enjoying it :)
#
cwebber jesopo: cool :)
#
cwebber jesopo: welcome to the activitypub community then... nice to have you here :)
#
cwebber and yay irc bot to ap bridge
#
jesopo yeah I'm working on inbox stuff so the bot can announce Activities on IRC when they're published
#
jesopo currently working on outwards federation, inwards after that
#
jesopo i got a lottttt to learn first tho
#
cwebber jesopo: very cool.
#
cjd having an AP <-> matrix translator would be a really cool project
#
cjd I would much rather run pleroma than synapse
#
cjslep[m] Thanks for the ping cwebber. I will see if I can join for a next meeting.
#
cjslep[m] Welcome jesopo to the AP community!
#
cwebber cjslep[m]: cool
#
cjslep[m] Thanks for all your hard work, at AP conf and your work on datashards
#
cjslep[m] Even though I wasn't there I appreciate and want to recognize your hard effort.
#
jesopo cjslep[m]: thanks :)
#
cwebber cjslep[m]: :)
#
cwebber cjslep[m]: though, I shouldn't take credit for apconf
#
cwebber that was morgan lemmer-webber, sebastian lasse, tom marble, and deeann little
#
cwebber I was just the most public face
#
cwebber but I didn't make it happen
#
cwebber and if it were left to me, I'm bad enough at such things that it wouldn't have ;)
hellekin joined the channel
#
melody This isn't really about gab, but about whether we will bar participation based on behavior outside the forum -- which is something that some relatively standard CoCs do have allowances for -- it's not possible to run a space that is inclusive of "everyone" and then also give equal time and space to people running abuse and harassment networks because they've chosen to be outwardly polite
#
melody That sort of compartmentalization tends to protect abusers, because they are the ones best positioned to play this compartmentalization game while the people they've harmed end up inevitably having to put a stake in the ground on participation
#
melody So I think the question is more "is past & outside behavior going to be taken into account when choosing who is represented in this space", with Gab developers in my initial question as a relatively clear example of a case where we may need to think about this moreso than banning gab by name specifically
#
jesopo can i ask some stupid federation questions
#
jesopo if instances don't look at the outbox, how is my instance meant to show someone's old toots if there's no following/relay connection between my instance and their instance?
#
jesopo sorry, s/toots/activities/
#
jesopo because as far as I know it, the only way that activities transport between instances is through the instance that is the source of the activity pushing it in to someone's outbox
#
cwebber dns, in theory, updated for socialhub.activitypub.rocks
#
cwebber but expect a bit for it to propagate
#
cwebber jesopo: you mean pushing it to someone's inbox I assume
#
jesopo uh
#
jesopo yes
#
jesopo sorry
#
cwebber np! just clarifying
#
jesopo as far as i can see, a new account will never have any visible activities until someone follows it
#
jesopo and even then - only that one person will see it
#
jesopo i must be missing some things here
#
cwebber jesopo: yeah that's why the outbox is GET'able
#
cwebber so you can see what the latest stuff is if you aren't yet subscribed
#
jesopo cwebber: so masto and pleroma will respect the content of an outbox?
#
cwebber jesopo: I can't say for sure. I would think so
#
jesopo masto GETs my outbox and doesn't display anything (might be an issue with my protocol understanding) but pleroma doesn't even GET it
#
jesopo (masto also sends two GETs to my actor for some reason)
#
jesopo I'll paste an example of my Actor and Outbox
#
jesopo might be something wrong with it
#
jesopo outbox is on there too
#
jesopo well, ofc lol
#
nightpool[m] mastodon does not backfill any activities for local viewing
#
jesopo so my above concerns about new accounts are correct?
#
jesopo just feels weird that new accounts will have no activities until someone on your instance follows them
#
cwebber https://octodon.social/@fraggle/102780497181330552 keybase got stamps backwards ;)
#
jesopo i just dont see how the fedi works how it does then. I've definitely gone to people's profiles on mastodon who are not followed by anyone on my instance
#
jesopo yet mastodon still shows their toots
#
jesopo and my instance doesn't belong to any relays i believe
#
melody jesopo: in the case of mastodon, it might occasionally show toots if somebody on your instance has boosted or replied to them, and maybe if they are pinned, but otherwise mastodon will not show any toots that weren't actively delivered because somebody follows that user
#
melody it's one of the reason single-user mastodon instances are painfully pointless
#
jesopo melody: are they? it'd be the same issue for a poorly connected user on a many-user instance
#
jesopo i create a new account. i toot. i ask people to follow my account and give my @. they see absolutely no toots
#
jesopo even on mastodon.social this would be an issue
#
melody nope, on a many-user instance, lots of stuff is filled in because other people on the instance have interacted generally, you can see content even if other people can't straightforwardly see yours (though other mastodon.social users will see your first toot, even if nobody was following you when you made it)
#
jesopo i make a new mastodon.social instance and make some toots. people visit my @ and see no toots thus can't interact with toots such that they get federated
#
jesopo not arguing btw, just confused
#
jesopo just making sure i understand correctly etc
#
melody other mastodon.social users will see your toots and can interact with them in such a way that they get federated elsewhere, to a degree, if somebody who can see them boosts you that will go to their followers on other instances as well, and that will make the toot show up on that instance's cached copy of your profile even if nobody is following you
#
jesopo right but if none of those steps happen
#
jesopo no one will ever see the toot
#
jesopo ?
#
jesopo i assume by "first" you're talking about the outbox `first` key
#
jesopo i assume this whole issue is the reason relays exist
#
jesopo also, as for relays, are they effectively just psuedo actors that follow each other and boost/announce every activity from their instances?
#
jesopo sorry for all the questions x.x
#
jesopo all of this seems to be telling me that a priority is making following (both directions) work before anything else
#
jesopo and then support for relays
#
melody Sorry, let me try to contextualize this. If you're asking how you can get other software to see your actor's posts, then yes, you need to prioritize making following work, at least allowing your actor to be followed, so that you can perform delivery to somewhere
#
melody mastodon will not fetch posts you already made from your actor when people try to find you
#
melody the cases where you may have seen posts by an actor that nobody on your instance is following are related to quirks in other ways that post IDs may end up being cached by a given instance
#
jesopo well the questions were more trying to see if I'd missed something about federation but you've definitely filled me in! :)
#
melody and there are probably gaps, even if they aren't obvious
#
jesopo nods
#
jesopo I'll get to work
#
melody I don't know the details of other software, and backfilling should be possible, it's just a pain in the neck for a bunch of nitty-gritty-detail reasons
#
jesopo including some potentially malicious software reasons, I'd assumr
#
jesopo assume*
#
melody There's no "how federation works" in a more general sense, enough in activitypub is unspecified that the details come down to individual software behavior
#
jesopo including huuuuge outboxes
#
jesopo nods
#
jesopo thank you very much!
#
melody The basics are there w/r/t delivery to followers, but the practical experience is all software-specific -- in theory software could support fetching your outbox, in practice I don't know that any does, so you need to be followed to federate
#
jesopo and everything else is somewhat of a quirk from unspecified behaviour
#
melody I can't recall the specifics of how relays work, I believe the level of integration with them and the details are probably also at least somewhat software-specific, but they can make a small/poorly connected instance behave somewhat more like a large and well-connected one, but it's also a really homogenizing experience on the federated timeline and exposes you to new abuse vectors, it ends up being a pretty gnarly tradeoff
#
jesopo right
#
jesopo might see if i cant talk about it with kaniini of pleroma as they wrote a relay and are sometimes approachable
#
melody Yeah, a lot of the details are quirks of the way software chose to handle unspecified behavior, some of which have been adopted more broadly because mastodon is the prehistoric elephant in the room and sorta set the general policy for how things will go forward
#
melody pleroma instances all act as relays by default, those are actors that can be followed and essentially boost every post on the instance
#
melody how posts are chosen for the relay and how subscribing to relays work is the part that's largely unspecified behavior/back down to software details
#
jesopo whoa wait. pleroma acts as a relay in what sense? if they see an activity from you, they'll relay it to.... ?
#
melody They will deliver your public posts to the relay actor's followers
#
melody IIRC the relay actor is enabled by default
#
jesopo oh, you mean pleroma has a relay actor by default
#
jesopo i see i see
#
jesopo that's interesting
#
melody Yeah, so most pleroma instances have a relay actor that would allow you to subscribe to all public posts on that instance
#
melody re: the software-specific behavior I was trying to talk about earlier -- the reason that a poorly connected user on a big instance is better off than a single-user instance is because that user both has more people who might see their posts (the large number of local users can see them even though they have not federated) and because they can see content on the local and federated timelines, including replies
#
melody on a single-user instance, you can't see most replies in a thread, even when the original post is a user you're following
#
jesopo oh I see, didn't even think about the inbound. was just thinking about my own stuff federating
#
jesopo and actually i hadn't thought about the replies at all
#
melody the reasons for that are complicated but essentially you can't read conversations on a single-user instance that isn't subscribed to a relay and even with relays it's...messy
#
cjd is the discourse up ?
cwebber joined the channel
#
nightpool[m] melody: hm? replies get forwarded through inbox forwarding, inboxes aren't necessary
#
nightpool[m] *relays aren't necessary
#
jesopo nightpool[m]: what's inbox forwarding
#
nightpool[m] jesopo: you address things to the followers collections of other people, and then they can forward them on if they want
#
nightpool[m] for example, when I reply to Gargrons post, he delivers the reply to his followers so they can see a full conversation