Decentralized Next-level Collaboration Apps with Syn

Usually I am more energized by building tech than by talking about it, but I am so excited about what my son and I did over winter break, that I just have to share about it here.  In an odd kind of busman’s holiday, I spent a good chunk of my time off writing a Holochain application.  Coding with my kid is just pure pleasure for me, but I have to describe the additional incredible experience of having spent 4 years building a tool, and now suddenly being able to use that tool to build what it was meant for: creating collaboration applications.

My passion for Holochain has always been sourced in upgrading our collective intelligence, which means making it easier and more joyful to collaborate together.  In early December, Art and I sketched out, in an afternoon, a generalized pattern on Holochain for real-time collaborative apps like Google docs where you can type in the same document as others simultaneously, and see their cursor moving around.

Over the holiday break, it took qubist and me just one week to prove out SynText, a peer-to-peer collaborative text editing application

syntext

Not only will it be incredibly easy to add other such applications on top of the UI pattern and Holochain DNA that we built, but this pattern will allow git-like branching, forking, and merging, in a user-friendly way for any type of collaborative work, not just code.  

My deep excitement in this achievement is two-fold: it’s both practical and also deeply philosophical:  

  1. Syn demonstrates the technical threshold that we’ve crossed in landing Holochain.  It was just easy and fast to build it, and things are working like a charm.  
  2. The patterns in the app bring a level of awareness and embodiment of the deep principles of Holochain’s architecture to the forefront. These patterns are all about creating thrivable social-coherence.  And by that I mean the kind of social-coherence that arises not from structural coercive centralization, but from peers collaborating by consent.  This matters to me.  

So, here’s the story about Syn, and bear with me through some back-story because it’s important.

Back-story: Agent-Centric Data Enables Collaboration

If you’ve been following the Holochain/Holo story at all, you’ve probably heard that Holochain is “agent centric.”  Strictly speaking this is true, but unfortunately it has hidden a deeper truth about Holochain.  Let me explain: we used the term *agent-centric* to distinguish Holochain from other software architectures (especially in the blockchain world) that are philosophically *data-centric*.  The prime concern of blockchain ledgers is to create a single “consensus” view on a data reality in the distributed peer-to-peer world, where that’s a known hard problem.  In the case of Bitcoin, the idea is to create a data reality of the location of digital coins: who spent them and with whom.  In the case of Ethereum, the idea is to create a data reality of not just coin locations, but also the state of a global computer that you can write and run programs on, i.e. “smart-contracts”.  

The reason creating these data realities is a hard problem in the decentralized network world is that it’s impossible to determine the absolute ordering of events.  This is a simple fact of physics.  In the client–server paradigm this isn’t even a problem, because we start from a centralized server where there is a canonical notion of what the data is and a canonical time.  The central server stores the data reality.  The brilliance of blockchain is that it provides a protocol for distributed peers to hold data reality together, be it the order of transaction of Bitcoins, or the ordering of computation steps on Ethereum. But it does this by enforcing a single ordering of events.  The stupidity of blockchain is that the protocol it uses to enforce this single ordering of events is incredibly expensive, extremely wasteful of computation power, and generates obscene amounts of greenhouse gases. On top of all that, for almost all distributed collaborative applications it’s not even necessary to keep one single global ordering of events. It’s easy to make this mistake of thinking so if your purpose is a trust-less system that’s trying to track the location of digital coins, but it turns out that you can still solve that same problem a different way.

Where is true data? Ordering of…. Merge of Perspectives?
Data-Centric,
Centralized client-server 
Central server, canonical version content is absolute as performed by the central server. Forced (There is only one central perspective.)
Data-Centric, Bitcoin All peers hold copies of data processed via a validation protocol transactions is based on randomized selection of one miner’s sequencing for each block to construct Consensus of token reality. Forced (One perspective is kept for each block, all others discarded)
Data-Centric, Ethereum All peers hold copies of data processed via validation protocols content is based on randomized selection of one miner’s or staker’s sequencing for each block to construct Consensus of a global computer and smart contracts. Forced (One perspective is kept for each block, all others discarded)
Agent-centric, Holochain Peers hold data they’ve authored, as well as data they’ve validated from other peers. Agents can see or create different realities/times content is based on its actual local order, since data is only truly sequential in the experience of an agent.  Relative ordering across many people’s local state orderings can be established by explicit protocols and agreements to create shared reality in a case-appropriate way. Merges only when needed, functions like git. All perspectives are preserved.


