Decentralize Git Hosting, We Must

When I was thinking of a name for a place where makers from all over the world could congregate, share and collaborate freely, I could only think of one word — Ellcrys. A term I learned from watching the movie series Shannara Chronicles. Ellcrys was a mystical tree that kept out demons that used to disturb and dominate the elven population. The tree became their (the elves) their source of strength and protection. I thought that open source collaborators and end-users of their products could use an Ellcrys against the big corporations competing to control our data, right to have a choice and a voice within their platform. I mean, why not?

  • We (Users) create so much data that has applications across many other applications and use-cases but we are not afforded the right to export or connect with other services for their own competitive reasons. I may be interested in a newly launched service that may benefit from my social graph, spending or location history but I may not be allowed to conveniently export my data to the new service. Even when users are able to connect via APIs, they usually don’t get all available data and access can be severed at any time.

Do you see it? We really need protection and consideration. Unfortunately, we will never be able to get shareholder-centric organizations to truly take us, our opinions and desires seriously.

We need to re-invent the organization structure that is responsible for managing the products and services that we rely on. We need user-centric organizations that not only respect users because we make them money, but we also need to be valued because we are people with needs, dreams, voices, individual aspirations and families. They need to put us first.

A root problem — Shareholders

Forget it, these huge platforms will not become user-first any time soon. It is not because the founders do not want to or are bad people. It is due to the practices that have been built over generations that only serve to benefit the people who finance the product in its infancy — The shareholders. These founders are legally required to do one thing only; They must increase the value of the company at almost any cost and as long as they abide with the laws in jurisdictions they operate in. In cases where they overstep, only the government is able to call them to order, it is usually never the users.

User-first Ideals

We believed that the best place to start change was to bring transparency into how software is developed. We figured that we can create a user-first product and experience if we:

  • Let users into the discussions and processes that lead to the adoption of an idea over another. They will have a deep understanding of the product and love it more.

You might wonder how all these can be put in place by one company; These are fundamental issues that will require an entire industry to change. But we don’t need the entire tech community to start adopting the highlighted ways towards user-centricity, we just need the free and open-source software community.

FOSS Community = 😍

The open-source software community is responsible for most of the software products and services we use freely today. The products built and maintained for free by open-source contributors powers many of the applications we use and love today. The community continues to give even to big corporations who rarely, selectively or don’t even give back to the community. Only a community with an altruistic nature and a love for experimentation will be able to spearhead the ideas that would lead to a more open and fair application ecosystem for users.

An Obstacle we Love

Today, it seems like we have all the things we need to start to build user-first products and services. We have:

  • A community of open source developers eager and willing to build important things.

This is great right? Yes. But we have a problem and it is centralized code collaboration platforms like GitHub. In this future where open source collaborators build user-first applications, the repository and its community will form an organization. This organization needs self-sustenance. It needs self-sovereignty. It needs to make its own rules. We will need a platform that gives powers to a source code repository on which we will build this brave new world that is an embodiment of ideas we discussed earlier. Unfortunately, this will not happen any time soon. For instances, these services cannot or will not:

  • Allow a product’s repository to be co-owned by more than one account. Collaborators cannot truly co-own a codebase, end-product, and development data because it is not possible to share them on centralized infrastructure. GitHub cannot provide an answer to the question: How can thousands of developers co-own a repository and its community. The very nature of the technology it's built on does not support such an ownership structure. It is possible to build server-side feature to add multiple accounts as owners but such ownership is not real as someone must still take responsibility and pay usage bills. If the ownership of a codebase cannot be truly shared, it will not be possible to share the end-product.

Though we love GitHub and its equivalents, we need something else to host these organizations built on git repositories. A tool that not only enforces user-first ideals but also embraces it at its core.

The Ellcrys Rises, then Catches Fire

Photo by Henrique Malaguti on Unsplash

So in 2017, I and Odion created a company named Ellcrys with a goal to create a decentralized version of GitHub but with all the qualities required to bring about the vision of a user-first software ecosystem. At the time, the project was the first of its kind. But it was also a very troubled company as we struggled for a long time to sustain and grow the team because we were inadequately funded. Eventually, we let the team go while Odion and I decided to try again with what we now call MakeOS (Make Open Source). We spent the last 16 months refining and coding to get to a point where we can begin to showcase what a decentralized code sharing and hosting system will look like.

MakeOS — A protocol for code hosting & sharing

Armed with lessons we learned from the previous attempt, in September 2019, we started a new reference implementation for a code collaboration protocol that is built on top of git and leverages the qualities of distributed ledger technology. MakeOS is a product of the following technologies:

  • Git: The most popular distributed version control system that millions of developers rely on to effectively share and organize a codebase. Developed by Linus Torvalds in 2005 for the development of the Linux kernel. It has since been integrated into many tools and workflows developers depend on today. Like GitHub, MakeOS provides a place where open source developers can store their repositories; Share their codes, accept and review code contributions, manage access and more.

MakeOS Participants

As a network protocol, MakeOS needs the help of people who will contribute compute resources to enable the network to perform its functions. Currently, there are 4 kinds of participants that are instrumental in keeping the network healthy and useful. They are:

  • Validators: These are people who manage the MakeOS blockchain system. They are responsible for ordering transactions into blocks. They collect transactions, validate and process them using a globally shared set of rules. Validators process transaction like fund transfer, push request, governance alterations and more. As proof of stake system, anyone can become a validator if they have a minimum stake in the system. The stake is there to protect the network against Sybil attack. The protocol pays validators using a native digital currency.

Development Status

MakeOS is actively being developed. As of today, we have a beta client version and a testnet that anyone can try. If you want to try it, check out our documentation and website to get started.

Initial Dilithium Mining

Due to the nature of Proof of Stake, we will need to bootstrap the network with over 50% of the initial supply of the native coin (named Latinum). These coins must be created and locked as a security bond. Since Dilithium is required to create Latinum on MakeOS, we need to start the process of mining Dilithium before the launch of the network on Q4 2021. We are inviting anyone who wants to participate and support the project to join our mining program. We have created a cloud mining platform that allows the participant to rent compute capacity to mining Dilithium. Currently, we are offering a free shared miner for 30 days. The longer you wait to join, the harder it gets as the proof of work difficulty continues to rise. You can rent more compute power to improve your mining capacity and to support the project. Head over to our miner page to learn more.

Happy new year!



Software Engineer

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store