MenuIntroduction

Introduction

A shared definition of a group on atproto, so the same group can show up, with the same members and roles, in every app it uses.

A cycling club posts photos in one app, plans rides in another and talks through routes in a forum. Today each of those apps has its own copy of the club: its own member list, its own admins, its own idea of who’s allowed to do what. Change one and the others don’t notice.

opensocial.group proposes that the club exists once, as its own account on the network, and every app reads the same group. That means one identity, one membership, one set of roles, and one set of rules.

The proposal calls these atmospheric groups: groups that span applications and modalities, and may also have a web presence of their own.

What the standard is

Because a group spans apps, those apps need a shared understanding of what a group is and how to talk to it. opensocial.group provides that as a suite of lexicons describing:

  • space types: the containers a group’s data lives in
  • record types: the profile, roles, memberships, rules and labels inside those spaces
  • methods: the calls an app makes to a group’s host to join, assign roles, moderate and so on

It builds on the permissioned data protocol, and in particular on its spaces primitive. That protocol deliberately says nothing about what applications mean by their data. This standard adds just the concepts a group needs on top.

What it covers

The proposal focuses on three areas:

  • Roles & access. Who is in the group, what they may do, and who can read which space.
  • Presence & discovery. How a group shows up and gets found: its profile, its rules and its public declaration.
  • Moderation. Every group is a moderation service over its own content.

It also covers the paths in and out: membership, joining and invites, and writing as the group when a record has to come from the group itself.

What it leaves alone

The standard defines the interface between a group and an application. It doesn’t define how a group governs itself: voting, holding periods, who elects whom. It also doesn’t define what a forum thread or a calendar event looks like. Those belong to the group and to the apps. See Design posture.

Where to go next