Google Cloud Source Repositories vs. Bitbucket vs. GitHub: A Worthy Alternative?

View all articles

Without much fanfare, Google introduced a new version control platform, hosted on its vast cloud. If this sounds somewhat familiar, you may be thinking of Google Code, which is now defunct. The big difference is that Google’s new Cloud Source Repositories is a git platform, which means it is a lot more flexible (and useful) than Google Code.

Google Code was launched back in 2006, a couple of years before GitHub and Bitbucket appeared on the scene, quickly overtaking Google Code in popularity. Google finally pulled the plug on Google Code in March 2015, citing lack of interest.

Cloud Source Respositories vs Github vs Bitbucket

While this was the end of the road for Google Code, which fell out of favour years before it was officially pronounced dead, Google is not ditching the developer community. In fact, Google Cloud Source Repositories look rather promising, even at this early stage. Personally, I don’t expect a lot of people to ditch GitHub and transition to Google anytime soon, but the company has a way of attracting users to its services, even those that don’t look so tempting at launch. Google simply keeps pushing, polishing, innovating and offering incentives to new users. It usually works, although I am sure many of you are recalling a Google Plus joke or two right now. However, I am also sure Google is dead serious when it comes to this project.

Google is taking on GitHub and Bitbucket with Cloud Source Repositories.

Google Has The Muscle To Make It Happen

I’ve already mentioned two not-so-successful Google projects: Google Plus and Google Code, so you might be wondering why anyone should get excited about the new cloud repository, which is still in beta.

Well, for starters, Google has a good track record of turning betas into useful, popular and very dependable services. Thanks to its vast human and financial resources, Google should have no trouble developing Cloud Source Repositories into something more serious down the road, provided there is enough interest.

Google Cloud Source Repositories

Another trump card is Google’s cloud infrastructure. It is second to none; the company has a reputation for bulletproof stability, and thanks to economies of scale, it can usually offer more for less (compared to smaller competitors).

The other thing to keep in mind is that the new Cloud Source Repositories service is not exactly a replacement for Google Code. While both services cater to developers, Google Code was designed for collaborative open-source projects, and on top of code it also allowed the hosting of other types of content, such as documentation, wikis and so on. However, Cloud Source Repositories is more or less a traditional Git service. There are no bells and whistles, although there are a few features that should help speed up adoption.

Cloud Source Repositories vs. GitHub vs. Bitbucket

Google’s new cloud code platform does not appear to be taking on GitHub head on. Instead, Cloud Source Repositories (CSR) will allow users to connect to repositories hosted on GitHub or Bitbucket. However, everything is automatically synced to the Google Cloud Source Repository.

Each project on Google’s Cloud Platform has a Cloud Source Repository, which can be accessed and used by multiple users. The permissions are inherited from the Cloud project, so all the user has to do is add project members and set their permissions.

The good news is that a Google CSR can be connected to another Git repository hosted on GitHub or Bitbucket. All changes will be synchronised on both platforms, as you can set Google CSR to automatically mirror from GitHub and Bitbucket.

Remember when I said Google has a habit of making people use its services without even knowing? Well, integration with the Google Cloud Platform and automated mirroring, supporting two of the biggest Git repositories out there, certainly sounds like a service many users will find appealing. Remember, this is still a beta, so Google could make it even more tempting by introducing further integration with other Google services. Cloud Source Repositories already looks and feels like a natural extension of the Google ecosystem, but with a bit more integration it could be even better.

So how does it compare to GitHub and Bitbucket?

Github vs Bitbucket

Well, it’s still hard to say; it’s still a beta and no pricing info has been revealed. Still, it’s worth noting that GitHub and Bitbucket are closely matched in terms of features, although there are a few differences. For example, advanced users may prefer one or the other due to different billing models. It’s often argued that GitHub is a bit better for extra features and open-source projects, mainly because it hosts a number of major open-source projects. However, BitBucket may be a better choice for small and freelance developers because it offers more features for free (for example, unlimited private repositories with multiple collaborators). At the end of the day, it’s a matter of personal preference; both services are very good.