Enter Holochain.  The **
agent-centric** view point starts from the understanding that data is derived from agency. It does not have “primary” ontological status.

Data is essentially and fundamentally a record of a particular agent’s experience, be that a human, a sensor, or a device. In reality, agents see/sense/detect different things and receive feedback in different orders representing different realities. If any record’s provenance is separated from it, then the “data” represented by that record is fundamentally broken.  We can only make sense of data if we know who sensed the data.  This is why absolute ordering of massively simultaneous computation is impossible.

But herein lies the “unfortunate” part that I mentioned before.  I have seen people jumping on Holochain’s agent-centricity as if it were an ideological stance about the supremacy of individual rights.  It is true that the agent-centric approach will help achieve some crucial goals in individual rights, especially around privacy, and preventing inappropriately centralized entities (corporate or governmental) from abusing data privilege. But this is only the first part of the story.  

A Holochain application’s architecture is better described as **collaboration-centric**.  Start with the reality of agency. Don’t dis-empower these agents.  Instead fully empower them to enter into non-coercive play together with agreed upon rule-sets. Then what you get is thrivable social-coherence.  This is what Holochain is designed to embody.  And it’s working!

So, enough back-story on the philosophy and infrastructure, now for the “front-story.”

Front-Story: Combining the two mother apps of collaboration

So here’s the big deal for me about Syn: It creates the possibility of merging the two most powerful aspects of collaboration software and doing so in the fully decentralized world. This merge, will, I believe have some really interesting consequences, but first the aspects are:

  1. Real-time multi-user “document” editing
  2. Alignment of multiple realities: i.e. branching and merging

I’m assuming that point #1 above isn’t controversial, as I will bet that upwards of 75% of everyone reading this has switched from a local word-processor to Google Docs or HackMD for almost all of their text editing.

Point #2 probably ought not be controversial as indicated by the prevalence of git in software development, but it might need a little explanation for those readers that don’t do team coding and therefore aren’t making code commits and branching, forking, and merging many times a day. Even for those of you who are, if you grew up doing so always with your git repos centralized on GitHub, you may be missing a key part of the decentralization story.

For me, the first time I understood what distributed software and peer-to-peer really meant as an architectural reality was when I switched from Subversion to Git for version control.  Subversion was based on the mental model of a centralized repository (a database of changes to the code’s text files) from which coders would 1) make local check-outs of that source code 2) edit the files, 3) and then make a commit (which is storing back into the database a set of such changes), but 4) you might have to merge your changes before you could make the commit if someone else had committed first, which entailed resolving any conflicting changes.  Coders could also make a branch (which was a copy of the repository) and create a bunch of commits on that branch and merge those in too, but the mental model was still of some central place with a single “canonical” reality that the group of coders was updating.

Git was different.  Git assumes no center point.  It assumes that each coder has their own copy of the code repository and can pull and push changes to any other distributed copy of the repo they have permission to access.  It assumes that all changes are made to local branches and that branches will be created and merged all the time.  It embraces locally divergent realities and eventual group consistency. 

If you think that your git repository on GitHub is somehow special, well from git’s perspective it isn’t.  It’s just a repo that a bunch of agents have agreed to use in a hub-and-spoke synchronization pattern.  Your “git push” could be directly to your friends repos if they gave you access and you added them as a remote.  In that case you would just be agreeing to a more mesh-like collaboration pattern.  

Of course github has loaded lots of collaboration value-add on top of just being a place to embody the hub-and-spoke pattern, with issues, pull requests, kan-ban boards, integrated CI, etc.  This is an important part of the story which is part of a pattern that repeats: decentralized public-domain protocols spawn centralized proprietary value-add silos built on top of those protocols.  The detailed story of another example of this—about how AOL, GEnie, and Prodigy created chat-rooms, news services and all kinds of proprietary value-add on top of the primary feature of the internet’s SMTP protocol that provided the core service, email—is one I will tell some other time. But the key there is that proprietary value-add was erased by the arrival of another set of open protocols: http and HTML.  And I think that Holochain/Syn may be yet another example of this story of the orders-of-magnitude value level-up that happens in this evolutionary process.

