WelcometoMyGarden / welcometomygarden

Web app of Welcome To My Garden, a not-for-profit network of citizens offering free camping spots in their gardens to slow travellers.
https://welcometomygarden.org
GNU Affero General Public License v3.0
108 stars 17 forks source link

Federated platform #108

Closed mariha closed 1 year ago

mariha commented 3 years ago

Recent changes to WarmShowers and CouchSurfing urge to look for better ways to facilitate hospitality exchange/traveling communities. Users ended up locked in a platform where they are fully dependent on boards of directors, which they can not influence or change. Their feedback is ignored and some accounts deleted. The board makes decisions bad for the community, seem to prioritize their own profits over interests of the community.

In the survey to WS users, one person shared an interesting idea:

I want to share this idea to build a next generation federated hospex platform building on activity pub in such a way that different kind of groups/people/projects can host their own node and manage their own community (especially from/for marginalized groups, e.g. women-only, lgbtq, non-white, etc...), but the nodes could still federate if the individual instance wanted that.

I can imagine users could migrate their accounts from one instance/platform to the other with one click only, taking their contacts and history of conversations with them. They could see hosts from the other community on a map and send messages across platforms. They could keep both accounts linked together or have only one.

If moving between platforms/communities was easy, when governance in one platform was not suiting us we could simply move to some other with better rules/authorities. It would give us freedom to choose best platform for us at the moment. This will also make authorities more accountable to the community they ought to serve.

Likewise, if someone thinks they can create a better, alternative platform/community around the protocol we establish, they could enter into the space with their vision and implementation without being disadvantaged by having too few users to be considered as a viable option by other potential users/community members. This is beneficial for the hospitality exchange community as a whole.

It's natural that the "mothers" and "fathers" of a Foundation have more authority than the rest of the community members. With authority comes power. An especially difficult moment for the community is when Founders decide to step down and a successor(s) has to be chosen (as taught us WS) or even worse when they decide to stay while community wants to move on (Hospitality Club -> BeWelcome). If the power at this moment was already distributed among many sub-communities and forked instances of the platform that moment was not that threatening to the larger community.


The problem and possible solutions

In general, the problem could be summarized as centralized governance of community platforms.

As a solution the communities can adhere to democratic practices: board members who are selected by the community, whose cadence is time-constraint, board composition reflects diversity of the community so that everyone is represented, ... this could be guaranteed by legal status of an organization, for example [todo]. If a hospex community was built by an effort of a single person or small group of people though, they usually naturally have more authority in the community and this model is not natural for them.

Some communities/organizations make legal promise that they will never become profitable, making it less attractive for harmful to the community people who could financially benefit from other members if they had enough decisive power in the organization. Seems like this guarantee may be not enough (WS).

Another option to legal measures is technology: the next generation of hospEx platform could be built in a federated way. This would allow different groups of people to run their own platform with their own rules, and really addresses the issues with these centralized platforms where the board end up with too much power. More about fediverse.

Additionally, we could (but don't have to) bake in democratic features, making it easier for the communities - instance owners - to operate in a decentralized way.


Requirements:

  1. at least two platforms or instances of the same platform working together
  2. ease to move account with its data (profile, contacts history, references/experiences/comments, ...)
  3. visibility of users across platforms
  4. possibility to contact users across platforms

There are two possibilities, interconnected but separate. We could do either or both of them:

  1. Federated platform \ different groups/organizations would own instances of the platform, they all run the same software but operated/managed by different organizations. We'd have to be very intentional about giving possibility and facilitating self-hosting an instance.
  2. Federation of platforms \ different hospEx platforms/communities cooperate so that members of one community are visible to the other, it's possible to communicate across platforms and to move account and history to other platform.

We could possibly build a federation of platforms by joint effort of TR and WTMG. I posted the same in TR repo.


Implementation:

There is ActivityPub protocol, an already existing W3C standard for decentralized social networks. It is used for example by Mastodon. By implementing it we could possibly leverage some tools that built on top of it. For example:

Matrix is decentralized chat protocol built on top of XMPP, there is a platform and community of the same name that uses it. There are client applications, mobile and desktop which understand it.

There is always an option to home built a solution from the ground without looking at others aka existing standards. We could write it in a modular and abstract enough way so that other hospEx platforms could easily re-use/adapt it. Maybe over time it would emerge as a new standard.


Other aspects to consider:

Authority / power issues πŸ‘

Above.

Security πŸ‘

Trust is highly important in hospex and the instance you choose could be the thing you put your trust in. So can have instances entirely run by and for non-male persons, or any other groups.

Would also like allowlist only federation, so trust is explicit.

On the other side, harmful people could create account in one platform and the other making it harder to track them. This to prevent would require some extra coordination between communities.

Identity πŸ‘

Many people like to express that they belong to one group and not the other. Different instances run by different entities could address that desire.

Purpose / goal / focus / other common distinctive characteristics of different platforms/communities

Having explicit choice people would know how the communities put different expectations on guests and hosts.

Complaxity πŸ‘Ž

Authoritarian/hierarchical structures are easier to understand and organize then democracies/decentralized groups, the price is freedom. Same is true for countries and smaller communities. Same is also true for centralized vs distributed software systems.

Funding πŸ‘

The message further goes on:

I think it also could engage the enthusiasm of activity pub nerds, who would love the idea somebody would use it for something real... and possibly be more attractive to funding bodies (e.g. I know https://nlnet.nl/discovery/ are quite keen on activity pub, as a friends project (https://inventaire.io/) found out throughout his application).

https://wiki.inventaire.io/wiki/Details_about_NLNet_funding

sebilasse commented 3 years ago

Hey there, if questions arise, here is the official ActivityPub forum where also the weekly events are announced: https://socialhub.activitypub.rocks

archived-m commented 3 years ago

Thank you very much for the clear write-up @mariha

I think I can speak for everyone who has played an active role in WTMG, when I say that co-creation, reuse, freedom of choice and a community-driven & community-owned approach are core to our reasons for starting in the first place. That being said, I'm having trouble consolidating the workload and architectural implications with the roadmap we've defined for the upcoming months. I would love to keep this an open topic for discussion and something to keep in mind while we make the first steps (#106) to a process and infrastructure that can allow us to do this in the future.

Let's pick this up when that is wrapped up?

sebilasse commented 3 years ago

Yes, indeed thanks @mariha very much for raising ActivityPub and Fediverse Awareness !

Thanks @MichielLeyman – the benefits of ActivityPub would be that you reach the 5.5 million users in the fediverse instantly. [Disclaimer: ActivityPub Conf Co-Org here / Talks]

The ActivityPub Community is helping each other and has usually weekly meetings as mentioned. And all I can add is that we are the W3C Social CG, so for your broader picture (e.g. CitizenLab): We are also in an ongoing conversation with the EU Commission on multiple levels (DSA, DMA, Commission etc). Could give some pointers.

mariha commented 3 years ago

@MichielLeyman let's come back to it after #106. By the time I hope to also have more precise ideas for the implementation.

@sebilasse thanks for sneaking in! I'll be happy to discuss more in the SocialHub.

mariha commented 3 years ago

I am moving the conversation to the TR fork dedicated for Federated Platform