Nobody launches a web site in the week before Christmas. This fact might be lost on many, but not on Daniel Heitz and Christian Schlack. In December 2013, Daniel and Christian were running a small web agency from Freiburg in Germany. After months of working at a frantic pace, Daniel, Christian and their team had finally had the time to reflect on the successful year, have a relaxed coffee at nearby coffee shop and plan ahead. With the pressure of deadlines gone, the team was lazing around the office, taking off the walls mock-ups of web sites launched in the past quarter, and finally taking that trash out of the storage room.
While the rest of the team was cleaning the office and talking excessively about startup ideas that all members of the team hatched on their own, Daniel was using downtime to do some bookkeeping. As he was checking his credit card statements, the $450 charge from GitHub caught his attention and he thought: “We’re a team of 5 people and we’re paying $5400 a year to store some files and chat about them? That’s way too expensive!” A quick glance at GitHub’s pricing page and the list of their repositories, had put Daniel’s brain to overdrive: “Of course, we’re a web agency, we create a new private repository for each new project. Once a private repository is created, it is never really taken down. The hassle is just too big to backup the repository and restore it when needed.”
Life at a web agency is full of excitement and the paycheck is decent, but building stuff for others all the time, makes one feel like a mercenary with no real sense of purpose. Daniel and Christian had a tradition of going to a retreat to Black forest and hack away on start-up ideas for a few days. But none of the ideas really stuck. The guys got enthusiastic about an idea, code it together for a few days, but once the Black forest retreat was over, they were back in their agency routine. Not this time! Based on Daniel’s and Christian’s initial hunch, they spend the time at the Black Forest retreat to code the initial version of BackHub, a service to backup and archive GitHub Repositories, and they have released it to the world in early January 2014.
At first glance, backing up GitHub repositories sounds like a trivial operation. Git is a distributed version control system, so each of the team members already has the full copy of the repository on his or her local machine. All one needs to do is to backup files somewhere safe, the same as is the case for other stuff on user’s hard drive. While backing up is relatively easy, the real nuisance is restoring files. You must create a new repository on GitHub, restore files locally, and then push everything to GitHub. And you lose all the threads discussing issues, pull requests are gone, and information about collaborators on the project is lost. All these issues (and more) are handled automatically by BackHub for just about three dollars per private repository backup per year, which is ten times less than what it costs to host a private repository on GitHub.
With GitHub quickly becoming a backbone of software development organizations, it has become more and more important that companies don’t lose their data (e.g. due to an incidental forced push), so Daniel and his team of three are focusing on providing additional backup options to BackHub such as allowing people to store their backups to their own AWS buckets. BackHub therefore provides not just a much cheaper way to store private repositories that are no longer in use, but it provides many functionalities that are badly missing in GitHub.