Decentralized Git Hosting

Decentralized hosting of git objects enable immutable, programmable, censorship-resistant and highly-available source code repositories.

Motivation

Our drive to develop a decentralized git hosting system is due to the problem of ownership. Today, it is not possible to truly distribute ownership and governance of an open source software codebase and resulting product without entrusting absolute authority to one person or organization. For this reason, distrusting parties cannot build open source organizations without the friction that comes with ceding control of shared resources to one or few parties.

As a project that aims to enable the development of self-sovereign, community-owned software-driven products and organizations we must ensure these organizations are rooted on a protocol that is trustless and affords the community the ability to construct ownership and governance structures that they find suitable; This begins with the decentralization of the codebase storage layer.

Ownership

The ability to create truly decentralized source code repositories makes it possible for communities to create varying ownership structures that are enforced by cryptography. Ownership structures can be private, semi-private or fully open. As a decentralized repository, contributors are assured that repositories are not managed by a central body but by a protocol that is incapable of bias or collision.

  • Build software products owned and managed by millions.
  • Collectively decide membership, treasury and contribution models.
  • Use proposal-based system for repository governance.
  • Determine stake/equity formula in case of acquisition.

Immutable

Repositories will forever remain immutable and undestructable. It will not be possible for any party to make a repository unaccessible by destroying it. While the objects that make up a git repository are immutable, the entire repository is not and as such can be deleted from storage. This is possible today on centralized git hosting services.

Governance

Repositories employ proposal-based governance to come to agreement on changes or improvements. By default, a proposal requires approval votes from a majority. However, a repository will be able to define custom rulesets for deciding when a proposal is considered approved.

High Availability

Every so often, developers are made to endure long hours of access deprivation. Fundamental behaviours like pushing and pulling of git objects are limited due to technical or economic issues such as platform outages or service suspension due to unstanding bills. On a decentralized git hosting system, access is always unstopable, guaranteed and only limited by the scalability of the protocol.

Censorship Resistant

Today, big corporations are able to prevent the propagation of thoughts that are deemed unacceptable to a majority or a government. As technology continues to evolve there will be strong desire for governments and corporations to stifle controversial innovation by censoring access to points of collaboration. There is need for protocols that ensure the fundamental rights like speech via coding can be expressed without fear.

Programmable

With Autonomous Functions (a.k.a Smart Contract), Ellcrys' decentralized repositories can behave like applications that perform arbitrary tasks. They can include functions that are executed to alter the protocol's default behaviour specific to them. Repositories can use Autonomous Functions to manage ownership, membership, governance, treasury and more.

Interoperable

The decision to base the protocol on the git technology allows contributors to continue to build great tools and technologies using the tools and workflow they are already accustomed to. Ellcrys tools and protocol will be compatitible with existing git-supporting tools and services.