Weird thought: Merkle DAG based things end up having centralized ownership due to root nodes. Stuff like #ipfs or #dat might converge on large "root nodes" acting as authorities.
append-only log based things like #ssb or #cabal are more flat and local
Re: “root nodes”, is that a problem if it is effortless to become your own node? Or is there a one-way street or funneling that creates centralization? Of the hash table discovery? (I’m still trying to learn the nuances between the diff protocols.)
I think the main pain point I have is with regards to content discovery and editability.
If I've got a website that's only editable by a single person publishing a root node, it's harder to find updates or getting people to collaborate on it without the initial owner adding them
For IPFS and Dat the base is you have a single author with a single chunk of data (IPFS less so with content addressing deduplicating files)
With SSB you have a local view of a bigger state of data with stuff that's collaboratively edited.
And with GUN you have an application where basically anyone can add data to it since everyone is swarming together for it.
Holochain is kinda similar but they formalize what data can exist in the app with validation code.
Returns-to-scale is another subtle centralizing force. Easy to dismiss at early stages, because "possible to be decentralized in principle". Yet it's a compounding advantage, centralizing the system over time.
Real-world old web examples: server farms, streaming video, etc.
In ssb/cabal kappa app, a user could still go an fux w their own merkle and cause there to be two conflicting histories and probably break something :) kappas also necessitate data model validation in the app (like holo, as you say)
It's kind of like node module trees, isn't it? Lots of us depend on hypercore (for example), so we also depend on its tree of dependencies, giving whoever controls it a lot of power. All we can do is build NEW root nodes higher up and link downward to the big trees.
Bleh. I guess I'm not feeling good about everything being about domination and hierarchy. Like, adding another level of authority seems to just perpetuate the same structures.
I have no clue of alternative and from what I'm reading in Hierarchy in The Forest it seems predestined
I think the Q of "who controls these trees/DAGs?" matters a lot. It being managed by a central authority is different than it being managed by a group of individuals, or a committee, or publicly writable.
Most open source projects I see & use don't have formal structures for deciding control. It just kinda ends up being at the whim of the owner ("meh sure i'll add you") or an informal tyranny of structureless sort of thing where a clique runs things but nothing's written down.
Which is interesting, cuz the big Old School Open Source projects seemed to have a lot more intentionality around governance. I kinda wonder if it correlates to when GitHub made open source really popular.
Someone (agh i forget who!) shared an idea with me of a github-like platform where each repo is treated like a shared community resource. There'd be no "owners", and also no "master" branch: just one shared set of
and anyone can contribute.
I'm wrestling with this exact question right now .. writing a COMTRIBUTING.md for a project that all of a sudden has tons of new volunteers and trying to figure out a good transparent process for giving people commit access (and taking it away) ...