With a new version of its product in the offing and $4 million in Series A funding in its pocket, GitLab -- creator of an open source alternative to code-hosting nexus GitHub -- is setting out to expand its reach with enterprise customers.

While it seems nearly impossible for a third party to displace GitHub as a public code-sharing resource, on the enterprise side and behind the firewall GitLab may have a fighting chance -- provided a generation of developers already comfortable with GitHub don't simply opt for GitHub as a default.

[ Get the most out of collaborative programming with InfoWorld's 20 essential pointers for Git and GitHub. | Keep up with hot topics in programming with InfoWorld's Application Development newsletter. ]

Lab or Hub?

GitLab offers many of the same features as GitHub: It's a software repository with a Web front end and many workflow features. But GitLab is open source (MIT-licensed). GitLab can be hosted on the hardware of one's choice, inside or outside the firewall, without upfront payments.

The enterprise edition of GitLab, which comes at a cost, adds enterprise-specific features like deeper support for LDAP, workgroup-related functionality, and closer integration with other workflow systems like JIRA. But some features in the free, open source version also have enterprise appeal, such as direct importing of projects from GitHub and two-factor authentication.

GitLab claims to be flat-out better than GitHub, thanks to features like authentication levels for users and protected branches (although GitHub added a version of the latter earlier this month). Support for large binaries -- which GitHub has long been criticized for not handling well (although recent changes are meant to address the complaint) -- is also part of GitLab's package, albeit only for enterprise users. In addition, GitLab competes on price, costing $49 per user, per year, versus GitHub's $249.

GitLab claims another advantage for the newly released version 8: continuous integration built in by way of GitLab CI, also an MIT-licensed project. That said, GitHub offers Travis CI as a service that's free to open source projects; Travis CI's code is MIT-licensed as well.

Open means free, but does it matter?

There's little question that competition for enterprise code-hosting is fierce. GitHub rolled out its first enterprise offering in 2011 and has long professed its seriousness about the enterprise -- with or without open source. It has tried to appeal to enterprises by applying the well-known GitHub workflow to what happens behind the firewall as well -- not a bad idea, since the public-facing version of GitHub is as familiar to developers as YouTube or Facebook are to lay users. The company also has a huge war chest to work with, literally hundreds of millions of dollars in venture capital, thanks to its latest series B round.

Meanwhile, other competitors are also upping their game. Atlassian consolidated many of its code-hosting efforts under the Bitbucket brand and claims to be focusing more on the needs of enterprise development teams. Some of its new features, like better support for large files, echo GitLab's own efforts.

Where GitLab may have an edge is that any open source project inevitably results in a version that's perpetually free to use. GitHub Enterprise has a 45-day free trial, but open source comes with an implicit guarantee: What you see is exactly what you get. Modern developers are conscious of -- and highly allergic to and deeply vocal about -- the limits of free-to-use-but-not-open-source products, so GitLab will have some leverage.

Which is stronger: the open source allure of GitLab or the familiarity of GitHub? Rank-and-file developers who are already comfortable with GitHub -- including GitHub's quasi-proprietary feature set -- may decide GitHub and its associated technologies are open enough. The lack of an open source version of GitHub may be no an obstacle for them, and GitLab being open source may not prove enough of an attraction.