In October 2013 I sent out a call to action to the Go community. I wanted to form a group of Gophers that would come together and help write a specification and build a working implementation of a package management tool. We are not there yet, but the group did accomplish a few things:

  • We started a mailing list called Go package management [go-pm] where people could discuss ideas and get feedback on existing and new tools.
  • We wrote a goals document that outlined what we wanted to accomplish along with guidelines and help for package management tool authors.
  • We identified and categorized the existing set of tools that are available for use.
  • We developed a set of user stories that describe the different scenarios people were facing.
  • We started a list of packages that tool developers can use to test their tools against.
  • We helped some of the tool developers find and fix bugs.

Overall I think the last 3 months have been productive and I am pleased with the results.

Building Tools

I have come to appreciate that there isn’t going to be a silver bullet or a one tool fits all solution. I believe a majority of the use-cases that have been defined in the goals document  can be solved and building tools to handle these use-cases is worth the time and effort. If you’re thinking about building a tool, please consider these guidelines which are outlined in the goals document:

Work with the Go language as defined in the Go 1 spec of March 28, 2012.

Don’t implement solutions that require feature changes or build tools that change the way Go works.


Go Package Management For 2014
1.05 GEEK