Skip to content

Motivation

ceresstation edited this page Aug 3, 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.

The Challenge of Managing Open Source Projects

Despite the massive growth in the creation of and contribution to open source projects and the realization that process for managing these contributions is still relatively informal. According to the 2016 Future of Open Source survey:

  • 50 percent of companies have no formal policy for selecting and approving open source code.
  • 47 percent of companies don’t have formal processes in place to track open source code, limiting their visibility into their open source and therefore their ability to control it.
  • More than one-third of companies have no process for identifying, tracking or remediating known open source vulnerabilities.

Worse, even the best managed open source projects have no immediate way to incentivize contributors even as new funding accrues to them. This often leads to just a few core developers doing the majority of the work on a given open source project, undermining the spirit of the open source movement and in many cases causing the project to stagnate.

So how can we help resolve these issues and restore balance to the open source universe?

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