Setting up a new instance wouldn’t be significantly different than today. The difference would be instead of asking each instance individually for what communities they have you would use a distributed ledger to contain a list of communities with their primary and secondary instances. This would create the sigle source of truth for communities. As communities still have to physically exist somewhere, the designated primary instance would have the master record for the community and you could designate secondary instances for resilience and possibly spread out pulling that information.
Moderation doesn’t change significantly, primary instance admins would still be the fallback, but they could designate any user to be a moderator.
Defederation would be a little messy, but not a ton more than it is now. The primary would be the source of truth, if they don’t accept writes from an instance, then those posts and comments wouldn’t exist, (this is basically the same as one way federation now). If an instance wants to read from a community it’s on that instance to drop anything from instances they don’t federate with from the response from the primary.
As above, the primary instance is the source of truth, if a change doesn’t get there. There could be an eventually consistent cache on other instances for usability.
The difficult part would be how to handle changing the primary instance, or designating the primary for a newly created instance.
But that’s effectively what we’ll have right now. You can create multiple communities of the same name but one will eventually become the main community that people will visit. And we could already create “backup” communities because I’m pretty sure the data from the main community is already sent to all the instances that have users who are subscribed to said community. The data is already in other instances, it’s just a matter of reusing the data.
So the only crux of your solution is how the possible instance for the community would be chosen. And that’s a whole can of worms. It can’t be the same instance the community creator is a part of because that’s the solution we have right now. It can’t be completely random because I’m pretty sure there are instances that legally can’t have porn or piracy on their instance, or maybe the instance owner simply doesn’t want that on their instance. If there’s supposed to be distributed ledger that effectively prevents creating duplicate communities and that ledger is the same for all instances, then there must be a possibility that the new community ends up in an instance the community creators instance might be defederated from, otherwise a “pariah” instance (who are pretty much defederated from the majority of Lemmy) can reserve community names by defederating everyone and then creating communities. So that decision starts to have a lot factors which lets instances influence the decision. And in some ways there’s even an incentive to influence the decision because the more communities one instance has the more power they have over the entire lemmy side of the fediverse. If they defederate from another instance that instance can’t create those communities for the people on that instance (unless you go down the reddit route of having gaming vs games vs truegames).
And that’s just the decision of the primary source. There’s a whole other bucket of questions about the distributed ledger. For example how does the ledger change? If one community needs to be moved to a different instance who makes that decision? If it’s the primary source instance then how do other instances verify the ledger? If you have Instances A, B, C and C and instances A and B are defederated from C. Instance A has a community that gets assigned to instance D. Instance A sends a ledger change to instances B and D and then instance D send the change to C, but how does instance C know that the sent data is correct? Instance D could send the message that instance A set the community to instance B and there’s no way for instance C to verify that message. In fact most of my questions in my previous comment apply to the ledger as well because the ledger would have to exists on every instance.
And then there are other factors like what if Mbin sets up a community/magazine? Mbin doesn’t care about any ledger. Will we turn Lemmy into a walled garden and prevent Mbin from participating because they don’t want our ledger?
Backup communities don’t really exist right now. There are copies of things on other servers l, but they can’t become functioning communities. This has caused some communities to disappear when their instance went down. The biggest I remember is movies and TV related things.
Having a ledger helps with discovery, because instances now don’t know about other communities by default, it requires extra effort to seek them out until someone else has found them and subscribed. It’s not a big deal for established communities, but it does hurt building a new one.
I don’t have a great solution for admin of creation/movement of communities, but this isn’t meant to be a 100% solution. Distributed consensus is a concept that exists though. There’s no reason a community can’t go on a users instance as default, it just enables a community to potentially migrate for various reasons.
This doesn’t necessarily create a walled garden, as no one owns the walls. It does encourage everyone within Lemmy to maximally federate. I can’t say it significantly changes integration with other implementations as they were never very robust in the first place.
I think you’re now suggesting things that have nothing to do with consolidating communities.
Backup communities don’t really exist right now. There are copies of things on other servers l, but they can’t become functioning communities. This has caused some communities to disappear when their instance went down. The biggest I remember is movies and TV related things.
They don’t exists right now, but the foundation is there. I checked the old kbin.social communities that users from lemm.ee had subscribed to. All the posts seem to be there right until kbin.social got shut down. The data exists on your instance even if the original instance went down. It’s just a matter of figuring out and creating a new functionality to revive those communities on a new instance. This suggestion has nothing to do with consolidation, it’s just a backup solution that can already be done.
Having a ledger helps with discovery, because instances now don’t know about other communities by default, it requires extra effort to seek them out until someone else has found them and subscribed. It’s not a big deal for established communities, but it does hurt building a new one.
I don’t see how that specifically requires a ledger but I guess we can call it a ledger. The solution itself is fairly simple, each instance publishes whenever a new community is created or deleted and federated instances can store that data on their side to have a list of all the communities to search for. For already existing we can create a “publish all existing communities” so each instance can update their lists accordingly. That’s effectively a ledger but once again, it has nothing to do with consolidating communities.
I don’t have a great solution for admin of creation/movement of communities, but this isn’t meant to be a 100% solution. Distributed consensus is a concept that exists though.
Distributed consensus is a concept but is such complexity necessary? Especially when the end result isn’t that much different to what we already have.
There’s no reason a community can’t go on a users instance as default, it just enables a community to potentially migrate for various reasons.
It can, but it doesn’t really matter because that’s exactly how the current system works. As for migrations, if we solve the “backup community” problem then that functionality can just as well be used for migrations because right now we can just duplicate data. If you want to add the one community restriction that migration actually gets harder to implement.
This doesn’t necessarily create a walled garden, as no one owns the walls. It does encourage everyone within Lemmy to maximally federate. I can’t say it significantly changes integration with other implementations as they were never very robust in the first place.
Kbin/Mbin integrations with Lemmy worked pretty well, but if you force all Lemmy instances to use a solution unique to Lemmy then you’re pretty much building a wall because integrations with other similar implementations become less likely. Nobody owns the wall but it would create an “in” group and an “out” group. We already kinda have that with Lemmygrad and Hexbear and the rest of Lemmy, but those two instances can exists independently from the rest of Lemmy so the “in” and “out” groups can easily coexists. But if you force communities across instances you’re going to also force friction between the “in” and “out” groups. There can only be one “c/europe” but there’s one on Lemmygrad and there’s also one on feddit. If you keep the feddit one then Lemmygrad and Hexbear can’t have c/europe and if you let Lemmygrad have c/europe then the rest of Lemmy can’t have c/europe. It’s unnecessary friction.
I guess it would work if Lemmygrad and Hexbear were federated with the rest of Lemmy, but that’s not happening.
lol I’m trying to follow along with all your comments but it just feels like you’re trying to recreate reddit but with some type of block-chain servers handling the load instead of centralized servers.
Like, I get it. When you break it down, what’s the difference between reddit and Lemmy? You don’t like c/[email protected], you can make c/[email protected]. On reddit if you don’t like r/games, you can make r/games! or some other bullshit.
Only 2 big differences for me is 1. the hope that just having different instances gets people away from the “Main Hub” communities, 2. multiple instances means less chance of corporation enshittification. Your solution would just promote the eventual lose of both of the reasons I’m on Lemmy to begin with.
I do heavily encourage cross-posting though. Would love some sort of “tag” or something where it’s easier to cross-post to all of the communities that opt-in to be tagged in that category. Could have it so you can filter multi-posts using this feature so you’re not blanketed with the post if you’re subscribed to multiple communities in that category (could even choose a default like only the one with the most comments or your most active community gets highlighted while blocking all the rest, while still having the links in the post like how crosspost currently displays).
It’s not so much recreating reddit, as it is realizing that the content is the important part, not what server holds it. I want centralized content, because that’s how you get critical mass for communities to flourish. Decentralizing the ownership and hosting is where the federation benefits are anyway.
Ahh, I believe we just have a different perspective on what the best outcome for the lemmyverse is. If this place was as popular as Reddit I would want to see hundreds of communities for a subject and not have one that has a majority of users. You can have a main link one like r/science I guess that has super strict posting/commenting regulations and discussions get branched off into subcommunities maybe.
Honestly, even .ml feels too big for me atm and I’m thinking of switching out soon. I believe, if you actually use this site to engage in conversation and read through the links/articles people post, that you really only have time for a few interactions. If you’re just doom scrolling and voting away I guess I would want something like Reddit but I’m already neglecting conversations I want to have on here because there’s so many people and things to talk about all the time (and memes, can’t forget them).
Setting up a new instance wouldn’t be significantly different than today. The difference would be instead of asking each instance individually for what communities they have you would use a distributed ledger to contain a list of communities with their primary and secondary instances. This would create the sigle source of truth for communities. As communities still have to physically exist somewhere, the designated primary instance would have the master record for the community and you could designate secondary instances for resilience and possibly spread out pulling that information.
Moderation doesn’t change significantly, primary instance admins would still be the fallback, but they could designate any user to be a moderator.
Defederation would be a little messy, but not a ton more than it is now. The primary would be the source of truth, if they don’t accept writes from an instance, then those posts and comments wouldn’t exist, (this is basically the same as one way federation now). If an instance wants to read from a community it’s on that instance to drop anything from instances they don’t federate with from the response from the primary.
As above, the primary instance is the source of truth, if a change doesn’t get there. There could be an eventually consistent cache on other instances for usability.
The difficult part would be how to handle changing the primary instance, or designating the primary for a newly created instance.
But that’s effectively what we’ll have right now. You can create multiple communities of the same name but one will eventually become the main community that people will visit. And we could already create “backup” communities because I’m pretty sure the data from the main community is already sent to all the instances that have users who are subscribed to said community. The data is already in other instances, it’s just a matter of reusing the data.
So the only crux of your solution is how the possible instance for the community would be chosen. And that’s a whole can of worms. It can’t be the same instance the community creator is a part of because that’s the solution we have right now. It can’t be completely random because I’m pretty sure there are instances that legally can’t have porn or piracy on their instance, or maybe the instance owner simply doesn’t want that on their instance. If there’s supposed to be distributed ledger that effectively prevents creating duplicate communities and that ledger is the same for all instances, then there must be a possibility that the new community ends up in an instance the community creators instance might be defederated from, otherwise a “pariah” instance (who are pretty much defederated from the majority of Lemmy) can reserve community names by defederating everyone and then creating communities. So that decision starts to have a lot factors which lets instances influence the decision. And in some ways there’s even an incentive to influence the decision because the more communities one instance has the more power they have over the entire lemmy side of the fediverse. If they defederate from another instance that instance can’t create those communities for the people on that instance (unless you go down the reddit route of having gaming vs games vs truegames).
And that’s just the decision of the primary source. There’s a whole other bucket of questions about the distributed ledger. For example how does the ledger change? If one community needs to be moved to a different instance who makes that decision? If it’s the primary source instance then how do other instances verify the ledger? If you have Instances A, B, C and C and instances A and B are defederated from C. Instance A has a community that gets assigned to instance D. Instance A sends a ledger change to instances B and D and then instance D send the change to C, but how does instance C know that the sent data is correct? Instance D could send the message that instance A set the community to instance B and there’s no way for instance C to verify that message. In fact most of my questions in my previous comment apply to the ledger as well because the ledger would have to exists on every instance.
And then there are other factors like what if Mbin sets up a community/magazine? Mbin doesn’t care about any ledger. Will we turn Lemmy into a walled garden and prevent Mbin from participating because they don’t want our ledger?
Backup communities don’t really exist right now. There are copies of things on other servers l, but they can’t become functioning communities. This has caused some communities to disappear when their instance went down. The biggest I remember is movies and TV related things.
Having a ledger helps with discovery, because instances now don’t know about other communities by default, it requires extra effort to seek them out until someone else has found them and subscribed. It’s not a big deal for established communities, but it does hurt building a new one.
I don’t have a great solution for admin of creation/movement of communities, but this isn’t meant to be a 100% solution. Distributed consensus is a concept that exists though. There’s no reason a community can’t go on a users instance as default, it just enables a community to potentially migrate for various reasons.
This doesn’t necessarily create a walled garden, as no one owns the walls. It does encourage everyone within Lemmy to maximally federate. I can’t say it significantly changes integration with other implementations as they were never very robust in the first place.
I think you’re now suggesting things that have nothing to do with consolidating communities.
They don’t exists right now, but the foundation is there. I checked the old kbin.social communities that users from lemm.ee had subscribed to. All the posts seem to be there right until kbin.social got shut down. The data exists on your instance even if the original instance went down. It’s just a matter of figuring out and creating a new functionality to revive those communities on a new instance. This suggestion has nothing to do with consolidation, it’s just a backup solution that can already be done.
I don’t see how that specifically requires a ledger but I guess we can call it a ledger. The solution itself is fairly simple, each instance publishes whenever a new community is created or deleted and federated instances can store that data on their side to have a list of all the communities to search for. For already existing we can create a “publish all existing communities” so each instance can update their lists accordingly. That’s effectively a ledger but once again, it has nothing to do with consolidating communities.
Distributed consensus is a concept but is such complexity necessary? Especially when the end result isn’t that much different to what we already have.
It can, but it doesn’t really matter because that’s exactly how the current system works. As for migrations, if we solve the “backup community” problem then that functionality can just as well be used for migrations because right now we can just duplicate data. If you want to add the one community restriction that migration actually gets harder to implement.
Kbin/Mbin integrations with Lemmy worked pretty well, but if you force all Lemmy instances to use a solution unique to Lemmy then you’re pretty much building a wall because integrations with other similar implementations become less likely. Nobody owns the wall but it would create an “in” group and an “out” group. We already kinda have that with Lemmygrad and Hexbear and the rest of Lemmy, but those two instances can exists independently from the rest of Lemmy so the “in” and “out” groups can easily coexists. But if you force communities across instances you’re going to also force friction between the “in” and “out” groups. There can only be one “c/europe” but there’s one on Lemmygrad and there’s also one on feddit. If you keep the feddit one then Lemmygrad and Hexbear can’t have c/europe and if you let Lemmygrad have c/europe then the rest of Lemmy can’t have c/europe. It’s unnecessary friction.
I guess it would work if Lemmygrad and Hexbear were federated with the rest of Lemmy, but that’s not happening.
lol I’m trying to follow along with all your comments but it just feels like you’re trying to recreate reddit but with some type of block-chain servers handling the load instead of centralized servers.
Like, I get it. When you break it down, what’s the difference between reddit and Lemmy? You don’t like c/[email protected], you can make c/[email protected]. On reddit if you don’t like r/games, you can make r/games! or some other bullshit.
Only 2 big differences for me is 1. the hope that just having different instances gets people away from the “Main Hub” communities, 2. multiple instances means less chance of corporation enshittification. Your solution would just promote the eventual lose of both of the reasons I’m on Lemmy to begin with.
I do heavily encourage cross-posting though. Would love some sort of “tag” or something where it’s easier to cross-post to all of the communities that opt-in to be tagged in that category. Could have it so you can filter multi-posts using this feature so you’re not blanketed with the post if you’re subscribed to multiple communities in that category (could even choose a default like only the one with the most comments or your most active community gets highlighted while blocking all the rest, while still having the links in the post like how crosspost currently displays).
It’s not so much recreating reddit, as it is realizing that the content is the important part, not what server holds it. I want centralized content, because that’s how you get critical mass for communities to flourish. Decentralizing the ownership and hosting is where the federation benefits are anyway.
Ahh, I believe we just have a different perspective on what the best outcome for the lemmyverse is. If this place was as popular as Reddit I would want to see hundreds of communities for a subject and not have one that has a majority of users. You can have a main link one like r/science I guess that has super strict posting/commenting regulations and discussions get branched off into subcommunities maybe.
Honestly, even .ml feels too big for me atm and I’m thinking of switching out soon. I believe, if you actually use this site to engage in conversation and read through the links/articles people post, that you really only have time for a few interactions. If you’re just doom scrolling and voting away I guess I would want something like Reddit but I’m already neglecting conversations I want to have on here because there’s so many people and things to talk about all the time (and memes, can’t forget them).