The recent news about Microsoft acquiring GitHub for $7.5 billion has resulted in quite some dismay on the software developers' side. Although it's not likely that GitHub will suffer the same fate as Skype, which is borderline unusable these days, a lot of people seem to have migrated, or at least backed up their data to other platforms, like the Ukrainian-Dutch-American GitLab.
A sceptic might say, however, that there's little fundamental difference between GitHub, GitLab, and, say, Bitbucket, as all of them are centralised platforms owned and controlled by for-profit companies. With that in mind, the idea of a decentralised open-source code repository looks quite attractive and feasible.
Although there are currently no widely popular implementations of distributed code hosting platforms, the technical means to create one are kind of there, and there are most probably several projects in the works. The one we know of is oscoin, an initiative run from Berlin by an international team of seven developers who have been working on it since mid-2017.
The main idea of oscoin is to create a whole ecosystem for the open source community that would include a decentralised code hosting platform based on its own blockchain and the distributed file system IPFS, as well as a cryptocurrency that can be used for different transactions on the platform itself.
The fundamental mechanism of the new platform is the way the newly minted tokens are distributed. The plan is to create a hybrid model, in which part of the coins will go to operators (that is, miners/validators), as it would in most currencies, while another part would be distributed among the maintainers of the most important projects.
To determine which projects are valued by the community and should be rewarded, a voting system would be put in place. The idea is simple: since each community member is a token holder by default, they can vote with their tokens to signal the importance of a project. In this case, the coins would still be owned by the person signalling and could be moved around at any time.
“We're creating a cryptoeconomic game where the community can go and stake their tokens behind the projects that they value,” said oscoin founder Ele Diakomichalis. “Then the protocol, at each epoch (block height), looks at all projects and distributes new block rewards proportionally.”
This kind of voting could theoretically be gamed or misused, which is why oscoin will employ the token-curated registry (TCR) concept. One of the much-discussed topics in the blockchain, TCR, introduces a way for any community member to challenge any vote, which would, again, require a deposit in oscoin. The challenge is resolved by a community vote; if the community decides that the vote in question goes against the rules, the coins stacked behind it are distributed between the no-voters, including the challenged. If the decision is positive, though, the challenger loses their deposit to the challenged voter and the yes-voters from the community. Speaking of the monetisation of the open source ecosystem and the proposition to distribute the money to the community, Diakomichalis emphasised that the main goal of oscoin is to motivate the people who maintain projects to keep doing it.
“Most of the developers start open-source projects not for money,” he said. “They often do it when they have a problem and want to have fun solving it. Also the appeal of gaining a reputation in the community plays a role… but it's not about money.
“Then, when the project catches the interest of the community, they have to maintain it, working evenings and weekends. That's where the disconnect often happens. The maintainers have to review contributions and answer questions—that has nothing to do with coding, and developers like to code. Combined with no incentives to do this work, that's why maintainers often quit.”
To solve this, Diakomichalis wants the system to distribute part of each block of coins among the maintainers of the projects hosted on the platform according to how many tokens were “staked behind” them. In addition to that, there are optional additional monetisation mechanisms, such as paid-for prioritisation of issues, licensing deals, etc. Developers, on the other hand, can also earn oscoin by completing tasks created by maintainers.
“If, when the platform is live, developers can work on open source projects and make a living without compromising or selling out to companies, that's one aspect of success,” Diakomichalis said. In order for the envisioned crypto ecosystem to be successful, there has to be a good reason for people to buy into it by purchasing oscoin. According to Diakomichalis, demand will come from three different sources.
First of all, every participant in the system would need to be a token holder, while there is no subscription or any other fees involved. To kickstart the platform Diakomichalis plans to distribute about half of the minted coins among the developer community; latecomers, however, would need to cough up an entrance fee.
The second part of the planned demand would come from the people who would like to support open-source projects of their choice.
“Think about crowdfunding, but in this case, you're not funding it yourself; what you do is signalling,” Diakomichalis said. “So you buy a bunch of oscoins and put them to good use by staking them behind the projects you care about. This is similar to both donations and crowdfunding.”
On the third level, oscoin's ecosystem could benefit from people and organisations who want to influence the development of certain projects or purchase licences. The system would give the maintainers the tools to charge for things like premium support or issue prioritising as they see fit—all in oscoin, of course. Almost a year into the development of the system, oscoin has already raised €2 million in funding from BlueYard, Placeholder, Fabric Ventures, the founder of Coinbase Fred Ehrsam, and other investors. The current plan is to release a white paper that explains the architecture of the system before the end of summer, and another one covering the incentivisation mechanism by November.
By the end of 2018 Diakomichalis expects to launch a private beta to test out the system and release it to the public sometime next year.
“It's hard to say how long is going to take,” he said. “We all see that some parts of the blockchain infrastructure aren't there yet.”
The parts that are yet to be created include the solution for blockchain scalability, which has been a hot topic in the community for a while. Diakomichalis is certain, however, that all the teething problems will get solved soon, allowing him to reveal oscoin to the open source community in time.
The platform plans to rely heavily on the developer community to create applications and solutions on top of it. The eight-strong team expects to ship the infrastructure and bootstrap the basic apps by the time the private testing of the system begins.
“The most important thing is developer experience,” Diakomichalis said. “If the platform doesn't work as expected, nothing will help. So we're focusing on experience and addressing any concerns. We're building a truly decentralised infrastructure that is owned by the community, not us.”
Speaking about the plans for further down the line, he noted that ultimately oscoin will be governed by a foundation, while the company he's leading would become a minority stakeholder.
“We saw a $7.5 billion acquisition ,” Diakomichalis added. “But the communities did also contribute to that value chain, and a lot of developers joined GitHub because the community of the project they cared about was there. But the community has received none of that money. Is this the platform and the model we wanted to build? The community saw zero value of this acquisition. We want to build something where the distribution would be fairer.”