I’ll show how in a bit, but first it’s important to understand what it takes to build Syn apps.

To make a Syn app you have to do just a few things:

  1. Define a state model that represents your application.  In the case of a text document this state model might be just two strings, the title and the document body.
  2. Create patch grammar that defines all the transformations that you can do to the state.  In our text doc example that might be just three things: insert a character at a position, remove a character from a position, and set the value of the title.
  3. Create a delta function which, given a state and a transformation, produces a new state. This is pretty easy to do with simple patch grammars.
  4. Create a UI that:
    • renders the state when it gets notified that the state has changed, and 
    • creates Syn transformations when the user would like to make a change.

Once you’ve done that, Syn takes care of the heavy lifting of coordinating between all the agents making and synchronizing changes, all without a central server.

That’s aspect 1 from the consequences of collaboration software above:real-time multi-user collaboration.  With one additional app-design task, Syn’s architecture also handles aspect 2, Alignment of multiple realities, in a general way:

5. Define a merge strategy for resolving differences between states and transformation sets.

This last task is where things get tricky to do well, and in general can’t always be done in a fully automated way. However, the idea is that when necessary, a merge strategy would include human intervention: manually (i.e. using human judgement) resolving the differences between conflicting change sets.  This is nothing new to git users who handle merge conflicts all the time! Note that it’s important that merge strategy is not generalized and specified per-app.  This is part of the power of the Syn approach. 

Once this fifth task is done, Syn becomes a general framework for adding branching and merging to any collaborative app.  At any given time, Syn has the notion of a session, which is just like a branch in git.  It’s a commit to treat as a starting point for a series of changes.  Unlike Google Docs which just has a single revision history, Syn provides, at the low level, a space for multiple version histories based simply on which session users join and start making changes.  With merging, the realities these branches represent can become aligned.  Because Syn supports generalized UI for creating/viewing/switching sessions and can insert the merging strategy defined by the particular app, this is a powerful pattern that used to be available only to coders using git. Now, suddenly, it can be applied to arbitrary collaboration apps.  In a way, it’s two-level collaboration, synchronously on the “same” state, and asynchronously on divergent/convergent state.

To me this is a big deal.  If collaboration is about empowered agents entering into non-coercive playing together by agreed upon rule-sets, then this pattern in Syn is a massive level up meta-rule-set for doing so.

Imagine Wikipedia articles with multiple branches that reflect the true differences we have rather than just being fights in the talk pages, frozen around the assumption that there is a single, neutral point-of-view.  And because of their many branches, they can actually merge when people find a way to represent those divergences in ways that can be understood by those who were arguing.  That’s next-level collaboration.

Imagine creating branched spreadsheets where each branch models entirely different scenarios off of a core set of assumptions that can then get merged together as reality shows us what happens.  That’s next level collaboration.

Imagine the concrete vocabulary of conflict resolution that emerges as we develop new and interesting merge strategies for conflicting change sets in different application contexts. What does it mean to resolve two different color choices applied to the same object by different people in a drawing program?  I can imagine an ad-hoc Syn app spinning up that lets people on the fly make proposals and vote, or do rock-paper-scissors, or whatever… all as part of resolving a merge conflict in another Syn app!  That’s next level collaboration.

Do you see the implications?  I’m excited.

P.S. The holo-hosting team has been using an online-stickies tool to manage choosing topics for our virtual retros.  On seeing Syn one of our team members dove right in and got this working in no time:

talking-stickies2021-03-03-bundles

P.P.S. teaser for the hyper-nerdy reader:

society_emacs_undo

P.P.P.S  A number of folks helped with this article:  Thanks first of all to Will for being a co-conspirator-in-syn-itself and for detailed edits and clarifications here. Thanks Jean Russell for supporting and pushing me to get this out, and especially for the initial draft of the comparison table.  Thanks to Pospi, Guillem Cordoba, Siddharth Sthalekar, Hedayt Abedijoo, Emaline Friedman for comments edits and suggestions that made this article much better.  And finally thanks to Art Brock for the usual co-creative sketching of things out that we can then turn into reality.

