Four years of Go
10 Nov 2013
Tags: community, birthday

Andrew Gerrand

* Introduction

Today marks the fourth anniversary of Go as an open source project.

.image 4years-gopher.png

Rather than talk about our technical progress (there'll be much to talk about
when we release Go 1.2 in a couple of weeks) we thought we would instead take
this occasion to look at how the Go community has grown.

Let's start with a chart:

.image 4years-graph.png

This chart shows the growth of Google searches for the term
"[[http://www.google.com/trends/explore?hl=en-US#q=golang&date=10/2009+50m&cmpt=q][golang]]"
over the past four years.
Notice the knee in the curve around March 2012, when Go 1.0 was released.
If these searches are a decent proxy for interest, then it's clear that
interest in Go has grown remarkably since launch, and particularly so in the
last 2 years.

But where is the interest coming from?

The open source community has embraced Go,
with our community wiki listing [[https://golang.org/wiki/Projects][hundreds of Go projects]]. Some popular ones:

- [[http://docker.io][Docker]] is a tool for packaging and running applications
  in lightweight containers.
  Docker makes it easy to isolate, package,
  and deploy applications, and is beloved by system administrators.
  Its creator Solomon Hykes cited Go's standard library,
  concurrency primitives, and ease of deployment as key factors,
  and said "To put it simply, if Docker had not been written in Go,
  it would not have been as successful."

- [[http://packer.io][Packer]] is a tool for automating the creation of
  machine images for deployment to virtual machines or cloud services.
  Its author, Mitchell Hashimoto, is now working on another Go project,
  [[http://www.serfdom.io/][serf]], a decentralized discovery service.
  Like Docker, these projects help with management of large-scale,
  cluster-based services.

- [[http://bit.ly][Bitly]]'s [[http://bitly.github.io/nsq/][NSQ]] is a realtime
  distributed messaging platform designed for fault-tolerance and high-availability,
  and is used in production at bitly and a bunch of other companies.

- [[http://canonical.com/][Canonical]]'s [[https://juju.ubuntu.com/][JuJu]]
  infrastructure automation system was rewritten in Go.
  Project lead Gustavo Niemeyer said "It's not a single aspect of Go that
  makes it a compelling choice,
  but rather the careful organization of well-crafted small pieces."

- The [[https://github.com/goraft/raft][raft]] package provides an implementation
  of the [[https://ramcloud.stanford.edu/wiki/download/attachments/11370504/raft.pdf][Raft]]
  distributed consensus protocol.
  It is the basis of Go projects like [[https://github.com/coreos/etcd][etcd]]
  and [[https://github.com/skynetservices/skydns][SkyDNS]].

- Other popular projects include [[https://github.com/biogo/biogo][biogo]],
  the [[http://www.gorillatoolkit.org/][Gorilla Web Toolkit]],
  [[https://github.com/golang/groupcache][groupcache]],
  Mozilla's [[https://github.com/mozilla-services/heka][heka]],
  the [[https://github.com/cznic/kv][kv]] and [[https://github.com/cznic/ql][ql]]
  lightweight storage systems,
  and the [[http://skydb.io/][Sky]] behavioral database.

But this is just the tip of the iceberg. The number of high-quality open
source Go projects is phenomenal.
Prolific Go hacker [[http://xph.us/software/][Keith Rarick]] put it well:
"The state of the Go ecosystem after only four years is astounding.
Compare Go in 2013 to Python in 1995 or Java in 1999. Or C++ in 1987!"

Businesses are enjoying Go, too. The [[https://golang.org/wiki/GoUsers][Go Users wiki page]]
lists dozens of success stories (and if you use Go,
please add yourself to it). Some examples:

- [[https://blog.cloudflare.com/go-at-cloudflare][CloudFlare]] built their
  distributed DNS service entirely with Go,
  and are in the process of migrating their gigabytes-per-minute logging infrastructure to the language.
  Programmer John Graham-Cumming said "We've found Go to be the perfect match for our needs:
  the combination of familiar syntax, a powerful type system,
  a strong network library and built-in concurrency means that more and more
  projects are being built here in Go."

- [[http://soundcloud.com][SoundCloud]] is an audio distribution service
  that has "dozens of [[http://backstage.soundcloud.com/2012/07/go-at-soundcloud/][systems in Go]],
  touching almost every part of the site, and in many cases powering features
  from top to bottom." Engineer Peter Bourgon said "Go demonstrates that the
  cruft that burdens other languages and ecosystems—stuff that developers
  have learned to deal with,
  often in anger—is simply not a necessary part of modern programming.
  With Go, I have a straightforward and non-adversarial relationship with my tools,
  from development to production."

- The [[https://ngrok.com/][ngrok]] service allows web developers to provide
  remote access to their development environments.
  Its author Alan Shreve said that "ngrok's success as a project is due in
  no small part to choosing Go as the implementation language," citing Go's HTTP libraries,
  efficiency, cross-platform compatibility,
  and ease of deployment as the major benefits.

- [[http://poptip.com][Poptip]] provides social analytics services,
  and product engineer Andy Bonventre said "What started as an experiment
  in writing a single service in Go turned into moving almost our entire infrastructure over to it.
  What I love about Go the most is not necessarily the features of the language,
  but the focus on tooling, testing, and other elements that make writing
  large applications much more manageable."

- Music collaboration startup [[http://splice.com][Splice]] chose to build
  their service with Go.
  Co-founder Matt Aimonetti said "We seriously studied and considered many
  programming languages,
  but Go's simplicity, efficiency, philosophy and community won us over."

- And, of course, engineering teams across Google are moving to Go.
  Engineer Matt Welsh recently [[http://matt-welsh.blogspot.com.au/2013/08/rewriting-large-production-system-in-go.html][shared his experience]]
  rewriting a large production service in Go.
  Other notable public examples include YouTube's [[https://github.com/youtube/vitess][vitess project]]
  and [[https://talks.golang.org/2013/oscon-dl.slide][dl.google.com]].
  We hope to share more stories like these soon.

In September 2012, [[http://apcera.com/][Apcera]] CEO Derek Collison [[https://twitter.com/derekcollison/status/245522124666716160][predicted]]
that "Go will become the dominant language for systems work in [Infastructure-as-a-Service],
Orchestration, and [Platform-as-a-Service] in 24 months." Looking at the list above,
it's easy to believe that prediction.

So how can you get involved? Whether you're a seasoned Go programmer or just Go-curious,
there are many ways to get started in the Go community:

- [[https://blog.golang.org/getthee-to-go-meetup][Join your nearest Go User Group]],
  where your local gophers meet to share their knowledge and experience.
  These groups are popping up all over the world.
  I have personally spoken at Go groups in Amsterdam,
  Berlin, Gothenburg, London, Moscow, Munich,
  New York City, Paris, San Francisco, Seoul,
  Stockholm, Sydney, Tokyo, and Warsaw;
  but there are [[https://golang.org/wiki/GoUserGroups][many more]]!

- Create or contribute to an open source Go project (or [[https://golang.org/doc/contribute.html][to Go itself]]).
  (And if you're building something, we'd love to hear from you on the [[http://groups.google.com/group/golang-nuts][Go mailing list]].)

- If you're in Europe in February 2014, come along to the [[https://code.google.com/p/go-wiki/wiki/Fosdem2014][Go Devroom]]
  at [[https://fosdem.org/2014/][FOSDEM 2014]].

- Attend [[http://gophercon.com][GopherCon]],
  the first major Go conference, in Denver in April 2014.
  The event is organized by the [[http://www.gopheracademy.com][Gopher Academy]],
  who also run a [[http://www.gopheracademy.com/jobs][Go job board]].

The Go team has been amazed by the growth of the Go community over the past
four years. We are thrilled to see so many great things being built with Go,
and deeply grateful to work with our wonderful and dedicated contributors.
Thank you, everyone.

Here's to four more years!
