Early permissioned data proposal draft feedback

Awesome!

Since the proposal right now says terminology is still likely to change, I’d like to flag a potential naming issue early.

In everyday usage, “space” almost always refers to a place you’re in. However, the PD primitive is a permissioning boundary, a far more abstract concept. That conflict between a “place” and a “boundary” is, in my opinion, strong enough to count as a misnomer: it mismodels the concept for anyone meeting it for the first time.

I think that @zicklag.dev’s initial Arbiter design leaflet illustrates this well, especially considering that this seems to be where the group-permissioning layer is heading:

From now on, I’m going to use the terms “group”, “role”, and “space” somewhat interchangeably, based on how a specific space is meant to be used, even though they’re all just spaces.

If a role (a set of people holding a permission) is a “space” (colloquially, a place), then the word has lost its intuitive meaning; readers have to actively fight their intuition to follow the architecture.

I’m usually not one for nomenclature wars, but I do think that this one is particularly important: it’s a core concept that all of PD hangs from, and the cost of the mismodeling lands squarely on newcomers, who are a key part of the adoption boundary.

I wouldn’t be against a wholesale rename if that becomes consensus, but I think a fair compromise might be adopting “Permission Space” as the canonical term, with a capitalized “Space” as shorthand once context is set. This way, we could use the full “Permission Space” on first reference and anywhere the ambiguity is a real problem, and use the shorthand elsewhere. Compound terms already supply the needed context and could stay as they are (“Space credential,” “Space host,” “Space authority,” “Space type,” etc.), but the standalone “Space” in prose that does the most damage could be disambiguated by using its full qualified form.

I know it’s a small thing against a draft this early, but I do think naming is load-bearing for legibility and adoption, especially for a primitive this central, so I wanted to get it on the record.

7 Likes