Supremacy Consciousness, Grammatic Capacity, & Play

As is pretty obvious I don’t write much here.  My focus for the last 4 years has been pretty singular on getting Holochain and Holo built.  And writing takes me a long time.  I also have a hard time writing to the void of the Internet, I need to be in a direct conversation to share well.  Recently a friend made an open invitation to respond  “about what you’re seeing and thinking in the world right now.”  and he provided these prompts:

  • What are you seeing more clearly now? What seems less clear or certain to you now than it did previously?
  • What are the biggest/most interesting/most urgent open questions on your mind at the moment?
  • What issues do you think the world isn’t paying enough attention to?
  • What could we be doing that we aren’t doing right now to move towards more positive outcomes for the world? What do you think is standing in the way of us doing that?

Given that we’ve recently crossed some major development thresh-holds in Holochain land, and I’m feeling really positive about where things are going, I felt that I had the spaciousness over my end-of-year break to actually sit down a respond.  Here’s what I wrote (along with some images to spice it up):

Great Chain of BeingI see the “the world” (as you called it) as mostly people living inside a certain form of consciousness (or what’s sometimes called a “dominant meta narrative”) coupled with a slew of embodied forms that work together in a self-perpetuating feedback loop that creates a reasonably stable and coherent set of social organisms that all together we call “society”.  I also think the dominant meta-narrative is fairly uniform across the broadest range of cultures on the planet, i.e. it holds true for most of us.  I would call this meta-narrative, Supremacy Consciousness, in which humans experience a hierarchy of supremacy, usually putting themselves near the top.  This overarching narrative leads to all kinds of the sub-supremacies, human, national, white, male, etc. It creates a reality in which it feels reasonable, even “natural” to create nation-states that colonize the “undiscovered” world.  It creates a reality in which it feels reasonable to run an economy on businesses that permanently enclose value while externalizing costs as much as possible.  It creates a reality in which it makes sense that our main embodied token on value: Money, has the properties it does: tracking only tradable wealth, issued as debt such that the interest helps catalyze and perpetuate the supremacy hierarchy.  It creates a reality in which it makes sense to separate classes, races and genders and order their valuation, and inside this meta-narrative, it makes sense that those orderings are even internalized and held by the people who suffer under them.  And by “sense” I don’t mean anything good, I just mean it creates a coherent set of stories and embodied forms that self-perpetuate.
The good news is that this meta-narrative, which has mostly been successfully hidden from view, is becoming more and more apparent.  The bad news is that at scale the consequences of the Supremacy Consciousness is self-destruction. This comes largely because the coherence it creates, one of dominance and extraction, has met the real planetary boundaries of both natural and social ecosystem health.  The worse news is that the system dynamics in play are, I think, very similar to those of addiction, where all the solutions available to the current embodied forms only make things worse.  For example, a core problem of the world is using money to measure value.  But almost nobody can envision a world without money, only a world in which money is somehow differently distributed.  Even thinking about a “world without money” is mostly considered idealistic political utopic speculation rather than a serious systems theory problem about how to measure and build different classes of value.
Another, perhaps even more simple way to put the above is this:  I’m interested in a world where greater collective intelligence is possible.  The current underlying patterns of collective intelligence, although pretty darn incredible in some respects, are leading us to collective suicide at scale, which I’d like to avoid.
So then, what’s to be done?  What creates greater collective intelligence?  What, in the words of your prompts “could we be doing that we aren’t doing right now to move towards more positive outcomes for the world? What do you think is standing in the way of us doing that?”
Here’s the story of _what_ I’m doing to that end, _why_ it makes sense to me, _how_ I’m going about it, including the _blockers_ I see in getting there and what might be done about them:
What: I believe the world needs a new grammatic capacity.  We need a _grammar_ that can express social organisms with as much complexity and composibility as that provided by the grammar we call DNA for expressing biological life. We need the embodied _capacity_ to bring them into being with as much ease as the cell has in cranking out assembling the protein complexes and expressed in genes.
Why: It seems to me that all large-scale fundamental systemic change comes about because of the arrival of new grammatic capacities.  Some examples at the small scale: DNA is the grammatic capacity that allows for life, hormone-complex-signaling is the grammatic capacity that allows for multi-celular organisms, neuronal signaling is the grammatic capacity that allows for animalia. Some examples at the familiar human scale: human language (subject/object/predicate utterances) is the grammatic capacity that allows for culture.  Writing (phonetic and ideographic) is the grammatic capacity that allows for coordination that leads to human planetary scaling.  And I hope I don’t need to mention the grammatic capacity we call networked computers and the changes they lead to. If large-scale systemic change is the goal, a new gramatic capacity is, at the very least, part of the game, if not _the_ game.
How: So, if we need a new grammatic capacity that works for representing, and expressing social organisms into being, how do we go about that?  Well, let’s look at grammatic capacities in general. What are they like?
First, the powerful fundamental ones all look like a stack built out of, guess what, other grammatic capacities.  Stories, the high level expressions the grammatic capacity we call Language, are built out of paragraphs, which our built out of sentences, which are built out of sentence fragments, which are built out of words, which are built out word-parts, which are build out phonemes, which are built out phones.  Each of these levels have their own distinct grammatic integrity which are related to the capacity in play for expressing and receiving the grammatical units at that level.
Biological organisms are built out of protein complexes, so it makes sense that the lowest level code in DNA is for single amino-acids such that virtually any kind of protein complexes can be built.   This demonstrates another key aspect of grammatic capacities: they provide a template for composibility of fundamental parts. What are Social organisms built out of?  We can certainly argue about this, but, at least roughly speaking, they appear to me to be built out of agreement complexes.  Sometimes people call these “social contracts.”  Thus, it seems likely that the lowest level of our grammatic capacity should code for “micro-agreements” in a way that allows them to be composed.
Another way of looking at such “micro-agreements” in the social space is that they are patterns for interaction between agents that allows the agents to come into alignment on a shared reality, what we can call a Protocol.  Protocols are exactly these patterns for interactions between agents.  They are templates that create shared contexts so that we can understand each other better and more efficiently.  We are all very familiar with both formal and informal protocols, from the pattern of a Pilots repeating back what Air-traffic-controllers say, to the patterns of thank-you-you-are-welcome of politeness, to Diplomatic protocols of behavior at state dinners, these are all little micro-agreements that allow us to act within a pre-defined shared context instead of having to hash everything out in each interaction.
So, our new grammatic capacity then would provide a grammar for creating and composing such Protocols, such that it’s easy for groups of people to build larger agreement complexes out of them.  Here’s where things get fun.  A Protocol as just defined is just another way of talking about a grammatic capacity:  DNA provides the protocol stack for cell agents to align on a shared genetic reality and build organisms together.  Language provides the protocol stack for human agents to align on a shared expressivity reality and build meaning together.  If so the grammatic capacity we need is one in which we can create grammatic capacities.  A Protocol for Protocols.
So that’s the focus of all my endeavors.  How to do that in big and small ways.  Gameshifting as used in Agile Learning Centers is an example.  It’s a protocol for knowing and shifting which social protocol is in play.  The MetaCurrency ProjectCeptr and Holochain are all about bringing this into the world for use at scale.
A final note about “How” and this has to do with “blockers”.  The how of landing such a protocol for protocols matters.  There are different global scale social dynamics that will arise depending on whether this grammatic capacity is owned or enclosed, vs if it’s held as a commons.  If the carriers on which the signals in the grammar are sent are owned, then then that creates a huge power-imbalance.  Thus, the unenclosability of the fundamental carriers of the grammatic capacity makes a huge difference in what will evolve there.  The deep pattern of enclosure that’s built into the capitalist approach is a huge blocker to making this all land in the world.  There’s a lot more to say about this, but I think this is long enough for now.
To end this screed, I’d like to come back to the beginning and connect grammatic capacities to Supremacy Consciousness.  Achieving supremacy always relies on coercion of one sort or another.  Violence is the word we use for coercion on the physical level.  We also recognize other forms of non-physical coercion as violent, or at least we call it abusive. We recognize coercive manipulation of media and information, “Fake News” etc.  These are all practices inside Supremacy Consciousness.
So the other way seems fairly clear.  If I base all my actions in the spirit of non-coercive conversation, I will be living outside of Supremacy Consciousness.  So many things I do require coercion of others.  Extracting myself from the coercive life is non-trivial.  But I believe that in the end, this will feel, interestingly, like play.  As James P. Carse says in Finite and Infinite Games:  “he who must play, cannot play”.  Play cannot happen inside the context of coercion.  But play is also all about temporarily creating finite boundaries, and rules by which to enter into consentfull play. And this is the role of the Protocol for Protocols.  It could be, by consent, a temporary game for creating more temporary games, knowing that we will always want to expand the horizons of our game playing together.

