Disclaimer
I‘m not asking if you want to federate or not and why. The question is if a defined ruleset would make it more transparent for everyone and more future proof.
Since we are seeing major divides due to the (de)federation of threads and now the federation of flipboard, we might wanna discuss future rules so to not fight about everything.
I can see arguments for both sides but some of the technical ones are more compelling since peeps who are unhappy can always move, an overextended instance will have to close. So I‘d take this as the basic principle:
- no federation with instances bigger than half the fediverse (arbitrary number, could be no bigger than all of it as well)
- no federation with instances that push ads with their posts
- no Federation with instances that use altered versions or proprietary versions of AP.
- no one way federation
These are obviously just ideas. There are several „unions“ of instances already that implement more or less of these ideas but I think its something that should be discussed instead of just yes or no.
Also, I‘d suggest we make such rules permanent as in if any instance changes in this way, it gets auto defederated.
This would make interaction more clear and easy for users to choose their instance. For example, If someone wanted the possibility of twitter federating, they‘d not go to an instance that has this ruleset.
Any other ideas?
I don’t know if you know this, but Lemmy is also using an altered version of ActivityPub to federate things like downvotes.
Your rules are flawed.
Downvotes federate as
Dislike
activity which are part of the standard. There are some nonstandard parts eg for locking posts distinguishing comments. But most platforms including Mastodon or Peertube have such custom fields.Ah, must have gotten those mixed up then, my bad
No I didnt. Thanks for letting me know.
And my rules are flawed by design. They‘re my first draft. If what I did was perfect I would rule the world, but I am not and nobody is.
Thats why we have democracy. To find common ground. They‘re just an idea, something to help understand an idea and to work off of.
How would these rules be enforced in the first place?
Same answer as before. We would need to find solutions for this as well, together. Thats how teamwork is done.
I‘d say something automatic for things that are pure numbers like the member count. A server is running dozens of operations anyway. If a new server asks for federation, it could get checked for member count and if the count exceeds the arbitrary number (in my example it was 50 or 100 of the rest of the fediverse) the request gets denied.
For more complicated things like pushing ads, one can report a post, moderators bump the report up to the admin and they press „block server“.
Changing the protocol is a little more complicated still. We‘d need to agree what constitutes a „change“, if there are exceptions. Then we‘d look in the logs for suspicious behavior (more like have a script look) and get notified if a server was only sending unusable resonses for certain requests of whathaveyou.
Again, its an idea, something to spark more ideas and lead to more solutions.
The ideas aren’t bad, but they need to be broken down into atoms to build a solid foundation for such a rule base.
- What is the motivation behind limiting member counts? Right now this would indiscriminately punish anyone with an existing userbase looking to open up to ActivityPub. Are there alternative rules that would tackle your motivation better?
- What constitutes an ad? Community is horribly split on this. There’s the obvious banner ad, but there’s also instance sponsors or users simply proclaiming how overly happy they’ve been with a certain product. People are calling each other sheeps and bought shills left and right. Go to a tech community, advocate for a browser that isn’t a derivative of Firefox and you’ll see what I mean.
- As for altering the protocol, again: What are your motivations for this, and could another rule tackle them better?
Before we establish any rules, it might be best to establish a communally agreed set of motivations and goals for the fediverse first.
I mostly agree with your rules, they seem well thought out. I have two objections: Firstly altered versions of AP seems hard to enforce. I think if the versions of AP are compatible enough for federation to work, we should let it run.
Secondly, and more importantly, the part were you want to defederate with servers that do not follow these rules is a really bad idea. If some small instance wants to consume the content from threads, their users may still add content to the fediverse. I think these rules would be a good recommendation for any new server admins and committing to these rules would be a good reason to join a server. But I don’t see any reason to turn this into a “you’re either with us or against us”-type conflict.
I think we’re having a misunderstanding here. I dont mean defederate those who do not agree to these rules but those who break them. Like if lemmy world we’re to get as big as all other fedi instance, they would need to be defederated as to make them help other instances to grow. Power consolidation is bad and this rule would try to preempt that.
In that case: excellent suggestion. :)
no Federation with instances that use altered versions or proprietary versions of AP.
They will try and do this… they might opt to use hooks though… that way, they don’t have to disclose source… or will just disclose the changes that add more hooks. What will they be used for? I think we know.
I know they will. my instance is going to defederate anyone who tries this immediately.
Meeh, I’ll see what happens… though I would prefer to be on an instance that defederated as well.
Exciting time we live in! :)
As we discuss this new ruleset, I think I will leave my instance to start a new one called The United Instances of Lemmy. From this instance I will then half-heartedly yet aggressively send my users to meddle in other instances affairs on my behalf to impose my interpretation of these Fediverse rules without context alongside a few other instances that share my same limited definitions of right and wrong at the expense of everyone remotely involved.
This has already been done. There are already instances with shared, written identities. I know you’re trying to portrait it as something horrible but committing to a shared goal is not inherently bad. You could try to actually help people now make the same mistakes again and again.
I think that having “rules” about who is allowed to federate with whom is antithetical to the open nature of ActivityPub, and I disapprove of any that don’t have a purely technical reason behind them.
Which is your right. I stand on the opposite side and say I‘m not federating with „childp*rn.com“ for example. You can do so and tell everyone how you gave the child molesters a chance.
Straight to the child porn, that seems like a new Godwin’s law these days.
Obviously any instance can choose to defederate with any other for it’s own reasons. I’m talking about protocol rules. Did you see any mention of child porn in them? Going to go yell at OP for supporting child porn too?
Edit: oh, you are OP. How ironic.
Who started with an all or nothing stance? I proved you wrong, now you’re upset, I get that.
So again, I think it is every instances right to do as they please. There already are “pacts” in place to defederate certain parties and behave a certain way. it is how laws came to existence, just so you know. Its one or more parties stating their own stance on things and if they can find others like them, they might cooperate. There is nothing wrong with this. I dont even get what your problem is.
I proved you wrong
What? I stated an opinion about how federation works, and you immediately accused me of supporting child molesters.
But whatever. I’ll try engaging one more time.
I dont even get what your problem is.
Okay. You said:
we might wanna discuss future rules so to not fight about everything.
and in your most recent comment:
There already are “pacts” in place to defederate certain parties and behave a certain way. it is how laws came to existence, just so you know.
All of this implies that you’re proposing some sort of enforceable or rule-based system to decide who gets to federate with whom. That’s what I’m arguing against. You even say yourself that “it is ever instances right to do as they please.” That’s what I’m saying - that I think it’s a bad idea for there to be global “rules” for what instances can and can’t federate with. It’d be like if the HTTP protocol included rules about whether you could communicate with specific websites depending on who owned the servers they were on.
Ok, so you got me wrong. No harm in that.
Again, I think every instance should do as they please.
My point was coordination between instances if you will.
And I didn’t accuse you of anything. You said we should give anyone a chance and I said no and why, you countered with a reference which I dont think makes a difference.
That was all. Have a good one. :)
Heh. A passive-aggressive “It’s okay that you interpreted me wrong.” But no apology for accusing me of supporting child molesters.
Which you did do, by the way. You responded to me describing my stance with “You can do so and tell everyone how you gave the child molesters a chance.” Since I still hold that stance, do you still think I should be telling everyone how I gave child molesters a chance? You should really be more careful about slinging accusations like that around, it’s not something people let go of lightly.
no Federation with instances that use altered versions or proprietary versions of AP.
It’s especially funny given (the last time I checked) neither kbin nor lemmy actually followed the spec properly. They ignore the jsonld requirements and resort to field names, that, by the spec, should be dropped.
But lemmy doesn’t use “plain json”, it annotates some fields with the schema, just not all of them, which makes it a mess. You either do json-ld proper, or you don’t do it at all.
All of the fields should be defined in context. Which one do you think is missing?
I took a look at the current traffic and you’re absolutely correct, lemmy (as of 0.19) has a proper schema with everything covered!
It’s an admirable goal, to try and circumvent fighting but I’m just fine with instance users voting their preferences. People are gonna argue no matter what unfortunately. We’re a very stupid species, to be honest.
Someone gets the fundamental problem. i’m impressed. :) like the person in a car accident that asks people to help or move out of the way being called bossy afterward. :D
But yes, I’m trying to bring people together. Being upfront and transparent about it seems to be a good way to at least lessen the potential for bad actors to pit us against each other. Call me paranoid but I’m fairly certain we’re helping whoever wants the fediverse to fail by getting at each others throats every time a new “giant corporation” or “morally corrupt actor” knocks at our door.