Cloud Collaboration: Why You Should be Looking at Github and Related Services
Over the last few years, the word “cloud” has become attached to nearly everything computer-related. This obscures the fact that the cloud and cloud computing are revolutionizing the ways we collaborate and deliver products and services. In order to understand how things have changed and what cloud-based collaborating and delivery could look like, we need to look at GitHub.
The Github Phenomenon
GitHub is a massive social network dedicated to storing, managing, documenting, and distributing source code for programmers. Since its launch in 2008, GitHub has supplanted SourceForge, Google Code, and CodePlex as the primary open source repository on the web. Most major tech companies, including Amazon, Facebook, and Microsoft integrate their products and services with it.
In addition to hosting open source projects, it provides a range of commercial products and services. Increasingly, GitHub’s commercial offerings not only appeal to independent developers and startups, they are gaining acceptance with medium- and large-size corporations.
GitHub is not just for developers. Internet theorist and commentator, Clay Shirky, devoted an entire TED Global talk to GitHub and its potential impact. He cited initiatives to use it for managing and archiving the legislative process, promoting democracy, and local activism.
Git And Github
GitHub started as a web-based extension of the Git source control utility. It was originally developed by Linus Torvalds, of Linux fame, for open source Linux Kernel development. Since the project contributors are both remote and located across the world, Git was designed to provide, peer-to-peer based system, known as distributed version control.
In this model, each contributor commits new files or edits to existing files to a local code repository. When they are ready, these changes are pushed to a central repository and merged with the existing code base. While Git is harder to use than older or other distributed version control systems, it provides a higher degree of flexibility.
Why Github Matters
While one could argue that GitHub is just a fancier version of DropBox or Google Drive, most file sharing services are just a public folder, while GitHub:
-
Records and stores a complete and transparent history of project contributions. It also simplifies managing and merging contributions from multiple sources.
-
Supports both distributed and centralized workflows. Contributors can pull and push contributions remotely from their local machines. Or they create and edit files on Github’s web site.
-
Provides a range of tools that includes documentation management, issue tracking, release management, and analytics.
-
Enables projects to create project homepages, using automated tools and templates.
Apart from its collaboration tools, GitHub is becoming an important tool for delivering and deploying cloud-based projects. Specifically, all the major cloud providers and services enable you to deploy projects from GitHub. With the rise of continuous delivery and deployment methodologies on the one hand, and the increasing use of cloud services on the other, the number of enterprises using GitHub as a deployment platform will increase.
Github’s Influence
As GitHub expands into new areas, and tries to attract non-technical users, we are also seeing the rise of a number of GitHub type services. For example, instead of writing this article in Microsoft Word, I decided to use a new web-based service called Drafts. Using the popular Markdown markup language (also supported by GitHub and StackOverflow), Drafts lets you create, share, and publish documents in a browser. Drafts is trying to be the GitHub of documents. It is not alone. Recently, a similar service, called Quip, launched its mobile and web document platform.
Proceed With Caution
The adoption of cloud-based services is being driven by a mixture of falling prices, convenience, and ease of use. This may be part of the reason that the Andreessen Horowitz venture capital fund, invested $100 million in GitHub.
It should also be noted that GitHub and other providers are not immune to the serious security, regulatory, and management issues, associated with cloud computing. In early October, GitHub was the target of a distributed denial of service (DDoS) attack on its servers. As more companies use GitHub’s services and infrastructure, its potential benefits must be balanced against the risks.
Final Thoughts
Over the next few years, it is quite possible that the GitHub phenomenon will pass us by and we can continue to collaborate and delivery projects using current practices. While I am willing to concede that it might not be GitHub, there is a strong possibility that we will be using an on-premise or vendor-based service like it.
If you want to get a head start, there is a wide range of articles and tutorials on the web. You can also take a look at the repository for my Maps of Love project, written to support the tracking of riders participating in a trans-Israel charity bike-a-thon. The project’s home page is also hosted on GitHub.