Private DVCS Hosting
While using Github and Bitbucket for hosting and collaborating on open source projects is great--and not to mention free of charge--I have several repositories with personal and client related code which needs to stay private (like wasitup's source). Most of these repositories are quite small, weighing in under one megabyte. I quickly realized that I had reached the maximum number of private repositories on Github and Bitbucket for my plan while using less then one percent of my alloted disk space.
I'm equally satisfied with using Git and Mercurial--both have their own strong and weak points--so I went out and searched for alternatives offering support for one or both of these DVCSs.
Please note that this is a fairly high level overview of DVCS hosting providers where I focused mainly on price for private repositories and allocated disk space. When selecting a provider you should probably take a closer look at how easy its offering is to use, how stable and available it is, and that it provides the features you need.
Note that all mentions of repository count (including all values in the "Repos" column in the following tables) are referring to private repos only, not public repos.
Git and Mercurial
A few providers supports both Git and Mercurial repositories. While support for both of my favored DVCSs is convenient, there is a possibility that the lack of focus on one system results in a less integrated user experience.
Codebase
A fairly polished interface with a repository browser, ticketing with milestones, time tracking, and wikis.
Repos | Storage | Monthly cost | $/repo | $/GB | |
---|---|---|---|---|---|
Free | ∞ (1) | 0.02GB | 0 | -- | -- |
Tiny | ∞ (3) | 0.5GB | $7.72 | 0 | 15.44 |
Small | ∞ (15) | 2GB | $20.06 | 0 | 10.03 |
Medium | ∞ (30) | 4GB | $32.41 | 0 | 8.10 |
Large | ∞ (60) | 10GB | $61.73 | 0 | 6.17 |
In Codebase one project can have several repositories. While all plans allow for an unlimited number of private repositories, there are restrictions on how many active projects are allowed. The parenthesized numbers in the "Repos" column represents this limitation. One can have an unlimited amount of archived projects though.
The free Codebase account don't support time tracking and wikis, only the repository browser and ticket system are usable.
Repository Hosting
Uses the popular Trac open source project management tool with several plugins (e.g. time tracking, agile workflow). Offers daily backups directly to your own S3 account.
Repos | Storage | Monthly cost | $/repo | $/GB |
---|---|---|---|---|
∞ | 2GB | $6 | 0 | 3 |
Repository Hosting offers a single plan. If you need to grow, 1GB of additional storage is $1 per month:
Repos | Storage | Monthly cost | $/repo | $/GB |
---|---|---|---|---|
∞ | 6GB | $10 | 0 | 1.67 |
∞ | 16GB | $20 | 0 | 1.25 |
∞ | 46GB | $50 | 0 | 1.09 |
Assembla
When creating a new Assembla space you have to select from various preset configurations or build your own by selecting various tools (e.g. wiki, tickets). To confuse matters, Mercurial repositories comes bundled with a Trac instance, while you can create free standing Git repositories which can integrate with the other Assembla components like ticketing.
Repos | Storage | Monthly cost | $/repo | $/GB | |
---|---|---|---|---|---|
Free | ∞ | 2GB | 0 | -- | -- |
Single | ∞ (1) | 2GB | $24 | 0 | 12 |
Group | ∞ (10) | 5GB | $49 | 0 | 9.8 |
Professional | ∞ (20) | 20GB | $99 | 0 | 4.95 |
Enterprise | ∞ (200) | 50GB | $249 | 0 | 4.98 |
In Assembla one space can have several repositories. Similar to Codebase's restrictions on projects Assembla has restrictions on how many spaces are allowed for each plan. The parenthesized numbers in the "Repos" column represents this limitation.
The free Assembla account don't support Mercurial repositories, only Git.
SSH Control
The simplest offering in this comparison. Provides you with a web interface for managing repositories, users, and SSH keys.
Repos | Storage | Monthly cost | $/repo | $/GB | |
---|---|---|---|---|---|
Free | 1 | 0.003GB | 0 | -- | -- |
Basic | 8 | 0.2GB | $4.75 | 0.60 | 23.75 |
Premium | 32 | 1GB | $9.75 | 0.30 | 9.75 |
Git
Github
Probably the most popular provider for private repositories in this comparison. The level of mind share which makes Github great for collaborating on public repositories becomes moot when working on private repositories. Provides the nicest repository browser of the bunch, but their issue tracker is arguably not that great.
Repos | Storage | Monthly cost | $/repo | $/GB | |
---|---|---|---|---|---|
Micro | 5 | 0.6GB | $7 | 1.40 | 11.67 |
Small | 10 | 1.2GB | $12 | 1.20 | 10 |
Medium | 20 | 2.4GB | $22 | 1.10 | 9.17 |
Large | 50 | 6GB | $50 | 1 | 8.33 |
Mega | 125 | 20GB | $125 | 1 | 6.25 |
Giga | 300 | 60GB | $300 | 1 | 5 |
Unfuddle
Provides a well integrated set of tools including a repository browser, ticket system with milestones, time tracking and wiki like notebook pages.
Repos | Storage | Monthly cost | $/repo | $/GB | |
---|---|---|---|---|---|
Free | ∞ (1/0) | 0.2GB | 0 | -- | -- |
Micro | ∞ (4/4) | 0.5GB | $9 | 0 | 18 |
Compact | ∞ (10/10) | 2GB | $24 | 0 | 12 |
Corporate | ∞ (20/20) | 4GB | $49 | 0 | 12.25 |
Enterprise | ∞ (50/50) | 10GB | $99 | 0 | 9.90 |
One Unfuddle project can have several source code repositories. While all plans allow for an unlimited number of private repositories, there are restrictions on both how many active projects and archived projects are allowed. The parenthesized numbers in the "Repos" column represents the limit for active and archived projects respectively.
Beanstalk
Delivering a super slick interface with a repository browser and integration with third party issue tracking systems. Also includes FTP deployment tools.
Repos | Storage | Monthly cost | $/repo | $/GB | |
---|---|---|---|---|---|
Personal | 10 | 3GB | $15 | 1.50 | 5 |
Team | 15 | 6GB | $25 | 1.67 | 4.17 |
Business | 30 | 12GB | $50 | 1.67 | 4.17 |
Corporate | 65 | 24GB | $100 | 1.54 | 4.17 |
Giant | 150 | 48GB | $200 | 1.33 | 4.17 |
Codaset
A well integrated set of features including source code browser with code review support, issue management system with control over worlflows, wikis, and blogs.,
Repos | Storage | Monthly cost | $/repo | $/GB | |
---|---|---|---|---|---|
Free | 1 | 0.2GB | 0 | -- | -- |
Up to 5 Projects | 5 | 1GB | $5 | 1 | 5 |
Codaset has an interesting pricing model when you move over 5 private repositories. For 6 private repositories you pay $0.04/repository per day. Each repositry includes 200MB of storage. This works out to the following numbers when calculated up to the thresholds used in the summary of this article:
Repos | Storage | Monthly cost | $/repo | $/GB |
---|---|---|---|---|
8 | 1.6GB | $9.73 | 1.22 | 6.08 |
16 | 3.2GB | $19.47 | 1.22 | 6.08 |
41 | 8.2GB | $49.88 | 1.22 | 6.08 |
XP-Dev
Includes a plethora of project management tools (iterations, stories, bugs, burndown charts, velocity charts, wikis, forums, blogs, and attachments) in addition to standard repositories with a source browser. If that wasn't enough they also seem to provide Trac instances. The whole suite seems quite complex and unpolished.
Repos | Storage | Monthly cost | $/repo | $/GB | |
---|---|---|---|---|---|
Pro Small | ∞ | 1GB | $5 | 0 | 5 |
Pro Medium | ∞ | 4GB | $15 | 0 | 3.75 |
Pro Large | ∞ | 10GB | $30 | 0 | 3 |
Enterprise Small | ∞ | 20GB | $50 | 0 | 2.50 |
Enterprise Medium | ∞ | 40GB | $100 | 0 | 2.50 |
Enterprise Large | ∞ | 100GB | $200 | 0 | 2 |
Indefero
A hosted version of an open source clone of Google Code. Provides the same features as the original Google product (e.g. source browser, issue tracker, code review, and documentation pages).
Repos | Storage | Monthly cost | $/repo | $/GB | |
---|---|---|---|---|---|
Simple | 50 | 0.01GB | 0 | -- | -- |
Business | ∞ | 1GB | $6.28 (£49/y) | 0 | 6.28 |
Enterprise | ∞ | 5GB | $25.52 (£199/y) | 0 | 5.10 |
Indefero has to be paid on a yearly basis in British pounds. Monthly costs used in the comparison were calculated from this yearly cost.
Mercurial
Bitbucket
The most popular Mercurial offering. Seen by some as a copy of Github, but I think we've settled that. Provides a source code browser and a fairly decent issue manager in addition to a wiki system.
Repos | Storage | Monthly cost | $/repo | $/GB | |
---|---|---|---|---|---|
Free | 1 | 1GB | 0 | -- | -- |
Amateur | 5 | 2.5GB | $5 | 1 | 2 |
Pro | 15 | 5GB | $12 | 0.8 | 2.4 |
Large | 25 | 26GB | $50 | 2 | 1.9 |
Team | 150 | 50GB | $100 | 0.67 | 2 |
Kiln
A fairly new product from Fog Creek Software which features a fairly advances repository browser, code review capabilities, and integration with FogBugz if you need a bug tracker.
Repos | Storage | Monthly cost | $/repo | $/GB |
---|---|---|---|---|
∞ | ∞ | $25 | 0 | 0 |
Kiln segments its plans based on the number of users one needs. For this comparison I've used the price of one user. There are no restrictions on how much storage you can use in Kiln provided that you don't do anything overly abusive (like using it for video storage).
Active State Firefly
Part of their suite seems to be based on Trac. In addition to a source browser, wiki, and tickets they provide time time tracking, burndown charts, forums, and blogs.
Repos | Storage | Monthly cost | $/repo | $/GB | |
---|---|---|---|---|---|
Solo | 1 | 0.5GB | $9 | 9 | 18 |
Professional | 5 | 1.5GB | $19 | 3.80 | 12.67 |
Team | 30 | 3GB | $39 | 1.30 | 13 |
Conclusion
For my own needs I'm only interested in the providers which don't impose restrictions on the amount of private repositories. This eliminates SSH Control, Github, Beanstalk, Codaset, Bitbucket, and Active State Firefly.
I've ranked the remaining contenders based on how much storage you get for your buck within three price categories:
Free
- Assembla Free: 2GB
- Unfuddle Free: 0.2GB
- Codebase Free: 0.02GB
Up to $10/month
- Repository Hosting 6GB: $1.67/GB
- XP-Dev Pro Small: $5/GB
- Indefero Business: $6.28/GB
Up to $20/month
- Repository Hosting 16GB: $1.25/GB
- XP-Dev Pro Medium: $3.75/GB
Up to $50/month
- Kiln (one user): Approaching $0/GB
- Repository Hosting 46GB: $1.09/GB
- Xp-Dev Enterprise Small: $2.50/GB
Kiln is obviously the most affordable solution if you're planning to store lots of data, but can get pricey due to the per user pricing model if you're working in a team.
Due to the restrictions on maximum allowed active projects or spaces you should probably ignore Codebase, Assembla, Unfuddle if you use project management features (e.g. ticketing, wikis, time tracking) together with each private repository.
I myself have signed up with both Kiln and Repository Hosting so that I can evaluate both more in depth.