DevOps Zone is brought to you in partnership with:

Robert is a South African technology specialist with focus on Microsoft technologies. He is very passionate about teaching and sharing and is a Microsoft MVP & Ranger. Robert is a DZone MVB and is not an employee of DZone and has posted 75 posts at DZone. You can read more from them at their website. View Full User Profile

GitHub: Why it's right for open source and (probably) wrong for you

08.07.2013
| 6385 views |
  • submit to reddit

For most of the software development projects in the world, GitHub is the wrong choice for their hosting needs. This is because for most of the world is NOT developing open source software and thus the pricing model for GitHub fights against you, as the GitHub pricing model is designed to charge the daylights out of those who do not develop open source software.

To help me explain this – let us look at two examples.

An open source example

imageWe will use Git itself on GitHub, as our example for open source. Here is a project that is open source and makes use of a three public repositories. Looking at git repository there have been 702 contributors to it. 

When you look at the GitHub pricing model this could be run on any plan, including the free one since we are only constrained to have no private repositories in GitHub (you can have unlimited public repositories) and unlimited contributors, which makes it perfect for open source.

When you apply the recommendation I mentioned in yesterday’s post about lightweight repositories to this model (with the free unlimited public repositories), it makes even more sense for open source projects.

A corporate example

The other side of the coin, is a company that is doing consulting or maybe in-house development work that needs to be stored somewhere and (for whatever reason), that work cannot be open sourced. Thus you will need private repositories & you will need a lot of them to follow the lightweight repository principals. Even if you do not intend to follow those principals, you may find that splitting up your repository in an organisational way still creates a lot of repositories.

For example: I worked at a small company (< 30 developers) who would deploy and develop on top of Microsoft CRM & SharePoint. There we split things based on customer (so each customer got a repository) and after 3 years we had almost 200 hundred repositories! For them to use GitHub by simply moving over would mean a custom price negotiated with GitHub, as GitHub doesn’t offer standard pricing to that level. If they changed their structure to properly follow the lightweight repository principle they could’ve easily have tripled the repository count!

So if not GitHub, then who?

In a company, you need to view the issue from the other way around – you need loads of repositories. However you also have another difference to open source, you have limits on something that open source cannot and really do not want to have limited: contributors. In a company you really are only going to have staff or people who are working on the project contributing – so limiting the number of people who are involved is useful. It also gives you an easy way to cost the hosting, because it really boils down to per head costing.

So who offers Git hosting, with unlimited private repositories and charges per head? There are two main players in this space and I have used both found both to be great solutions. BTW I also use GitHub & think it is great too – but for more for collaboration in open source.

BitBucket

Bitbucket-Logo-on-Mevvy_com_BitBucket, which started off life as the Mercurial hosting to GitHub’s Git hosting, now days offers Git too. Their model is pretty simple, unlimited private repositories and basically a cost of $1 per user per month. It is that simple.

TF-Service

4405.vs_heart_git_0670975AWho expected Microsoft to understand Git hosting do well?! They have understood it marvellously with their TF-Service offering which offers unlimited private Git repositories. TF-Service is currently free, but it won’t stay that way and my gut says Microsoft can’t compete with BitBuckets $1 per user cost.

The reason it can’t compete with BitBuckets pricing, is that that TF-Service offers more than code hosting. Microsoft offers build servers, work item tracking and more! Plus if you have Visual Studio Premium or Ultimatethen you also have a MSDN subscription, which means you will be covered by your MSDN subscription so it will be free.

Summary

This post is not about knocking GitHub – it is an amazing service & has changed the way the world interacts with code for the better. What this is meant to do is show you that even though it is popular, it may not be the best solution for you!

The REAL number one issue to avoid GitHub

While this discussion is about the pricing model (which is often ignored when choosing a platform), I do need to say what the number one blocker for GitHub is. This is also the number one blocker for TF-Service & BitBucket. Simply put it is my customers. Many of my customers will not give permission for me to host outside the company and in a foreign country and thus we need to run our own infrastructure to accommodate those customers.

Published at DZone with permission of Robert Maclean, author and DZone MVB. (source)

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)

Comments

Clemens Eisserer replied on Wed, 2013/08/07 - 6:38am

What are the expected benefits of hosting "in the cloud"?
All software companies I know run multiple servers and for most source code is something which you simply don't give out of your hands - ever!

James Moger replied on Wed, 2013/08/07 - 7:11am

 If repository hosting cost is an issue, why not self-host?  There are many solutions available for that.  Among them is <plug> Gitblit </plug>.

Jamie Bisotti replied on Wed, 2013/08/07 - 7:38am

Have you looked at GitHub Enterprise? It's basically self-hosted GitHub with a cost of ~$250/dev/year, which seems fairly reasonable. This includes all updates that github.com gets, soon after it gets them. We've been using it for about a year and are very happy with it.

Robert Maclean replied on Wed, 2013/08/07 - 11:43am in response to: James Moger

Totally agree! On premise is a valid option to the cost discussion. The reason I left it off was because I was only focusing on cloud based providers in this article.

Robert Maclean replied on Wed, 2013/08/07 - 11:53am in response to: Jamie Bisotti

I have looked at GitHub Enterprise and I think it is a brilliant on premise solution. 

The only issue I have, is surprisingly similar to their cloud offering: the pricing is very steep. 

If I compare the pricing to other on premise solutions, like that of Atlassian (makers of BitBucket, they have an on premise tool called Stash) or Microsoft (makers of TF-Service, they have an on premise tool called Team Foundation Server 2013) GitHub Enterprise is really are one of the more  expensive on premise Git hosting tools.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.