SCM and Enterprise: Andreessen Horowitz’s $100 Million Investment in GitHub

The two co-founders of Andreessen Horowitz, one of the Silicon Valley’s premier investment firms, have good reason to be considered serious experts in most all things related to technology.

Marc Andreessen got his start as a software engineer, working on Mosaic, an early web browser, and eventually becoming a co-founder of the Mosaic Communications Corporation, soon renamed to its far better-known title, Netscape Communications. Ben Horowitz is best known as a co-founder Loudcloud/Opsware, one of the first enterprise-oriented vendors of SaaS solutions. So when they announced earlier in June that their venture capital firm would be investing $100 million–its single largest investment in a company to date–in the online program management application GitHub, people paid attention.

Andreessen Horowitz’s portfolio of investments includes companies like Twitter, Facebook and Foursquare. In contrast, GitHub had bootstrapped itself entirely up until the announcement of Andreessen Horowitz’s considerable Series A contribution, which had been in talks last last November. Which is not to say that GitHub doesn’t currently have a presence in the business world. On the contrary, GitHub has already made a name for itself as the go-to web-based collaboration tool for many large programming-oriented enterprises including LinkedIn, Microsoft and Redhat. Now, with A.H. partner Peter Levine set to join Github’s board of director, GitHub seems intent on only furthering its advances as a default collaboration tool for the enterprise world.

What is Code Management?

GitHub performs the task of Source Code Management (SCM). For the uninitiated, source code is the grand codex behind what makes a specific program or application what it is. All that completely new code and/or borrowed code generated in a specific coding language is then compiled together into a (usually) functional program.

The process of reaching a finished-state, fully compiled release candidate is far from simple or linear however. Since modern programs are so massively complex, consisting of thousands if not millions of lines of code, duties are typically subdivided between different teams of programmers all operating inside the same department. Think of it a bit like the work that goes into making a movie–rarely will a production team film everything scene by scene in chronological order. Instead, the director will macro-manage, focusing time and resources on those parts that get priority on account of a confluence of scheduling, budget, producer demands (the need to have a working demo) and any other number of variables. He might spin off a second unit to go filming separate sequences, which at the end of shooting all have to be put together in the editing process.

The process of putting together an enterprise-level program or application works on a similar kind of workflow. Delegating work to different teams tends to maximize efficiency and overall capitalization of talent, but it’s not without its own specific challenges. Like the scenes of a movie, the different parts of code need to be edited together to work as a single cogent program. Conflicts or incompatibility between different pieces will quite frequently crash the entire program. Leading to angry cries of “who killed the build?” in the office. This is where SCM solutions like GitHub come into play.

Code Sharing in the Cloud

As a web-based application based off original “Git” by Linus Torvalds, better known as the creator of the Linux operating system, Github allows registered users to upload the code for projects, collaborate on work and propose edits. When a contributor wants to edit a piece of code, however, they don’t make their changes directly onto the master version of the source code, but instead engages in a simple three-step process:

      – Coder issues a

Pull

    request to the project lead for a proposed patch.
      – When approved the programmer uses the

Fork

    tool, generating a copy of a specific patch of code from the source which they can then edit however they please without actually affecting the build.
      – If the patch is approved to be part of the build, the project lead uses

Merge

    to seamlessly integrate the forked material into the master version.

Additionally, since projects are centralized on GitHub’s servers and accessed through their web interface, the service includes many enterprise social tools. Contributors on a project can message each other, and each user has a profile that logs every pull request and fork that they’ve worked on. This allows managers a direct look at the sort of work an individual coder does and gives them a feel for who would work best on a particular project.

Open source projects, which are visible and able to receive pull requests from any registered users, get free hosting on GitHub, whereas proprietary projects that require privacy and a closed set of users command a fee. Despite that however, GitHub has found widespread use among enterprises working in everything from home computing to defense research–a testament to the program’s great utility.

Code Management and the Enterprise

Despite GitHub’s generous offers of free hosting to open source and amateur products, it shouldn’t be assumed that its services are directed solely towards such setups. In fact, before receiving the $100 million from Andreessen Horowitz, the company’s bootstrapped nature was based entirely off the money obtained through businesses and research organizations’ payments for private project accounts. That long-time dependence on maintaining relationships with enterprise users is good evidence that the team behind GitHub is responsive to that demographic and will most likely stay that way going into the future.

One of the areas the company has expanded into more recently is GitHub Enterprise, a variation geared towards enterprise software development. Unlike the default system, Enterprise can be installed directly onto an enterprise’s servers, allowing for greater security and centralization of where projects are stored.

GitHub CEO Tom Preston-Werner has said that most of the investment money will go into financing an expansion of the company’s 100-strong staff with the objective of focusing on increased sales to enterprise clients and breaking into international markets.

Plenty of organizations have already come on board with the system in its current state. For its own part, Andreessen Horowtitz’s portfolio proves that it has a track record of throwing their support behind ventures who know how to provide essential services that produce big returns. Time will tell if this new focus and the fresh resources can boost the benefits GitHub code management brings to the enterprise environment.

Want more? Learn more about application development management software by downloading the Top 10 Application Lifecycle Management Software report.

Mark Aspillera: Mark is former member of the Business-Software.com marketing team. He contributed interviews, profiles and analyses on relevant subjects in the business technology field.