ideate,

Exploring the «Community Has No Boundary» paradigm

Arnold Schrijver Arnold Schrijver Profile Mar 31, 2021 · 2 mins read
Exploring the «Community Has No Boundary» paradigm

Contents


This Pattern document explores Community concepts for federated apps that more closely represent how people interact together in real life.

Introduction

Communities are all around us. We participate in them all of the time. Our circle of friends, our family, school, work, sports clubs, the town where we live. All communities. And they are intricately interwoven and overlapping, forming a complex social fabric. Online we have communities too. Social media, forums, mailing lists, game worlds. But they aren’t as intricately connected. Community concepts are usually bound by the application or server that hosts them.

Problem

Defining a universal, interoperable Community model for the Fediverse is a challenge. There are:

  • Numerous application-specific ways to express what constitutes a community.
  • Numerous ways to define membership and inter-community relationships.
  • Restrictions to a community model that result from current specification design.

Context

The “Community has no Boundary” paradigm entails standardizing an ActivityPub vocabulary extension and federated message exchange patterns, that:

  • Supports defining of generic community, member and relationship abstractions.
  • Are meaningful and usable across many application and business domains.
  • Allow arbitrary further extensions and specialization for these domains.
  • Facilitates easy alignment to definition used by other technology initiatives.

Discussion

Community defined

This dictionary definition comes closest to our needs with regards to defining Community:

  1. Community (The Free Dictionary)
    • Similarity or identity: a community of interests.
    • Sharing, participation, and fellowship: a sense of community.

Note that “Sense of community” is very important in Fediverse culture. Wikipedia uses the following definition of “Community”:

A community is a social unit (a group of living things) with commonality such as norms, religion, values, customs, or identity.

At an implementation level we discern communities as “Social groups”: “Two or more people who interact with one another, share similar characteristics, and collectively have a sense of unity.”

The interaction between people follows a “Social organization”: “A pattern of relationships between and among individuals and social groups.”

The relationships can be of many different types, all forms of “Interpersonal relationships”: “Social associations, connections, or affiliations between two or more people.”

What ActivityPub offers

The W3C ActivityStreams 2.0 Recommendation provides us with:

TODO

Solution

Domain model

TODO

Vocabulary extension

TODO


Arnold Schrijver

Written by Arnold Schrijver

Social coder. Humane tech, Free software and Fediverse advocate.