I really love where the discussion is going. @VictorVenema it is so nice to see you here, welcome! (Victor and I know each other from fedi, and we are co-maintainers of delightful-open-science).
Key question: How to ensure all the ideas expressed here take flight?
I think we all observe that the needs expressed here are shared much more broadly on the web. There’s a trend growing where tons of similar initiatives take shape in one form or another. In order to bring things together we MUST find common denominators and create building blocks on top of which we can stand!
Note: This is the Spiral Island analogy I outlined before. Creating an archipelago of interacting cooperatives, communities, companies and institutions.
It should also be clear that this goes WELL BEYOND what can encompassed in a single code project. We need to go into specification space in order to allow anyone to build their own island, add plastic bottles to their base, build stuff on top, and build bridges and walkways to other islands. Specifications can be full-blown standards, or they are Linked Data (AS/AP or otherwise) extensions and vocabularies that are commonly accepted.
Here’s where domain analysis and domain-driven design (DDD) come into play. It provides Strategic Design that is especially well-suited to break down the complexity into manageable parts, while keeping non-technical domain experts in the loop, all along the way.
You are a domain expert in grassroots governance with 30 years of experience who proposes a “Sortition model” that relates to an “OpenWeb Governance Body”. And you want it to eventually have a fediverse-wide, or even web-wide applicability. While it may start small, it should be universal enough to gradually scale and encompass that scope.
The question is: In a “United by Diversity” fediverse, will this be the only governance in use, or are there people who don’t to adhere to this and use different governance models? Will they be excluded from participation in the organization you propose, then?
Additional question: Will there be many other forms of governance that apply at different scopes and contexts? I think the clear answer is YES. For instance an Organization
(an actor) generally dictates their own internal governance structure and rules, while a Group
within the organization might yet have a different governance. So does Governance apply to Actors then?
Not exactly. A Document
might also have governance rules. For a Document governance rules might dictate that it is Moderated before it becomes available somewhere. In general many domain-specific entities might be ‘governed’ in some form or other.
Without domain analysis, and - hopefully - some form of standardization that results from it, you might say “Screw it, I’ll just implement the easy way and choose my own implementation”. You implement Sortition and someone else does too. Result is that with N amount of governance models and M amount of implementations per model, we end up with N x M custom solutions, and Interoperability is out the door.
The entire SocialHub community exists to avoid that situation.
So we are going to analyse the Governance domain. With this we start with having the simplest top-level generalization, and gradually add more detail as we talk to domain experts and incorporate their feedback. So, for example:
An
Object
may be subjected to governance.
But this is very vague. We can define a new domain term for different forms of governance called “Governance Policy”, and since we are already in the Governance bounded context, we can simply say Policy
.
An
Object
may have aPolicy
assignment.
Note the word ‘assignment’. This may hint to other domain language that must be elaborated. Also an object may have different policies depending on ‘context’… another term to explore. We might promote “Policy Assignment” to become domain terminology.
- An
Object
may have aPolicy Assignment
.- A
Policy Assignment
is the set of policies that apply to an object
At every level new questions are raised… Who is doing the assignment? What is the meaning of an object that is governed? What are the relationships to other domain entities? How can we describe the policy context?
Etcetera…
The above are mere examples!
Domain experts and analysts need to come up with a Governance domain model that makes the most sense, and uses a familiar, easy-to-understand ‘ubiquitous language’. While analysing the domain, additional subdomains may be identified that can exist independently (and form a ‘context map’).
One of the requirements is that it should not become too complex. So in places where there are too many variations we may leave ‘holes’ in the spec that will be filled in with custom implementations (just like what we did for AS/AP).
Now to come back to “OpenWeb Governance Body” - your domain of interest - it might boil down to be specified as a Sortition Policy that applies to Community relationships. I.e. having Social Network + Community + Governance subdomains in its context map.
With well-defined (sub)domains in place, others can jump in and add additional extensions to them, e.g. @bhaugen and @lynnfoster might add Value Flows domain to the mix.