But what about Cloud Source Repositories? Personally, I think it’s still too early to say. GitHub and Bitbucket have been around for years, while Google CSR just made it to public beta a few weeks ago. The beta release is completely free to use, and you also get 500MB of storage for your precious source files. However, this, obviously, doesn’t paint the full picture. We have yet to see what Google plans to do in the long run.

While it’s still too early to get enthused, I am a cautious optimist and here is why:

  • Google may offer seamless integration with other services.
  • Pricing should be competitive.
  • Google tends to throw in a lot of freebies.
  • Mirroring GitHub and Bitbucket will make migration easy.

Unfortunately, we can only speculate at this point, so let’s leave it at that.

Using A Cloud Source Repository As A Remote

You can also add a Google CSR as a remote to your local Git repository and use it like any other Git remote.

You just need to install the Google Cloud SDK and Git, then proceed to add your repository as a remote. The process is straightforward and takes just a few steps. Since it’s well documented by Google, let’s not spend too much time on it.

Once it’s set up, you can use the Cloud Source Repository as a standard Git repository (standard commands such as push, pull, clone and log). For example, to push to a Cloud Source Repository, you need to use $ git push google master. You can also view the commit history, using $ git log google/master.

Once the files have been pushed to the Cloud Source Repository, they can be viewed, browsed, edited and committed from the Google Developer Console. Differences between the file at a specific commit can be accessed from the file contents view, by selecting the Diff Against selector. The Commit History button is used to view the contents of a file at a specific commit. While viewing a file, you can use Edit to change it and commit the change.

It’s Different This Time Around, Git It?

As I already pointed out, Google Code never became very popular, and was overtaken by Git-based solutions.

However, before you start calling Google Code an utter failure, consider this: it predates the likes of GitHub and Bitbucket. It was simply replaced by something better, and that alone does not make it a failure. Who would argue that ancient revision control solutions dating back to the 80s, for example, the Revision Control System (RCS) and Concurrent Versions System (CVS), were failures simply because they were replaced by something better?

GitHub

Git is currently the most widely used source code management solution, with recent surveys indicating that nearly one in two professional developers use Git or GitHub as their source control system of choice. However, this still does not mean that Git is the de facto industry standard. Subversion and Microsoft’s Team Foundation Server still have a lot of users. Mercurial also has a loyal following, as do some even less popular solutions.

Will Google’s decision to join the Git bandwagon speed up its transformation into an industry-wide standard? Will Cloud Source Repositories maul GitHub and Bitbucket? I think it’s still too early to say, but the potential is certainly there. If this were a poker game, I’d say Google has a good hand, but that doesn’t guarantee success.

Still A Long Way To Go

Toptal is not in the business of reviewing or endorsing software solutions, so if you are interested, we can only suggest that you try out Google RCS on your own. It might be a good idea, especially if you think it has a good chance of gaining traction. It won’t cost you anything, aside from a few hours of tinkering, and you can use it alongside GitHub and Bitbucket. If it takes off, you will be getting a head start.

Now for some bad news. This is still a beta, which means it is not covered by any Service-level Agreement (SLA), it may be subject to changes that are not backward compatible, and there is no depreciation policy. In theory, Google could decide to pull the plug on CSR tomorrow, although I don’t think anyone expects that at this point. It’s just legalese noise.

There are, however, other issues to keep in mind. Since it’s a public beta, you can only sign up to use the one and only package – with 500MB of storage. The beta is free, and there is still no word on future pricing and storage tiers. As to when it will be out of beta, well, that’s anyone’s guess.