Blackout Strike

I’m not much of a guy for protesting.  But SOPA & PIPA are absolutely nuts.  They are terrible implementations of worse ideas.  So I’m joining the strike.  This blog will be down tomorrow.  I know I don’t get much traffic, but that’s not the point.  I must publicly stand against the moves of entrenched power to enclose the information commons.  The rhetoric around these laws pretends to be all about protecting the little guy, the artists and the economy.  But that’s totally bogus.  These laws are all about protecting the ability of large corporations to enclose ownership of more and more data, and use the government to a pawn to rend the very fabric of the Internet when that enclosure is threatened.

Sanctuary for All Life & land emancipation

I’m re-reading Jim Corbett’s Sanctuary for All Life.  I don’t know how to express how powerfully deep this book is.  For me it both opens doors and provides a foundation for a post-civilized world for humanity.

Here’s are some extended quotes, because I think the book speaks for itself:

I think the integration of humanity into life on earth requires that capitalism’s drive for ecosystem dominance be succeeded by a way of life beyond capitalism, and I see this from the viewpoint of the wildland pastoralist whose way of life has really never been integrated into civilization’s orienting viewpoint (that we must live by a command economy that reconstructs life on earth to fit us).  Here’s how a latter-day Whig Manifesto might put it:

1. The richest, most efficient, dynamically stable, “no-waste” economies evolve naturally, as spontaneous orders unmanaged by human beings (for example, the Amazonian rainforest).

