Skip to content

Motivation

ceresstation edited this page Sep 11, 2017 · 8 revisions

Motivation

The Rise of Open Source

Nearly all of the software we use (and often take for granted) today makes use of some part of the wide body of open source software built up continuously since at least the 1970s. Though the case for open source was traditionally disregarded in favor of closed source licensing models, building and contributing to open source is now the default. In fact, the general consensus is that if you’re not contributing to and building off of open source, you’re behind the curve. It’s no wonder then that a majority of companies (>67%) are actively encouraging developers to engage in and contribute to open source projects. And really, who would have guessed in 1998 that of the over 330,000 organizations with employees contributing to open source projects on GitHub Microsoft would be the largest.

Why Open Source?

  1. Linus's Law: Given enough eyeballs, all bugs are shallow. Open source projects can leverage the power of the crowd to find and fix bugs before they become critical vulnerabilities.

  2. Proof of Code: Closed source software relies on trust in a centralized party. If that party decides to act maliciously, whether that means building its software to cheat at chess or drain your bank account, you may not find out before it's too late. Although ownership of GitHub repositories is still centralized, transparency brings with it accountability.

  3. Enforce code quality and development best practices: While large centralized organizations can still stumble into bureaucracy and survive, open source projects cannot. That's why the vast majority of distributed open source projects by necessity follow some electronic, asynchronous, and lock-free workflow like Git to enforce code quality and accelerate development time through an agile approach (I apologize for the buzzwords above, but they really are relevant here). These workflows also provide a natural way to review the progress made on a given project and ensure that it's meeting its stated milestones.

  4. Stand on the shoulders of giants: Need a camera for your React Native app? There's an open source component for that. As the software world continues to embrace micro-service architectures the ability to grab the pieces you need to bring your project to life is invaluable.

Funding Open Source Projects

Despite the resurgence of open source, there are lots of projects without funding. And while Kickstarter and other crowdfunding platforms have made it easy for anyone to sell anything from gadgets to documentaries, getting support for open source software projects can be a bit more challenging.

But even when open source projects raise significant amounts of funding, that funding tends to go towards a small group of paid employees rather than to the total pool of project contributors. In some cases this is just because open source projects don’t have the funding to pay for the work, but especially in the case of larger projects like Mozilla the problem comes down to not having a mechanism to do it. GitHub repositories aren’t companies, contributors aren’t employees, and getting the bank account or PayPal information of in some cases 10,000+ contributors is simply not feasible.

So what we need is a way to pay pseudo-anonymous GitHub users for work they’ve actually completed that’s a) accessible to projects regardless of how much funding they have and b) doesn’t create a messy bureaucracy likely to include a Google Sheet of PayPal information with Equifax levels of security.

To us, this sounds like a job for smart contracts.

Introducing GitToken

GitToken is the first in a series of projects aimed at improving the way open source projects are managed and contributors are rewarded. GitToken leverages GitHub and the Ethereum blockchain to allow any GitHub organization to:

  1. Monitor its projects and view tangible performance metrics for associated repositories.

  2. Incentivize open source collaboration and raise funding for their contributions by issuing tokens that are directly associated with the work that is being done on the project.

  3. Offer instant liquidity for contributors through a secondary market for open source project tokens.

By leveraging GitHub and the Ethereum blockchain GitToken aims to make it easy for the open source community to crowdfund their projects while ensuring that funds are used to produce real code.

Want to learn more? The rest of this wiki will describe in detail how the GitToken system works. If you have any questions or suggestions along the way, feel free to submit an issue. This is an open source project after all.

Clone this wiki locally