Trustroots / trustroots

Travellers' community for sharing, hosting and getting people together.
https://www.trustroots.org
GNU Affero General Public License v3.0
398 stars 137 forks source link

Federated platform #2287

Closed mariha closed 7 months 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 the 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, they usually naturally have more authority in the community and this model is not natural for them.

Some communities 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 WTMG 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

mariha commented 3 years ago

BeVolunteer, an organization behind BeWelcome gives interesting historical context of how hospex landscape was (r)evolving: https://www.bevolunteer.org/about-bevolunteer/history/

almereyda commented 3 years ago

For those who also see Error establishing a database connection when trying to read about the BeVolunteer history, there is a capture of this page in the wayback machine at:

chagai95 commented 3 years ago

Ok just read through this and I agree. IMHO the biggest problem is that most hospex platforms including CS don't have enough users. Federation would not only promote the idea of sharing user data for the benefit of everyone but also allow the users more freedom to choose a platform they like which will lead to more users using HospEx in general...

I would also argue that being able to switch to another platform and still be in touch with other users on other platforms is a good thing also for cases in which a user gets banned for misbehaving: if there was no federation the user could just create an account on the other platform easily but this way the community is forced to take a look at the banned user multiple times and I don't think our problem is that we can not handle moderation. Our problem is we have no users to moderate...

mariha commented 3 years ago

@chagai95 good point.

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