Policy Proposal: SocialHub Community Values

This historical topic conserves the original discussion about the SocialHub Community Values Policy.

Proposal stage

Since this is a @staff proposal, the policy will entered into force after a week on (2021-02-18T23:00:00Z), to leave a bit of time for debate, in the hope to clarify any ambiguous point that may appear. All members of this forum will have to take action (either agree or disagree) to stop the daily flood of reminders.

While I have no issue with the proposed policy, have already agreed to it and am thankful for this issue being tackled, I suspect that some words of transparency on how this proposal came to be might be helpful for users just stumbling into this.

To me (non-native speaker) proposal sounds like something yet to be discussed and which might be subject to changes before being finalised.
The post above states that the proposal needs to be accepted though or people need to leave.

So I guess this has been discussed in a SocialCG meeting? And another reason is that this community is strongly related to the W3C, so their code of conduct is the one we adopt?


While I agree with the proposal in spirit, I cannot agree to this policy as stated, as it transfers undue responsibility for things I cannot control.

If a downstream user consumes my software to violate this policy, I cannot do anything about that, as any mechanism to prevent such uses of my software would make it rightly non-free. But I might be hit with a punitive action as a result of this policy. That’s not acceptable and it is anti-democratic.

I also fear that this will lead to bad faith actors having a mechanism to use for concern trolling: software foo is being used on some bad instance, so we must ban the developers. The fact that “primarily used for” is included in this language does not assuage these concerns.

Please revise this policy to explicitly narrow the scope to things developers can actually control. Thanks.

Some questions to consider when revising this policy statement:

  • What criterion are used to determine whether a software is designed to primarily violate the policy statement?

  • What criterion are used to determine whether a software is “primarily used” for violating the policy statement?

  • How is “primarily used” defined? Who defined it?

  • What are the definitions of all terms in the policy statement bullet points for the purpose of enforcing the policy statement?

  • What is the definition of ‘tolerate such behaviors within their communities’? What is the definition of ‘good faith effort’?

So far, out of software people are actually using in production, the only developer who has agreed to this is the Pixelfed author. If we are going to be held accountable as vendors for the actions of people downloading software from our websites and installing it, then we may as well not participate in Socialhub as vendors and restart Litepub instead.

I really cannot reiterate this enough. The whole value of SocialCG is that it is a mechanism for production implementations to work with each other. Those implementations do not need SocialCG, but SocialCG gains legitimacy from their participation here. If you impose conditions that are an undue burden on us, we will ultimately collaborate elsewhere, as there is no point in working in a space where our ability to do work might be interrupted due to issues outside our control.

And, to be clear, I agree with the spirit of what you all are trying to accomplish, but developers have to approach technical community participation from a risk analysis perspective.

As presently worded, if an instance is deployed using the software that is not aligned with the proposed policy statement, then the project in question is required to denounce that use (“have not made a good faith effort to discourage such behaviours”). What happens when a project is unaware of such an instance?

What happens when a project does not denounce that instance, because they do not care about things they cannot control anyway? Why should a project be required to take a position on “bad” instances?

I want to spend my time writing code and doing technical work which actually benefits society, not waste my time releasing PR statements about instances deemed in violation of this policy by a concern troll.

So, until this thing is basically rewritten to clarify precisely what responsibilities I have as a developer of an AP project, I cannot agree to this proposal, and must assume the most draconian possible interpretation, in the same way as one must assume the most draconian possible interpretation of any other policy statement.

1 Like

I think the only unfortunate thing is that displaying the policy proposal for this valuable discussion and your absolutely fabulous feedback, means that the thing already starts nagging people to sign it. There will be no enforcement of rules that are a mere draft. As soon as the proposal is edited, feedback incorporated, a new final version of the policy will come into effect and people need to sign it anew.

If I look at the extensive points brought up by @kaniini it may be prudent to organize a SocialCG meetup, but I’ll leave that to SocialCG chairs. Also I suggest that the deadline of 9 Februari is indicative, and just there to give the matter sufficient urgency. It can be extended if need be, imho.

The trigger of drafting the policy were some incidents of forum moderation, where the underlying CoC rules were insufficiently clear and lacking as to what the values of this community are. The draft text is indeed created in SocialCG for their use, and aims to align SocialCG and SocialHub to a certain extent (which can be further discussed here).

PS. @how, can the policy notification be disabled, until it is final? Or maybe we might use simple quoted text, or even a wiki post until it is?

Bluntly, the way this has been rolled out is quite disturbing.

While, again, I agree in spirit with the policy statement, as a software developer in the ActivityPub ecosystem, I could not sign this current statement, and any software developer would be exposing themselves to substantial risk by doing so.

This needs to be rewritten in its entirety to define boundaries explicitly and make clear the responsibilities of developers/vendors.

The reality is that the ecosystem is driven by the people writing the code. Punishing the people writing the code because an end-user deploys an instance that is used for purposes in violation of the policy statement.

Mainline AP projects came back to SocialCG in good faith, not to be punished because kiwifarms, gab, parler or whoever is using our code and we didn’t cancel them hard enough.

