Wiki: Vision for a Fedi Specification

Welcome!

Introduction

This topic is for people who believe, that we need a better specification underlying the Fediverse. In order to develop such a thing, one needs a group of people that work towards a common goal.

The goal of this wiki is to collect such vision acceptance criteria. By a vision acceptance criteria, I don’t mean that a specification needs to implement them. I see them more as goal posts that can be used to justify decisions. For example, if people would bring up that one should use protobuf as a data format, one could use the above vision acceptance criteria to say NO as it would require the recipe sharing app developer to learn about protobufs. Similarly every body and their cows know how to use json.

I imagine that one can divide the vision into several parts. I’ll have some title below for people to fill out. However, these should just be viewed as suggestions. I might misrepresent things. Your vision might strongly disagree with my own. I’m definitely not aware of some issues and experience a lot of stuff differently than other people.

Developer Experience (DX) vision

  • When building a recipe sharing app, a developer has to worry more about converting three tea spoons of salts into sensible units, than what the exact data structure that represents a message is, or how other applications display the recipe (if they even do).

Social Experience (SX) vision

This probably includes the user experience. It should include stuff like being a safe space, or that one selects who one follows and thus decides what content one sees.

Security Requirements (SR) vision

This should contain stuff like: let’s make surveillance hard. However, that’s too vague. For example, surveillance for who? Are you worried about your ex showing up at your potluck dinner? Or are you worried about the FBI raiding the servers hard drives?

What we need

Requirements to create a better specfification were described here as

Fundamentally though I think what is required is:

  1. A working group
  2. Chartered outside of the w3c
  3. That does not work piecemeal
  4. With a vision to move past AP and a willingness to break compatibility

I replied to this with

I think alone clearly stating what this vision is, and formulating acceptance criteria for it, would be of immense help.

My personal acceptance criteria (of a social networking protocol) is: When building a recipe sharing app, a developer has to worry more about converting three tea spoons of salts into sensible units, than what the exact data structure that represents a message is, or how other applications display the recipe (if they even do).

Why here: @aschrijver has offered to help facilitate the discussion here.

Next steps

When I originally this post, my though was “Let’s make it a wiki, and people will just be able to add stuff”. Unfortunately, this is probably not sufficient to create a vision or have sufficient buy in. One not only wants a vision, but one sufficiently many people can agree on.

So we will need to determine once one has a sufficient list of vision items, which ones to actually include. My tendency here would be to aim for a smaller set than a larger one. However, I welcome a discussion on how to determine such a list.

Second, once one has this list, one should publish it somewhere. The obvious answer for me would be a FEP. Unless somebody has a beter idea.

3 Likes