2. A highly developed economy of this kind grows through the emergence of new symbioses that strengthen its ability to support life and harmonize diversity.

3. Founded on the  premise that the earth belongs to humankind, civilized economies are degenerative, growing primarily from the impoverishment of the more inclusive natural economy that the city-centered economy invades, plunders, and relentlessly tries to subjugate.

4. “Sustainability” concerns the stabilization of the human economy’s degenerative relation to the natural economy at a level that the natural economy can support without further degradation.

5. “Symbiotic naturalization” concerns the integration of a human economy into the natural economy in ways that strengthen the natural economy’s ability to support life and harmonize diversity.

6. Unlike sustainability, symbiotic naturalization requires the transformation of civilization, to establish the institutional base for human beings to become good citizens of the land’s whole, untamed community, enabled to live by supporting rather than degrading the life of the land.

7. In our deliberations about right livelihood, the need to transform civilization means that we seek to be superseded, but not by a new humanity of ecosaintly Uebermenschen; rather, by an unviolated land community that includes us, freed to evolve into richer harmonies.

8. The integration of humanity into the natural economy necessarily evolves as a spontaneous order in which our stewardship role is just to clear the way, not to impose a plan.

9. The invisible hand that guides the natural economy’s evolution reveals that our best choices are transitional, our best intentions are disoriented, our personal moralities are peripheral, and the covenant community’s guidelines are inconclusive; but universal liberty is fundamental:  The land’s liberation remains focal.

and:

…the problem with civilized humanity’s exploitation of nature goes beyond our treating it as a commons that is just there for the taking.  The problem is rooted in the managerial delusion that the land belongs to us either inclusively, as a commons, or exclusively, as property, to use, degrade, or destroy however we like.  The land is actually a living community to which we belong.  …  The tragedies of the commons and of appropriation will end only when the land community’s enslavement ends–when the land is given back to the land.

and:

