Fork by Design

Brent Lessard
rLoop
Published in
5 min readDec 28, 2018
Image from GitPrime

For several years we’ve been examining the processes we developed to collaborate on building complex engineering systems with a distributed community and with no central authority. The inspiration for the decentralized innovation platform that we are building is drawn from these years of experience and is intended to allow for autonomous and unsupervised innovation to occur. One interesting occurrence we experienced has led to a new phase in the general cycle of projects on our network — the Evolve phase.

Generally, projects on the rLoop Network follow the following phases:

Proposal > Vote > Develop > Launch > Evolve

Proposal

During this phase, a concept is fleshed out and a proposal is co-developed, with the process happening off-chain. The purpose of the proposal is to outline preliminary objectives, milestones, timeline, and budget — but the proposal shouldn’t be too complex to discourage ideas being shared. The intent is to provide sufficient information to the rest of the community to make an informed decision about the viability of the project and encourage support. Once formalized, the proposal is published on-chain for staking with RLP.

Vote

The community is encouraged to identify the most feasible and impactful projects and vote for it by staking RLP to the project. In return for staking to the project, a project-specific token is minted which grants its holder influence over decision making and management resource. The earlier you mint the project-specific token, the less RLP it will cost. As more interest is attracted to the project (reflected in increased token supply), the cost to mint new tokens increases. The only way to retrieve staked RLP is by sending the project-specific token back to the smart contract — if the supply is higher than when you purchased, you might retrieve more RLP. This encourages long-term support and productive development of a project.

Development

The project smart contract will capture some of the staked RLP in order to be used to reward contributors or fund its development. Project-specific token holders are incentivized to productively develop the project by delivering on specifics of the milestones in order to attract more interest to the project. If the project doesn’t deliver, its supporters may return their tokens to retrieve RLP. In this way, supporters of the project are continually ‘voting’ on the project by either holding their project-specific tokens (believing the project to be developing positively and will attract more interest) or returning the project-specific token to reclaim their diluted RLP. This is a real-time pseudo-prediction market on the viability and potential impact of a project.

The rLoop Network offers, among other tools, a Cognitive Marketplace in order for tasks to be made available to the rest of the community through a bounty. The tasks can also be decomposed into workflows to incite continued support.

Launch

Once a project has matured to a market-ready state, the rLoop Network offers the ability for short through long production runs as well as various go-to-market strategies. The network offers a Marketplace for products and services to be sold or for IP to be licensed, with transactions being primarily conducted in RLP. This serves to distribute risk and reward across all projects on the network, eliminate information silos, reduce duplication of efforts, and create a shared innovation ecosystem.

Evolve

Here’s where it gets interesting. As a project grows and develops, new markets or applications for the technology may be identified by the community. The potential exists to ‘fork’ the original project and spawn a new one — an evolution of the original.

This evolved project can use lessons from the original, although it may introduce new technologies or focus existing technology on new problems. In order for a project to be evolved, a new proposal must be created and opened for staking, thereby completing the loop of projects lifecycle on the network.

Now, partners in the original project can vote on the viability of the evolved proposal by acquiring the project-specific token. Some may return their original project token to acquire the new one, others may use RLP to hold tokens in both projects, and others may not acquire the new token. A new project does not have to be competitive with its parent project.

The market and interest to maximize an individuals profit will evaluate the viability of the evolved project. This is a type of external governance model, with projects evolving autonomously and driven by the community.

This itself is a governance model. Projects can mutate and spread with a need to provide value in its environment to survive, and there exists pressure on a project to remain viable in face of evolving projects. And the cycle continues.

During the Development phase, voting within a project is a type of ‘internal’ evolution which is intentionally slow and resistant to radical change in order to ensure stability and consistency. It is intended for incremental improvements that preserve the existing talent pool.

During the Evolve phase, a ‘forked’ project is a type of ‘external’ evolution which can be achieved quickly and represents a radical mutation from the original. It brings a potential new community of adopters, new values, and new rules.

This internal evolution process can be likened to an organism which has generally matured to a state where only incremental changes will continue. The external evolution process can be likened to the offspring of the parent organism, with beneficial properties surviving but a new mutation introduced. The child evolves to suit a particular environment which will be different than its parent, and the child may eventually pass its traits on to another project, or it may exit the gene pool if it fails to survive.

We have experienced just such an evolution at rLoop. One project forked into two, each with particular and different environments for operation in mind. And while the base of the evolved project is similar, the fork represents a radical change in direction (and values) to the original. There was some initial friction when the new project forked, but today both projects are progressing in parallel. Both enjoy support from each other. There are community members participating in both projects. And it is understood that each project is optimized to exist in different environments.

In interest of promoting innovation, we should be embracing and encouraging such project forks. It requires the parent to remain viable and the child to prove purpose and value. We are designing forks into the process at rLoop.

For more information please visit our website at rloop.org!

--

--