What makes Holochain special? Google searches, TikTok, Twitter, and Instagram dominate the internet as we know it. These “KillerApps” represent the core of the internet to us. So what is Holochain’s KillerApp?
First let’s reframe from KillerApp to MotherApp; starting from a place of cooperation rather than competition. Consider how we could offer a genesis experience — a new way of interacting online — which will spawn many new apps and experiences built on these same principles.
We believe that at the heart of such a genesis experience lies one key capacity: the ease of forking, or what we also like to call walkaway (inspired by Cory Doctorow’s book). This capacity forms the heart of what makes open-source software so valuable, the fundamental capacity for anyone to take what’s there and improve, modify, and fork it into a better reality. To walk away from the enclosure of one space and into the creation of a new one. Currently this capacity lives only at the code level (e.g. GitHub). But the deepest value of the current Internet lies not in application code, but in the data the users of the platforms provide and the web of relationships this data creates. All of our major platforms capture the value of this data in exchange for the services they provide. Corporations do not charge for these services because they have found another way to monetize them. In the modern attention economy, data mining reveals what holds our attention and turns it into a commodity. Brokering our attention to advertisers funds the current internet; and keeping our data unforkable, as a company's private property, maintains a profitable monopoly.
Thus, we claim that the MotherApp of the next internet arrives with the ability to fork not only code, but also platform level data. It’s not good enough that a single user can download their own history from Facebook. We need an underlying infrastructure by which an entire group of people can walkaway together with all of their data as well as the application’s code into a new improved space as easily as they can click “fork” on GitHub today.
Rather than holding data centrally, Holochain distributes all application data collectively between the users of the apps. Each user not only holds the application’s code, but a portion of the network’s data along with their own personal data, allowing for both uptime and data ownership on a p2p network.
Holochain delivers exactly such underlying infrastructure, what we call an uncapturable carrier. More than just an open-source grammar with which anyone can build their own protocols and applications running those protocols, Holochain also provides a novel, distributed structure for data. Rather than holding data centrally, Holochain distributes all application data collectively between the users of the apps. Each user not only holds the application’s code, but a portion of the network’s data along with their own personal data, allowing for both uptime and data ownership on a p2p network. This collective data ownership means subsets of those users can always fork applications at will. If you don’t like how an app or community functions you can simply fork it and all of its relevant data, add your own adjustments, and invite others to join you. This deep level of interoperability helps to address network effects while allowing for evolutionary growth of the ecosystem.
A MotherApp for Holochain then must give users a visceral experience of this uncapturability. By giving users the ability to develop their own segmented spaces of coherence the MotherApp itself will help future projects grow from that initial experience. To fully embody this, communities need to undergo forking.
Next, this article will discuss a couple of recently developed Holochain apps (hApps) and how they might provide this experience of walkaway. The article will also consider some of the challenges and benefits of forking, finally looking to the future of the ecosystem and its growth.
Walkaway for Project Management
Acorn, a project management hApp, provides a simple interface where users can arrange intended outcomes into a dependency tree structure that helps break-down and prioritize complex projects. Each tree represents a particular project space which can be shared with other collaborators. When a collaborator adds an item or extends a tree, this propagates out to other collaborators sharing the project space.
Now imagine if a sub-group of collaborators realizes that the project has gone off track, or they decide they want to go in a different direction with their work. They can simply copy the workspace and all the shared data, give it a new name so it has a unique identifier, and move on, potentially sharing this new space with an entirely new set of collaborators. Meanwhile, the old space continues to work just fine for those still using it.
This may seem almost identical to what happens when copying a google document and adding changes to a new private version of the doc, essentially forking the data. However, differences appear when we look more closely.
When working with a Google doc, Google holds all of that data in the cloud on their servers. Acorn users spread the data across their local devices, maintaining redundant copies but providing direct local access to each user. Even more importantly, Acorn provides open access to its locally held application code. Where Google could implement a new change that removes access to a particular tool, this cannot happen with Acorn. As long as a user holds this version of the code they can run the program and share it with others. And if they want to add a change, they can easily fork the software.
The Why of Walkaway
What makes walkaway important? The cloud storage of Google Drive and similar services already do exactly what many need. As Moxie Marlinspike has already pointed out, most people don’t want to run their own servers. Most people probably don’t want to run their own code either.
Walkaway becomes important though as a way to break from and avoid monopolies by mega corporations and as a way to create diversity within our communities and tools. The example above looks at a small-scale, individualistic form of walkaway, but as we’ll go on to see, the larger more meaningful forms of walkaway require a collective. Thus communities, not individuals, will gain the most benefit from walkaway. Whether an offshoot of an open-source coding collective or a local youth group fracturing from a larger institution, the ability to fork code and data gives a community a sort of sovereignty that does not depend on either the individual nor the institution/state.
...the ability to fork code and data gives a community a sort of sovereignty that does not depend on either the individual nor the institution/state.
The design of Holochain as an uncapturable carrier means that hApps hold data publicly. Each individual has the right to their own data, but the data created in the public sphere at the same time remains public. As we’ll see, this gains importance when social groups split, helping to maintain the social histories and accounts across spaces. Thus, the group cannot hold an individual hostage, nor can any individual hold the group hostage by controlling the server.
Walkaway for Collaboration
We, a new hApp from Lightningrod Labs, aims to provide users with a tool for generalized collaborative power. Developed as a container for social interaction, We allows users to build highly customizable digital spaces for collaboration, without predetermining the nature of these spaces. Users will be able to load “applets” into We to give it different functionalities from threaded chat and calendar invites to video calls, whiteboards, voting, and currencies. Because applets are just repackaged Holochain apps, almost all hApps could potentially be implemented within We.
Designed to be, per Einstein's provocation, “as simple as possible, but not simpler,” We is an interface for managing the boundaries and connections between different spaces. One example of this is cross applet functionality. When running multiple instances of the same applet in different We spaces at once you can easily shift between group-centric and applet-centric views, for example allowing you to see just the calendar events of your current group or all of your events across different groups at the same time. We provides developers affordances to enhance and enable both of these perspectives.
We is an interface for managing the boundaries and connections between different spaces.
The real strength of We comes from taking the idea of groupware and generalizing it beyond any one functionality, while at the same time allowing communities to form membranes and self govern. As agent-centric software, each user decides what groups and applets they opt into. Similarly, community governance would happen from an agent-centric basis. Bad actors can potentially be removed via ban lists that each user opts into rather than being censored from the top down. The overlapping decisions and interactions of individual agents form together into communities, rather than communities existing as something predefined. These principles and associated tools like membrane proofs and capability grants are inherited from Holochain itself. We just provides the structure and user interface needed for these networked relationships to be integrated and more accessible. Because every Holochain app has the structural properties of a Sovereign Accountable Commons (SAC), these social spaces can quickly morph into DAOs. As digital communities that need to make decisions collectively, each space will need different levels of protocol to help them embody their decisions and agreements.
Sometimes communities diverge. But with entwined pasts, each should be able to set out with a copy of the data and the platform. Walkaway enables this type of continuity.
This is where walkaway and the art of the fork come back. Sometimes communities diverge. This doesn’t mean that their pasts were not entwined however; one group starting over from scratch while the other maintains the old platform sets up very different power relations than when both move forward from the same place, each with a copy of the data and the platform. Walkaway enables this type of continuity.
Like with Acorn, and any hApp for that matter, a user will be able to fork We at will. This goes for the code as well as the data. If you want to start a new space because you disagree with a decision made by your community, do so. Want to change how We verifies data structures? Copy your current version of the software, make the edits you need, and launch.
But don’t forget to invite your friends. We isn't of much use to just one person.
Walkaway is non-trivial
Walking away from anything takes effort. Most software on the internet today gains its use value not just from the technical aspects of the tool in and of itself but because of the community of people it connects you to. This is certainly the case with social media and groupware like We, but it is also the case for, as an example, a map application like Google Maps. Users, from businesses to individuals, add rich context to the map through daily updates and through their activity on the app. To learn how busy a restaurant is or a business's operating hours you check Google Maps. Users either add or create this data and give the app its value.
To fork a social space you need allies, people who will shift with you to the new environment and bring it value.
To fork a social space you need allies, people who will shift with you to the new environment and bring it value. Network effects make walkaway more difficult. However, in building an environment that encourages forking, we expect a greater culture of walkaway and a diversity of versions of any program. Holochain also enables interoperable connections between forked spaces. This gives users autonomy while not giving up the benefits of connection to broader networks and also provides groups the ability to customize their software without locking out potential users.
What’s Next: Walkaway for Digital Ecologies
We acts as a MotherApp for Holochain because it gives users an easy and intuitive way to experience forking on both social and technical levels. Once users can walkaway in practice, both its ease and its social costs, become readily evident.
Imagine forking as a form of birth through mitosis, the splitting of cells. As protocols and communities continue to diverge and coalesce they fill niches and expand the ecology, meeting the needs of users through an iterative, evolving process.
You often hear about digital ecosystems. But this rarely refers to more than products that somehow connect to or benefit each other. We, and Holochain more broadly, attempts to actualize the vision of a digital ecology. Imagine forking as a form of birth through mitosis, the splitting of cells. As protocols and communities continue to diverge and coalesce they fill niches and expand the ecology, meeting the needs of users through an iterative, evolving process. No longer simply products, they become organisms.
Ecosystem-like structures use building blocks (DNA, code, grammar), which instruct the system on how the content (organisms, data, speech, energy), takes shape and gains meaning. Thus, We provides a meta-grammatics, a set of rules that facilitate the development of new rules. A meta-grammatics that makes it easy to iterate and create new spaces requires a rule that lets you walk away to new spaces and to choose which spaces to inhabit. Ecologies also need the ability to merge spaces and for organisms to interrelate.
A grammatics for powerful group evolution requires more than just forking. The 4 Fs (Forge, Fork, Federate, and Fuse) expand this grammatical capacity as described in the following:
- Forging creates original new spaces from scratch.
- Forking simply creates a new space by modifying an old one.
- Federating applies a protocol to interconnect two existing spaces while leaving them distinct.
- Fusing merges two separate communities into one.
Federation in We is just adding the same instance of an applet into two different We groups, each user independently opting in to the shared app. The fusion of two communities then is simply what happens when they fully federate all of their applets. Thus fusion can happen all at once or slowly over time on an as needed basis; the same goes for walkaway. What’s beautiful about the Holochain architecture is that it allows rule sets to be brought together as composable chunks, thus meta-grammatics. The examples here and throughout this article describe just a small portion of the problem spaces that the 4 Fs bring with them. They also only illuminate a glimpse of the benefits.
What’s beautiful about the Holochain architecture is that it allows rule sets to be brought together as composable chunks, thus meta-grammatics.
Ultimately, many in the Holochain community endeavor to provide not a platform but a new grammatic capacity with the goal of creating change and to allow others to build the platforms they need. With an explosion of social spaces, users have a diversity of options to choose from. These communities and the grammers that support them break the norm of monolithic institutions which provide a singular way to navigate society, rather they give many different avenues through which to access community and social services. As a diversity of platforms spawn from this root, it will provide ways to interact with others and build new ecosystems together.