Hi Gophers,
As you may or may not know, we (Canonical) have been working on a new way of packaging Linux applications, snaps, and I have been maintaining a go snap for a few months. It's been used by internal users for a while now and it's time to make more noise about it.
To try it out, on any supported Ubuntu release, try:
$ sudo apt install snapd # only needed on trusty, but good to make sure you're up to date
$ snap install --classic go
Shortly after this you should have go 1.9 installed at /snap/bin/go. As one of the design goals for snaps was to make it easier to keep things up to date, snapd checks periodically for updates and installs them when it finds them. Upgrading between major versions is probably something you want to control, and so snaps have a concept of tracks (versions of Go in this case). The Go snap has tracks for the last few releases so you can also do:
$ snap install --classic --channel 1.8
To install 1.8.3 in a way that will not move to 1.9 but would move to 1.8.4 if/when that is released.
(Snaps also have a concept of "risk", you can install from the "edge" channel to get a build from that day's git tip).
As a general rule, snaps are usually published by the vendor, and end users see this when they install and manage the snaps. Is there someone on the core Go team who could set up a "golang" account to move this under? We (Canonical) would continue to host the snap assembly infrastructure.
Anyway, that's enough rambling, try it out and let me know what you think!
Cheers,
mwh