Eight years of Go
10 Nov 2017
Tags: community, birthday

Steve Francia

* Introduction

Today we celebrate 8 years since Go was released as an open source project.
During [[https://blog.golang.org/4years][Go’s 4th anniversary]], Andrew
finished the post with “Here's to four more years!”. Now that we have reached
that milestone, I cannot help but reflect on how much the project and
ecosystem has grown since then. In our post 4 years ago we included a chart
demonstrating Go's rising popularity on Google Trends with the search term
"golang". Today, we’re including an updated chart. In this relative scale of
popularity, what was 100 four years ago is now a mere 17. Go’s popularity has
increased exponentially over the last 8 years and continues to grow.

.image 8years/image1.png

Source: [[https://trends.google.com/trends/explore?date=2009-10-01%202017-10-30&q=golang&hl=en-US][trends.google.com]]

** Developers love Go

Go has been embraced by developers all over the world with approximately one
million users worldwide. In the [[https://octoverse.github.com/][freshly published 2017 Octoverse]]
by GitHub, *Go*has*become*the*#9*most*popular*language*, surpassing C.
*Go*is*the*fastest*growing*language*on*GitHub*in*2017* in the top 10 with
*52%*growth*over*the*previous*year*. In growth, Go swapped places with
Javascript, which fell to the second spot with 44%.

.image 8years/image2.png

Source: [[https://octoverse.github.com/][octoverse.github.com]]

In [[https://insights.stackoverflow.com/survey/2017#most-loved-dreaded-and-wanted][Stack Overflow's 2017 developer survey]]
, Go was the only language that was both on the *top*5*most*loved*and*top*5*most*wanted* languages.
People who use Go, love it, and the people who aren’t using Go, want to be.

.image 8years/image3.png
.image 8years/image4.png

Source: [[https://insights.stackoverflow.com/survey/2017#most-loved-dreaded-and-wanted][insights.stackoverflow.com/survey/2017]]

** Go: The language of Cloud Infrastructure

In 2014, analyst Donnie Berkholz called Go
[[http://redmonk.com/dberkholz/2014/03/18/go-the-emerging-language-of-cloud-infrastructure/][the emerging language of cloud infrastructure]].
*By*2017,*Go*has*emerged*as*the*language*of*cloud*infrastructure*.
Today, *every*single*cloud*company*has*critical*components*of*their*cloud*infrastructure*implemented*in*Go*
including Google Cloud, AWS, Microsoft Azure, Digital Ocean, Heroku and many others. Go
is a key part of cloud companies like Alibaba, Cloudflare, and Dropbox. Go is
a critical part of open infrastructure including Kubernetes, Cloud Foundry,
Openshift, NATS, Docker, Istio, Etcd, Consul, Juju and many more. Companies
are increasingly choosing Go to build cloud infrastructure solutions.

** Go’s Great Community

It may be hard to imagine that only four years ago the Go community was
transitioning from online-only to include in-person community with its first
conference. Now the Go community has had over 30 conferences all around the
world with hundreds of presentations and tens of thousands of attendees.
There are hundreds of Go meetups meeting monthly covering much of the globe.
Wherever you live, you are likely to find a Go meetup nearby.

Two different organizations have been established to help with inclusivity in
the Go community, Go Bridge and Women Who Go; the latter has grown to over 25
chapters. Both have been instrumental in offering free trainings. In 2017
alone over 50 scholarships to conferences have been given through efforts of
Go Bridge and Women Who Go.

This year we had two significant firsts for the Go project. We had our first
[[https://blog.golang.org/contributors-summit][contributor summit]] where
people from across the Go community came together to
discuss the needs and future of the Go project. Shortly after, we had the
first [[https://blog.golang.org/contributor-workshop][Go contributor workshop]]
where hundreds of people came to make their first Go contribution.

.image 8years/photo.jpg

Photo by Sameer Ajmani

** Go’s impact on open source

Go has become a major force in the world of open source powering some of the
most popular projects and enabling innovations across many industries. Find
thousands of additional applications and libraries at [[https://github.com/avelino/awesome-go][awesome-go]]. Here are
just a handful of the most popular:

- [[https://mobyproject.org/][Moby]] (formerly Docker) is a tool for packaging
  and running applications in lightweight containers.
  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."

- [[https://kubernetes.io/][Kubernetes]] is a system for automating deployment,
  scaling and management of containerized applications.
  Initially designed by Google and used in the Google cloud,
  Kubernetes now is a critical part of every major cloud offering.

- [[https://gohugo.io/][Hugo]] is now the most popular open-source static website engine.
  With its amazing speed and flexibility, Hugo makes building websites fun again.
  According to [[https://w3techs.com/technologies/overview/content_management/all][w3techs]],
  Hugo now has nearly 3x the usage of Jekyll, the former leader.

- [[https://prometheus.io/][Prometheus]] is an open source monitoring solution
  and time series database that powers metrics and alerting designed to be
  the system you go to during an outage to allow you to quickly diagnose problems.

- [[https://grafana.com/][Grafana]] is an open source,
  feature-rich metrics dashboard and graph editor for Graphite,
  Elasticsearch, OpenTSDB, Prometheus and InfluxDB.

- [[https://getlantern.org/][Lantern]] delivers fast, reliable and secure access to blocked websites and apps.

- [[https://syncthing.net/][Syncthing]] is an open-source cross platform
  peer-to-peer continuous file synchronization application

- [[https://keybase.io/][Keybase]] is a new and free security app for mobile
  phones and computers.
  Think of it as an open source Dropbox & Slack with end-to-end encryption
  public-key cryptography.

- [[https://github.com/junegunn/fzf][Fzf]] is an interactive Unix filter
  for command-line that can be used with any list;
  files, command history, processes, hostnames,
  bookmarks, git commits, etc.
  Fzf supports Unix, macOS and has beta support for Windows.
  It also can operate as a vim plugin.

Many of these authors have said that their projects would not exist without
Go. Some like Kubernetes and Docker created entirely new solutions. Others
like Hugo, Syncthing and Fzf created more refined experiences where many
solutions already existed. The popularity of these applications alone is
proof that Go is a ideal language for a broad set of use cases.

** Thank You

This is the eighth time we have had the pleasure of writing a birthday blog
post for Go and we continue to be overwhelmed by and grateful for the
enthusiasm and support of the Go community.

Since Go was first open sourced we have had 10 releases of the language,
libraries and tooling with more than 1680 contributors making over 50,000
commits to the project's 34 repositories; More than double the number of
contributors and nearly double the number of commits from only [[https://blog.golang.org/6years][two years ago]].
This year we announced that we have begun planning [[https://blog.golang.org/toward-go2][Go 2]], our first major
revision of the language and tooling.

The Go team would like to thank everyone who has contributed to the project,
whether you participate by contributing changes, reporting bugs, sharing your
expertise in design discussions, writing blog posts or books, running events,
attending or speaking at events, helping others learn or improve, open
sourcing Go packages you wrote, contributing artwork, introducing Go to
someone, or being part of the Go community. Without you, Go would not be as
complete, useful, or successful as it is today.

Thank you, and here’s to eight more years!