Proponents of state control see the solution to the tragedy of the commons as a relinquishment of individual freedom to the state, which must take command in order to save us from ourselves.  Yet, the local, daily, on-the-land, community practice that weaves earth rights into the social fabric is beneath the reach of the state, while the commons really at issue is the earth ecosystem, which is beyond the reach of any state but within the reach of a border-bridging community movement.  A basic society of friends can join to establish earth rights where the cumulative efforts of individuals are fruitless and action by the state is counterproductive.  Even if the state didn’t give its primary allegiance to Money, it couldn’t do what’s needed to give the land back to the land because what’s needed is the societal cohesion that grows from communion rather than coercion, and the state is firmly founded on organized violence.  Locally as well as globally, land redemption is a task for those who gather as “church” (a voluntary society based on communion) rather than “state” (an involuntary society or organization based on coercion).

At the core of his work, Corbett is trying to open a way-of-life in which we can realize that we belong to the land, rather than pretend that it belongs to us.  He is trying to open doors to world in which rather than the command & control relationship we currently have as the land’s enslavers, that we might move to a co-creative one as a people symbiotically re-naturalized.

This means that Land Emancipation must happen.  That possibility is thrilling.

why i am working on open money

Recently I’ve had opportunity to reflect on why I’m particularly dedicated to the open money path out of all the many different community currency paths.

I offer it here not in the spirit of saying open money is better than other approaches, but rather just to share my understanding and what motivates me to work where I know I am best suited to contribute.

The short version: the open money approach focuses on providing a globally scalable meta-currency platform that can hold a plurality of interoperable wealth-acknowledgment systems for all types of wealth, especially for those forms of wealth that are non-tradable. Furthermore the systemics of the software and the human processes behind the open money approach are designed to yield both a platform that is held in the commons, just like writing (the alphabet) is held in the commons and is likely to spread virally.

The long version: As a geek, I am deeply influenced by two concepts:

  1. David Reed’s concept of the value of Group Forming Networks which is a formalization of what is often quoted as “pushing the intelligence to the edges” and is the deep value proposition for p2p and a fundamental motivation behind the “smart edges-dumb center” design of the Internet that Reed was a part of as a co-creator of TCP/IP.
  2. Ross Ashby’s law of requisite variety, which implies, among other things, that the controller has to encode as much variety as exists in the system it wants to control. To me it is crystal clear that a single form of currency, debt-issue federal currency, cannot represent the varieties of wealth that we must be able to acknowledge to thereby guide our activities as a global civilization.

These concepts, along with a programmers propensity to refactor and go meta in designing any system, had me convinced early on that a multi-currency platform was absolutely essential, also this platform not only had to be multi-currency, but that the forms of the multi-currencies themselves had to be able to widely tunable so that they could be acknowledgments of non-tradable forms of wealth. So far so good for requisite variety, but to achieve the pattern implied by Reed’s GFNs, the platform had to be a network platform, a platform that fundamentally provides a surface area on which currencies themselves, and the accounts that trade those currencies, can grow and form groups.

In essence I felt that what was necessary was to create the TCP/IP of money. That we had to strip away as much as possible from the ideas of what money is down to some bare primitives analogous to “packet transfer” and “routing” and from that build up all of “money” again.

This is the systemics of the open money approach, both explicitly multi-currency and network oriented. The systemics of this approach feel to me to be most likely to spread virally (i.e. without the need for huge launch effort) of all the approaches I’ve seen. And I think the open money mesh & churn and the currency specification language, actually live up to these systemic considerations, at least in principle.

Next… for me personally, the open source nature of this kind of fundamental social platform is absolutely essential. It is essential for a number of reasons:

  1. Transparency. Wealth acknowledgment is so fundamental to society that if it is hidden, it can’t be trusted. I’m not talking about at all about making the content of all individuals acknowledgments public, nor making any claim that all clients and all servers that run the open money protocols have to be open source. That’s silly. I’m simply saying that the base protocol, the alphabet itself of wealth-literacy, the capacity to create currencies (not the currencies themselves) must be fully in the commons.
  2. Security/Integrity. Everything I’ve ever read or experienced of software security is that open source is the way to go. It’s not that OSS is a guarantee of security, its just that its better than closed source. In my experience open source software is way less buggy that closed source software.
  3. “Virality”. It seems to me that open source efforts have a much higher likely-hood of spreading virally than closed source efforts.
  4. Fun/Community. I personally have experienced that writing code in the open source mode to be drastically more pleasurable. It’s where I want to spend my time. The kinds of relationships that arise, the speed with which things can happen, and just the spirit of it. It’s where I want to be.