If that is the direction things are going to go, please make it clear so that we can create a replacement for SocialCG that will not have this problem.

My impression and personal opinion is that your points are valid, and that this community is one where AP devs should feel at home and safe, and where we collectively discuss topics like this until there is a community consensus.

The only problem, imho, is that pasting in the policy and the thing started doing it work aleady, was not intended and makes the wrong impression that the policy will be enforced on the community without the prior discussion. This is not, and never was, the intention. But urgency to getting this right is given, and at least this has led to stirring things up :grin:

My suggestion is to bin this proposal, and have a SocialCG meeting with actual mainline projects present to define explicit goals, boundaries and responsibilities. And then, and only then, with consensus from mainline developers, write up a policy proposal.

If this policy proposal comes into force on 9 Feburary, then I will be forced to no longer participate here, as I cannot agree to this as presently worded, and do not see a path forward for rewording it that does not involve having actual discussions with the community at large including major stakeholders.

I can’t speak for other developers, but I suspect you’ll have effectively killed SocialCG if things move forward without that.

Nobody who takes this stuff seriously is going to waste time contributing to a technical community they can be banned from at any time because the wrong people deployed the software. Instead, interoperability discussion will return to backroom discussion and alternative working groups like Litepub. Sorry, but it’s just reality.

1 Like

While this rollout might have some flaws, could’ve been done better, I also want to add to this that all the work done is by an all-volunteer staff team and SocialCG members, that are doing the chores behind the scenes. Time is the most precious commodity of all of us, and as a community together we’ll improve our procedures and organization. But this is just as much part of the ecosystem, and frankly - as a community manager myself - it is often a thankless, underappreciated job (and personally I’d also like to spend more time coding, so my interaction here is a weighing of what’s more important).

So, in due time we will be looking at more people to volunteer for various community tasks, so we can share the burden a bit better. Like for instance asking more people to join the @well-being.team

I just want to be clear here, based on the most draconian interpretation of this policy, all Mastodon and Pleroma contributors would already be banned!

Mastodon would be banned because of Gab and dozens of other alt-right instances using the software!

Pleroma would be banned because of KiwiFarms and dozens of other alt-right instances using the software!

Those projects had no control over any of that happening.

While I agree that being a community manager is an underappreciated job, bluntly, the mainline projects do not benefit from SocialCG’s community management. SocialCG’s primary value proposal is giving the smaller participants an equal seat at the table, which is great in theory, but that value proposal is entirely lost if SocialCG adopts a policy which further discourages mainline projects from participating in it.

For the most part, interop is already discussed in backchannels and on issue trackers. It’s faster than following the SocialCG process to standardize. Even the FEP process is too slow for mainline interop concerns.

These things are topics of discussion, all in themselves. I see the role of SocialHub as a way to coordinate and speed up the evolution of the Fediverse and its technology standards. This backchannel discussion is all nice and well, and may be speediest to crank out the code, it is very opaque and all the knowledge you are exchanging is lost to others who have to trod the field afer you.

Anyway, I’ve said my piece. Please scrap this policy proposal and schedule an actual meeting and make sure actual stakeholders are actually there and restart from there.

I’ve looked back through the minutes of SocialCG meetings since last October and this policy statement was not discussed at any of them.

Yeah, well, funny thing about that… we can’t share that knowledge with you if we wind up getting banned because some troll registers an offensive domain, installs our software, and we didn’t denounce them in time.

1 Like

is strongly related to the W3C, so their code of conduct is the one we adopt?

Yes, see first sentence.

On top of this

Regarding the meeting I propose (if that is possible) to do it right after the SAT meeting.
Please consider that the waiting list with the Social CG topics is long.

If this proposal is as urgent as is claimed, it should occur immediately, but at a date where Mastodon and Pleroma developers can be present.

Because, again, under the most draconian interpretation of this policy statement, they would already be banned. If that’s the intent of the policy statement, then congrats, you’ve just killed ActivityPub.

where Mastodon and Pleroma developers


They are NOT more important than ANY other human !!!

So TL;DR, as I see it: draft → discussion & improvement & meetup(s) → community consensus → finalization & adoption

Actually, when it comes to this specific topic, they are.

They are because they are the defacto reference implementations of ActivityPub, the protocol being discussed and maintained by SocialCG. And, this proposal as it currently stands would result in their exclusion because “they didn’t do enough” about bad actors using their software.

That isn’t what was presented here.

@how decided to say “this is how it’s going to be, you agree or leave. decide by february 9.”

Which just further reinforces my point, that this needs to be withdrawn and done in a way that gains consensus ahead of time, and ensures that key stakeholders are consulted in the process of creating that consensus.

Mainline projects are unlikely to be convinced by five or six people talking on a big blue button call. You need to make sure they are actively involved in the discussion.

edit for @Sebastian’s sake: that includes as many of the 126 people who have not signed this agreement as possible, not just the mainline projects. but the mainline projects must be included for this to have any legitimacy.

Since this is the official communication channel, a question:
Where are the big players here?
They can step in the discussion right now or in an hour or in ten hours.

Except to the sentence “ActivityPub is a … protocol” personally I agree to every sentence in