Personally, I am not worried about competitiveness. Google’s infrastructure means we can expect a lot. A few years ago, I penned a short review of Google Drive, just days after the service launched. I didn’t think much of it; the service was good, but the mobile app was not. Besides, I was already hooked on Dropbox. Fast forward to 2015, and I am using Google Drive, along with Gmail, Gmail for Business, Google Docs and so on. Even Google Plus made it to the list, but here’s the catch: more often than not, I’d start using these services just because they were a click away, well integrated with other Google stuff.

Cloud Source Repositories certainly have the same feel, so I expect a lot of people will be drawn to check out the new service. Better yet, you can use CSR with existing GitHub and Bitbucket projects. Imagine if you could use Dropbox as part of your Google Drive, or if Google Plus could be used as a gateway to Facebook? It would definitely make both services more appealing.

Good Code Goes To Heaven, Or The Cloud

Google Cloud Platform has been around for a few years, but so far, the search giant has not managed to catch up to Amazon Web Services (AWS) and Microsoft Azure. AWS dominates the cloud landscape with an estimated market share of 85 percent, and it’s estimated to have five times the compute capacity of more than a dozen of its competitors.

However, this does not mean Google’s cloud offerings are uncompetitive. Google has the technology, brand recognition, the financial and technical resources to be a big player in cloud computing. One selling point may be the fact that the Google Cloud Platform uses the same infrastructure as Google’s end-user products, like Google Search, Google Docs, YouTube and so on.

While Google may be a small player compared to Amazon, it has an impressive infrastructure and could leverage this fact to out price and outperform competitors, namely GitHub and Bitbucket. As I said, there are still a lot of unknowns, but if Google plays its cards right, it might have a winner on its hands.

In any case, if you have some spare time, the Cloud Source Repositories beta is worth checking out, especially if you are already hooked on Google apps and services. If you already tried it out, feel free to share your thoughs with fellow Toptalers in the comment section.

Don't miss out.
Get the latest updates first.
No spam. Just great engineering and design posts.
Don't miss out.
Get the latest updates first.
Thank you for subscribing!
You can edit your subscription preferences here.

Comments

Ankur Sethi
Not a lot of developers know about it but you can push your git repos to AWS S3 (public or private bucket) using jgit. So assuming your source code repo size is reasonable, it is a great way to backup your repos for almost free.
Fred G. Vader
I still don't get it...can someone please explain what benefit does Google CSR provide that GitHub and BitBucket does not already provide?
OlegM
I honestly don't get the point of Google CSR other than that it can marry your BitBucket repos and GitHub repos into one central place? For me, on all personal projects where I don't want to do fancy tricks to make sure that my config files are not pushed to a public repo(Web.config with all my conn strings or my app.config with all my keys) then I use Bitbucket. For all my open source through away projects or practice projects I use GitHub. So now I can maybe log into Google CSR(it better be free otherwise their userbase will be as large as Google+ active users) and see all my repos in one spot. Ok, I can dig it, sort of. I checked out the beta to learn more about it. I may be pleasantly surprised :) I did have to fish for the link a bit but here it is for anyone interested: https://console.developers.google.com/start
Chris Sells
Good writeup, Nermin. Just to clarify a point -- we don't think of Cloud Source Repositories as a competitor for either GitHub or BitBucket. That's why we've worked with both vendors to provide bi-di synchronization. CSR is meant to be an integrated part of our end-to-end Google Cloud Platform developer story. Are you already on GitHub or BitBucket? Great. Bring your existing code. If you're not, you don't have to put your code somewhere else, you can keep it with us. Whatever works best for you. The benefit of bringing your source code into the GCP developer story is that, as you mention, we're able to build on that to provide additional features. For example, the Google Cloud Debugger (https://cloud.google.com/tools/cloud-debugger/), which lets you inspect the state of a Java application at any code location without stopping your production app (or even slowing it down). The debugger is built on top of CSR and we've got more source code-based features to add over time. Do you have developer tooling features you'd like to see for CSR or GCP as a whole? Feel free to drop me a line: csells@google.com. I'd love to hear from you!
comments powered by Disqus