Above are the positive statements of what I’m called to work on and why they led me to open money. There are also some considerations in the negative space that have pushed me away from some approaches. In particular there are two:

Markets: Most community currency software platforms include some kind of market making function. I think this is a substantial mistake from a systemic point of view. I learned from Art that markets are the result of currencies, not the other way around. Grades lead to a market for tutors and Kaplan services. Tickets lead to scalpers. More precisely, wealth-acknowledgment processes naturally evolve group settings that amplify their usability. Thus, systemically it is a big mistake to pre-specify what form those group settings should take. Don’t get me wrong here. I think that markets and market making are HUGELY important. But I’m convinced that they belong in a separate domain. The currency creator intrinsically doesn’t have the requisite variety to know what the market should look like. That is yet another function that is best served by pushing it to the edges, and not controlling it from the center. When you give currency creators control of the marketplace abuses also become tempting. I believe that market making needs it’s own equivalent p2p platform that will make cranking out a new e-bay just as easy as open money makes easy cranking out a new currency, and the way the web makes easy cranking out a new “publication”. We are in touch with some folks who are working on this kind of platform.

Security/Integrity: Though I mentioned security in the open source stuff above, I actually find that it is way over-emphasized. I am not drawn to work in contexts that focus on security in wealth-acknowledgment because I’m convinced that that is a hold-over in understanding currency as a thing of value in and of itself, and is thus a distraction. When currency is understood as information about a wealth related event, rather than a direct representation of wealth itself, the whole question of the necessary security is vastly different. I know that the problems of security have mostly been sufficiently handled elsewhere, and they will be able to be grabbed out-of-the-box as libraries for use with those particular currencies that need that high security. Most currencies won’t need security, they just need integrity, which is achieved by redundancy, transparency, and audit-ability. Those are things that I’m very concerned about and must be built into the very fabric of the system itself, which is why the Mesh looks like it does, and another reason why a distributed p2p platform is so systemically important.

So, to sum this all up, I have chosen to work where I think the systemics, the invisible architectures, will yield the most powerful results. The systemics of multi-currency & a general currency specification language yields requisite variety. The systemics of the network approach (the mesh) yields the value proposition of GFNs. The systemics of open source yield integrity, community, and a new commons. The integrated systemics of all of these yields viral spreading.

It is definitely true that all of the other software platforms (GETS, CES, Cyclos, etc.) are much more useable and attractive at this point than what we’ve got implemented. But I think that systemically that’s like comparing the Internet in 1990 (the pine e-mail reader, gopher sites, ftp sites, and mailing lists) to rich graphical content and interfaces provided by AOL, Prodigy, GEnie & CompuServe at that time. And this is not to put those things down. Note that AOL is still around, and it did an incredible and valuable job of introducing people to the Internet by providing a usability soft landing.

What I see is the potential for open money to provide the same viral tipping point for community currency that HTTP/HTML/Mosaic provided for the Internet. So that’s where I’m focusing my work.

sousveillance and subvision

One of the many very nice concepts that I learned about first in Jean François Noubel’s work on collective intelligence is sousveillance which is the inverse of surveillance. It was first coined by Steve Mann and then later picked up by Howard Rheingold.

Besides the concept itself and it’s obviously deep ramifications on political and social structure, there are two things that keep coming to mind:

  1. “sousveillance” is a sucky English word. It’s a problematic concept vehicle for the concept because aurally (for English speakers) it’s almost indistinguishable from surveillance, and it’s hard to spell :-). So I’d thought of the term: subvision as the inverse of supervision, which then also could have the verb form “to subvise” (instead of “to supervise”).
  2. Sousveillance almost necessarily will have a deeply negative effect on privacy, something that I’ve hold to be very important. But then I found this little parable (also by Steve Mann), which clearly shows how many of the ways we protect privacy is through pseudoprivacy measures that actually decrease the possibility of true privacy in the long run.

[tags]sousveillance, surveillance, language, privacy, pseudoprivacy[/tags]