Github does have per seat pricing (for their enterprise product, which is meant to be hosted locally): https://enterprise.github.com/pricing - it costs $21/seat/month. With their per repo pricing I'd imagine they are more likely to earn more revenue per user, since so many developers will end up having many old pet projects in private repos sitting there.
BitBucket's pricing is at $1/seat/month in the worst case though (assuming you match one of their intervals there). But yep I agree, Github is surely significantly more profitable than BitBucket.
Definitely agreed - I use BitBucket to store some private projects, which also means I don't pay them anything (yet). Seems not terribly profitable - I keep a backup elsewhere assuming Bitbucket will go down eventually from lack of funds!
A while back my team switched to from an internal SVN system to BitBucket. We're now buying into the Atlassian OnDemand platform so it was definitely #2 for us.
The Github enterprise version is unrealistically expensive.
We (a dutch 'embedded' software company of about 300 developers) currently use SVN for our version control. We use some tool, of which I forgot the name, to simplify managing repositories and permissions. This costs us a couple of hours per year in maintenance and support, and the tool cost somewhere around 1500 euro. Hours go for around 80 euro's here, so lets say 3.000 euro TCO per year.
For us having code in the cloud (read within reach of the US government) is not an option, our customers will not allow it. I believe our insurance will not even allow that. Also we need to have Ldap/Active Directory integration; Ldap is the only way we can effectively manage authorisation between a large amount of services.
Looking at all the alternatives, Atlassian Stash, Gitstack, etc. Github is by far the most expensive(75.000 per year). Right now, we have decided that setting up a Gitblit server ourselves, will be the most cost effective.
There is no way I can convince my boss that using Github will save us 60.000 euro per year.
Fully agree with you. I use a private git repo on my own cloud server (west europe based).
Github make full sense for open source projects, with easy forking and pull requests. However, I dont see any advantage to take a private repo, even worst at the price they propose, and hosted in a complex legal context.
When I learned about GitHub Enterprise I was very happy thinking that we can finally switch to Git (currently we use SVN) only to be saddened by their pricing. We have around 5000 employees, GitHub price for 500 seats is 125,000$, this is incredibly expensive. Judging by their pricing they don't want big companies to be their clients as simple as that. Atlassian for example had a lot of grief with us simply because their products didn't scale that well past 5000 users.
I doubt that they will cut the price to 100,000$. Why 100k$ because that's more than we pay for ALL Atlassian tools taken together. GitHub just does not provide that much value to cost that much.
Fair enough. So far we decided to stick to SVN, I might contact them in a couple years. Who knows maybe by then it will be cheaper.
> Where do you think the largest cost in an app like this comes from? Especially the onsite installed version? It's in support of the users.
Absolutely agree with that, this is the reason why we prefer unlimited licenses. I work at research facility and every year we have thousands of newcomers who stay here for several months and then leave, we simply cannot take on us management of their accounts.
I'd imagine that with 300 developers, a good fraction of them already use git and github for their own projects, and so they would be comfortable with using the interface. Not that SVN is a bad choice -- depending on your company's workflow, familiarity with git and the need for more localized version tracking there are tradeoffs in either solution.
However, even if you're counting 60.000 euro per year, it's not really such a large number when you consider that you have 300 developers. Saving on average 7~ hours per developer per year in work efficiency would more than make up for the fees, but the costs of switching over and perhaps picking up a new version control is also something to consider.
I think the reason its priced like that is its far more profitable than any other way. Developers like loads of repo's for their many side projects etc.
Just a note though, if you're a consulting company and cant afford $200 a month for the 125 repo's, you should be charging more.
Github's extra features aren't all that useful to us though - certainly not worth the extra expense.
And yes, I do know that rates should be increased and that even 200$ a month are a drop in the bucket to some startups - but not to all startups, especially non US-based ones.
Just set up ssh on your own server and voilà... free unlimited repos.
sure you miss out on some tools. But what's more important... repo storage/usage/access/privacy or a pretty graph of your commits? Perhaps catting a ssh key to the end of a text file is a bit too much complexity for a company who claim to be selling themselves as expert software solutions developers.
And if you do want all that, it does exist and is available to install on your own host.
All for £20 a month. Not even hard to set up multisite replication etc.
Because it's more work to do. Instead of setting that up, you could be working on your product. The company I work for does the same - code is all hosted locally, emails were (until recently) hosted locally, document sharing too. It was cheap but every so often there'd be a problem and it'd go down for 15-30 minutes, which would cost a few £1000 in lost productivity.
If you are of a significant size you will want to have a release or build engineer anyway who will normall be the person who takes ownership of these things. If not then it will be your office unix guy.
I'm also not a fan of quantifying productivity lost in ££. When someone has a bowl movement do you chart that against company productivity?
> If you are of a significant size you will want to have a release or build engineer anyway who will normall be the person who takes ownership of these things. If not then it will be your office unix guy.
We have a sysadmin who looks after the servers. However, bad things can happen. If he was able to spend all his time working on these problems, they wouldn't occur, but he has other responsibilities too. Should we hire someone else? No! It's cheaper and more reliable to outsource these responsibilities to a team working 100% of the time on it.
> I'm also not a fan of quantifying productivity lost in ££. When someone has a bowl movement do you chart that against company productivity?
I don't understand your point. There's a big difference between going to get coffee, go to the toilet, etc - which is normal, expected and accounted for - and having large parts of the company unable to work because particular services are down.
> Should we hire someone else? No! It's cheaper and more reliable to outsource these responsibilities to a team working 100% of the time on it.
Well if he did a good job it would be adequately mitigated. This isn't 1997. It is trivial and cheap to set up reliable redundant systems. Outages happen. But not very often if you have done your job half right. Hopefully so rarely that you decay to near zero.
> and having large parts of the company unable to work because particular services are down.
If it was real time critical yes. But tis a distributed VC we are talking about. Just wait 15 minutes to push and spin your build to the customer. It isnt the end of the world.
I think you're missing the point: We could spend extra time doing any number of things ourselves. When it comes down to it, shipping, being productive, and being reasonably efficient are much more important than "just doing it yourself". Especially if you are a tiny-small company, you should not be doing it yourself. You should be battling for success and survival.
Not doing it yourself may mean going with BitBucket for some or all of your private repos, in this case.
I agree that a per seat pricing model is better because it is more predictable and relates to the value a company gets. We plan to use such a model on GitLab.com http://blog.gitlab.com/pricing/
Also, if you self-install GitLab it is completely free (MIT license).
Out of interest, how would you say you compare to BitBucket? Your given plan structures seem to suggest that their pricing structure per user is superior.
"A startup with 30 repos and a team of two is completely free." Same with them.
"A professional plan with 60 repos and 5 collaborators is $9 per month." 5 collaborators is free with them.
"A business plan 150 repos and 10 collaborators is $72 per month." BitBucket supports teams on all plans. That plan would be $10, although I will admit I haven't used their teams feature so you may have superior functionality there.
Self-hosted sounds great though, that's a really cool move.
Your idea of only increasing in small steps is interesting, and I can see why you'd do it like that. I imagine $1/user fully scaling is probably impossible - it's probably unfair to compete when Atlassian might even be running Bitbucket at a loss and you presumably have no other major products under the same company. I can see how you'd be better value in some way at certain boundaries in price points - but I'm not convinced you'd ever become cheaper. I haven't drawn the graph, but if you used the full 25-50 jump, going from 25-50 users eventually, thats a $75 increase on your service. I see where you're coming from, but the scalar of 3x per user is probably too high for them jumps to become significant.
Fair enough, Bitbucket does have a free one, but I haven't used Jira which is obviously more powerful. You may well be better there.
And again, allowing self hosting is a really cool move. I'd definitely consider it because I think the cost, even with Bitbucket, would soon become significant compared to the one time cost of a server.
In all honesty, I might be being completely unfair. I'm comparing Bitbucket alone and it's main options. You have teams, Bitbucket does, but yours could well be better - maybe Atlassian's Confluence is a fairer comparison. Same with issue tracking, Bitbucket does have it, but maybe you compare better with Jira. If you would say your service compares fairly to Bitbucket, though, I don't really know how you can improve it short of cutting the $3/user/month, which I imagine isn't a reasonable request. If that's not going to happen, which I'd expect is the case, the way you scale is probably fairest.
I would say to look at the business package and what you're offering though - if it competes with Confluence you're priced fairly, but if it competes with Bitbucket's standard team features, I think that's significantly overpriced.
I guess that "might even be running Bitbucket at a loss" makes it hard to compete with Bitbucket on price. And Bitbucket is a good product and Atlassian is a great company. I don't think GitLab should be compared with Confluence.
Maybe I'll switch GitLab to a simple plan based pricing model and compete on its strengths:
1) Advanced permissions
2) Can run your own server for free if you ever need to
3) CI server integration with GitLab CI (coming soon)
Yep, it's fair enough that you probably can't compete on that, so strengths are probably a better way to go. The second one especially, that's really cool - and advanced permissions are probably where you want to be to top Bitbucket's team features. I haven't really used CI, but I've seen a few repos on Github using it and it looks like a neat thing to integrate.
We want to make sure that the pricing only increases in small steps.
Many of your users are not price sensitive, at all, and they have a very different definition of what a "small increment" is as compared to you. For example, for a company which has 10 full-time devs, anything under $1,000 rounds to zero. If you tell them "Good news! Instead of asking for an extra $25 we ask only for an extra $5" you're telling them something which is not valuable to them at all, and it might actually be negatively valuable for them. (For example, if it causes you to make the app most responsive to the needs of people who think $25 is a lot of money instead of companies with 10+ employees.)
Github really only makes sense for open source projects.
If you are small shop with private repos, bitbucket does everything github does for free
If you are small-med+ shop you can pay per user and you should really be considering a more enterprise level of project management other than "issues and wiki docs"
First you'll have the money to pay Atlassian for all their tools, and second you will discover you can't live with out them once you have them and will rarely, if ever, visit the bitbucket page for a project (which is a "Good Thing" imo)
Agreed, Github does not make sense for small consulting companies. We have hundreds of repositories (way more than the Github top plan) and only 10 employees. We have been hosting our own git server (previously Gitorious and now Gitlab) and haven't looked back. Way more economic than Github enterprise. I guess these days Bitbucket or hosted Gitlab would also be a reasonable alternative.
We solved that by having the client decide on the code hosting. If the client decides for Github, he is expected to create an Organization and pay for the private repos he uses.
What kind of clients do you have? If I asked my clients what code repo to use and then asked them to set up a github org, they laugh me out of their building, probably making some sort of comment that I turned my problem into their problem.
Maybe you have tech-savvy clients who care about source control. Mine only care that I do what I said I'd do when I said I'd do it.
Large and small companies, most somehow technology-minded, but not fully.
The ploy is easy: if they set up the org, they have full control over it, even in the case that everything goes downhill and all of us get hit by a bus. Most people nowadays have seen a tech project going downhill with the freelancer leaving with the keys for the castle.
It might stink for you, but if you put it down in rational terms it's not actually much. If you start with a Micro it's costing you $5 a month, which (without knowing how much you charge per contract) is probably about 10 minutes work on one contract. 10 minutes of work for all the GitHub goodies.
We all want things to be cheaper, but sometimes you need to rationalise things off and realise whilst they emotionally look expensive, they're actually really not when you work out what the cost is to you in terms of work to cover it.
Put it this way, if you go to BitBucket (they're great as well! Highly recommended!) you'll save money, but lose the headline features of GH. For you this may or may not be a big problem. If you go down the self-hosted route (super valid!) then you've got a specific amount of admin time that needs to be put in per month by either a dev or sysadmin and that's more than likely to either cost the as much or more than GHs pricing.
Pricing is hard, but GitHub is pricing where GitHub needs it's prices to be.
I agree and I wish I'd written this article myself. One of the great things about git compared to the version control systems of yesteryear is that it's lightweight enough and (with Github) discoverable enough to make many small repos a viable development pattern. I never liked the old giant-repo-for-all-the-code system, although I understand it's still popular at Google and many other large shops.
I think what really rankles is that it fires up my developer edge-case sense. Wait, so you mean I can have one repository of 100MB, but if I have two of 50MB that costs more? Bits are bits, so why are you punishing one particular factoring of my data vs another? That's like charging for S3 per top-level directory, or for iTunes by album. I feel like charging per repository makes you feel bad about making more repositories, which can often lead to feeling bad about good decisions.
Also, realistically, a cost per developer is so miniscule compared to the overall cost of that developer. The proportional cost per project is much higher, particularly if it's some skunkworks side-project and you're the one trying to explain why you should double how much you're paying github so that you can have a live coffee consumption dashboard for the break room.
It might be irrational, but it's the truth - we associate costs together in buckets, and Github is associating itself with the wrong bucket.
Bits might be bits, but you aren't paying for storage. If you are, just get a 1TB hard disk for $50 and have more space than you'll ever need for repos.
You're paying for Github, and it's not priced by bits stored.
I think the idea is that all the stuff Github gives you scales pretty much linearly with the number of bits you're storing. Bigger repo = longer commit history; more commits = more issues tracked, more features, bigger wiki, more forks, etc.
When you split a project into two subprojects that are fairly equal in scope, each one will likely get just about half of the number of tickets/wiki articles/forks made that the original would have. So making a new repo isn't adding overhead for Github in any marginal way; the overhead would be there either way, as long as that original repo was being used to do the work of two sub-projects.
This is precisely the reason why we switched from github to unfuddle. Why should my developers start rationing for repos and start putting everything in one large repository, just so that we don't hit the limit with github. For example, we use node.js heavily, and I would like create npm modules that can be shared across repos, and put them in a repo of their own (so npm can install them). Github's pricing forces me not to do this, and discourages code reuse.
I used to be a big fan of Unfuddle, and I still have an account there, but the reality is that all of the integrations I use (CI is the most recent one) work great with Github and not at all, or are much harder to configure, with Unfuddle.
Github is creating value with their ecosystem, which is great for them, and, since the code is all in Git, not a complete lock-in if you choose to move.
Lots of assumptions there. The largest cost of operating GitHub is certainly not storage, but the whole server infrastructure and employees. That's what you're paying for.
Otherwise, just put your repos in any online storage service, it's much cheaper, but then you don't get Github :)
Agreed, but even worse than that, it makes GitHub's pricing O(n^2) with time. If a project involves creating a repository and then leaving it up when the project's finished or in maintenance, that costs money forever; and if a person creates such projects at a fixed rate, then that gets unreasonably expensive.
Agreed, but even worse than that, it makes GitHub's pricing O(n^2) with time. If a project involves creating a repository and then leaving it up when the project's finished or in maintenance, that costs money forever; and if a person creates such projects at a fixed rate, then that gets unreasonably expensive.
I use both: I stick my private repos up on Bitbucket (where I don't need to show them to anyone, and thus pay nothing), and my public repos on Github (where I don't need to hide them from anyone, and thus pay nothing.)
And I don't miss Github's collaborative features in my private repos because I'm not collaborating in those :) Bitbucket is literally just "a place to push my repo where it'll be safe" for me[1]; Github is "a place where I can collaborate with others."
And you know what? You can even use both for a single project. Push your public branches to Github, accept patches, then base a private product on the result [just some extra non-pushed-to-public branches] and work on that in Bitbucket. For example, you could have, say, the Chromium codebase on Github, and then Chrome on Bitbucket.
[1] Well, okay, Bitbucket is also pretty good for doing deploys from: you can CNAME git.yourcompany.com to them, set up some Deploy Keys and Deploy Hooks, and it'll feel just like you had your own internal repo server for your deploy server to talk to.
Yep, this is exactly what I do. Though I will start collaborating on a private project beginning June and I am not sure how Bitbucket fares in that regard? Any experience with that?
I'm collaborating on some projects on Bitbucket and it has pretty much everything you need. It doesn't have some of the nice little touches that Github has like autocomplete emoji etc, but nothing that wouldn't make me miss Github if I had to move over to it 100% for private repos.
So from one consultant to another consultant, what do you say when a potential client starts to say "Actually, we don't think we can do this engagement, because $X is too much" where $X is some number in three digits?
I don't think he's saying that its too much, its that there is a cheaper option with better financial predictability, and that is why he's not using github. Its more of a heads up to github, paraphrasing : "if you want our business, this is the kind of plan that we like to buy, it solves our pain points, which for us is stability of pricing" or similar.
I don't know how many private repos I will be using in a year, so I pay for what I'm currently using. It may go up or down, and my plan will be adjusted accordingly.
If the problem isn't the on-my-credit-card-statement cost for the service that you'd use, and is instead a philosophical disagreement with how the cost is calculated... that's just a little bonkers.
Its not an abstract point. My costs may go up, without my income going up, if I need more repos, which I can't necessarily predict in advance. I then either have to eat the extra cost or go cap in hand to the client because part way through the project or starting the next stage we've restructured the way we're using repos. Maybe we should plan better in advance, but with the other service he is using he doesn't have to.
I have to agree with this - yes, the limitations are frustrating (talking to a guy with 25 repos.) but I am not in the business of finding cheap ways to deal with a pretty core piece of useful functionality when its barely the cost of my home internet.
We've also been discussing this recently where I work. Our problem is that the small wordpress projects quickly eat up the repo quota.
The price isn't a problem, but their largest plan only gives 125 repos, which we'll reach relatively quick at this rate. Enterprise is not an option, as we're not really interested in hosting and maintaining it ourselves.
They do however say "If you need a plan larger than Platinum, contact us for details about our larger business plans." Does anyone have any details about what their larger business plans consist of?
Most likely we'll eventually migrate to Bitbucket.
I'm in a similar position. I'm a freelancer, and I have quite a few clients for various Ruby/iOS/Node projects. I need more private repositories, but the jump to Gold is too much for my business.
The issue is largely down to older clients that I only occasionally do maintenance work for. I've got about 15 of these, and they cut into my private repo count. Of course, it's easy to dump repositories on a server, which I have done in some cases, but I find my clients often like GitHub's interface. I've also put a few onto Bitbucket to give myself a bit of breathing room, this works well when projects are effectively 'archived' and have little client involvement but are still running.
I'm thinking about using GitLab, but I'm wondering about the amount of effort it'd take to maintain it. Cost for GitHub/Bitbucket vs. time to maintain another web application? Hmm...
> Cost for GitHub/Bitbucket vs. time to maintain another web application? Hmm...
Both Github's and Bitbucket's prices max out at $200 a month; if you're a freelancer, that's worth about 2 - 4 hours of your time per month. That amount is easily spent on hosting/managing your own repositories. If you can avoid spending 2 - 4 hours a month on repositories, go for those.
If you bill 160 hours per week and work maybe 200 hours, that’s still 1.5 to 2 percent of your time. I would call that non-trivial and worth at least looking into.
And my point is that a cost that’s 1 to 2 percent of your revenue every month is worth looking into and possibly reducing. Even if you decide to keep it for the time being, it’s worth revisiting every couple of years or so.
The only reason I have a bitbucket account is because github's pricing model is so bad. I even wanted to pay for a small account, but 5 or even 10 repos is nothing compared to my number of repos.
In business cases like this, a bad tradeoff is being made. There may be some amount of money that their repo based pricing might make them over a per-user model. If they leave that money on the table though, they'd shrink what is left for their competitors and make themselves harder to disrupt. They would also get a greater pool of accounts that may grow to paid-status.
I think the GitHub pricing model is excellent - and super cheap. I have multiple accounts and I happily pay for all of them - the value of not having to use a bad interface like bitbucket is far larger than the price for GitHub.
With a cost of 200$ for 125 repos, it is less than 2$ per client - if thats a problem, I think you should rethink your business plan. Keep in mind, nothing prevents you from removing clients you didn't work on for e.g. 6 months and put them on a NAS (although I would not do that myself)
> With a cost of 200$ for 125 repos, it is less than 2$ per client
Something that I keep seeing go un-mentioned is that all GitHub users are not software consultants in the traditional sense. For those that have an actual product and own their code, this breaks down very quickly.
For example, at Pathwright, we have a growing number of private repositories that are various components of our platform, marketing sites, one-off static sites we do to for various things, and etc. We have butted up against our limit several times now, though only a few of our many repositories see regular activity. GitHub is making excellent profit from us, given that we are under ten employees, and the vast majority of our activity is in 2-3 repos at most.
The point of the article is that their model doesn't make complete sense for everyone. I think this is a very valid point. He also [correctly] concedes that the BitBucket model doesn't work for everyone.
In other words, this is a subjective piece that is billing itself as subjective. It is meant to provoke thought about pricing models without declaring one way the "best" way.
Github costs just over $1 per repo per month. If the projects you're consulting on generate less revenue than this you've got bigger problems than Github's pricing.
It's very clear that their pricing model stinks. I told it to Scott Chacon once, his answer was something like "yeah, we have to make money too, whatever".
reply