Value Flows is a minimum set of core concepts (protocols, domain models) to describe flows of economic resources across decentralized networks.
TODO re-do above diagram with "signal" instead of "message".
We want to help anyone building software for networked socio-economic systems.
If you would like to be part of this conversation, please raise an issue here, or fork this or any of the related repositories and issue pull requests. You can also pop into our welcome gitter chat to make comments, ask questions, or introduce yourself!
Value Flows is an abstract vocabulary: it only describes the simplest and most general set of verbs and nouns that are necessary in order for disparate projects and communities to define concrete vocabularies based on their specific use cases and local culture.
In practice, this means we use the Type Object pattern, where each 'type object' describes the specific semantics of policies, procedures, rules and patterns for those using it.
An Agent is a thing who can act: as in a person, group, or bot.
Example: "an example of an agent is me, Mikey (@ahdinosaur)! i have a name, an email, etc. each agent, like everything in Value Flows, has an associated type object. for agents, these can correspond to the different type of agents in Open OS, namely Person, Pod, Community, and Network. on the type we can specify properties of that level of organizing structure." Agents are fractal identities
A Resource is a thing that can be acted on.
Example: "a resource is a physical thing, a resource type is the abstract ideal of that thing. when you go on Amazon you browse through resource types you can buy, the physical thing that you receive in the mail is a resource. when you go to the library catalog you browse through types of books, which correspond to physical books you can check out. these resource types can relate to each other as a taxonomy, as we see with categories on Amazon and genres in the library."
An Action is how an agent can act with resource(s).
- Transfer: a change in 'rights' relating to the resource(s)
- Transport: a change in location of the resource(s)
- Transform: a change in the composition of the resource(s)
- ... possibly more?
Examples:
- "a transfer is when a resource changes hands. for example, i give you three dollars in exchange for a coffee. the coffee and money resources are still the same, but they've changed owners."
- "a transform is when a resource changes composition. for example, i input the resources of coffee grounds and hot water into a coffee machine resource in order to output hot coffee. the hot water and electricity are consumed during use, the coffee grounds are turned into compostable waste, and the coffee machine is used but still available for more coffee."
A re-usable action type is also known as a Recipe.
Actions describe flows of resources, as opposed to the more common double-entry accounting. It's possible to derive double-entry accounting from a resource flow, but not the other way around.
A Signal is what an agent can say about an action, often in a 'conversation'.
- Intend: express inputs for action
- Plan: express commitment (promise, schedule) to follow plan
- Observation: account for observed reality of action
- Report: retrospect on outcome of action
- ... possibly more?
Example: As part of a food purchasing co-op
- the co-op receives the intended inventory from the supplier (20 kg of wheat flour)
- the co-op members send the co-op admin their intended purchases (27 kg of wheat flour across 14 members)
- the co-op admin creates a plan based on the known inventory (20 kg of wheat flour, 7 kg of other flour)
- the co-op admin sends the plan to the supplier as an order
- the supplier agrees to the order
- the supplier sends the ordered food to the co-op through a local transporter
- the co-op receives food and accounts for reality (25 kg of wheat flour, 7 kg of other flour)
- the co-op reports that the food is delicious
Principles (long form)
- the vocabulary must support coordinating work between different people in different organizations using different software on different platforms using different human and programming languages.
- the vocabulary must track the flows of resources (value) forwards and backwards.
- the vocabulary must distribute income (rewards) according to peoples' contributions, regardless of where and when in the network those contributions occurred.
- the vocabulary must be fractal: it must support high-level views of networks as well zooming in to lower and lower levels of detail.
- the vocabulary must work at the recipe, planning, and accounting levels.
- the vocabulary must work for alternative and traditional organizing shapes and economic relationships.
Our current work is gathering use cases from contributors, see our CONTRIBUTING.md document for more information on how to participate.
Our long-term plan is to refine our common vocabularies, design a set of interoperable protocols for decentralized economic infrastructure, and deploy an ecosystem of interconnected apps to form the backbone of an alternative economic system that supports recipes, planning, and accounting for fractal networks.
This effort began in a conversation between the Network Requirements Planning (NRP), and the Open Apps software projects.
The NRP gang kept running into other apps that did a lot of the same things, or at least parts of the same things, that were used by different groups who wanted to collaborate with each other. So, let's have the different apps be able to collaborate with each other!
And the Open Apps gang (which includes the NRP gang) wants to create "a suite of integrated and open sourced apps which support transparent, democratic and decentralised organising".
Which potentially means many different apps that want to talk to each other. Thus the desire for a common vocabulary.
NRP is the source of much of the vocabulary, and continues to refine the model, collaborating with user networks like Sensorica. Holodex is using the organization aspects of the vocab.
But most of the vocabulary comes from the Resource-Event-Agent (REA) ontology originated by Professor William McCarthy of Michigan State University in 1982, used in many places around the world, as pictured in this document.

