Diving into vgo from the Golang project

I have been looking into the Versioned Go Command which was released recently by Russ Cox. In summary this project is a pretty rethink of how golang retrieves and stores packages used to build applications, and more specifically how versioned modules are introduced while retaining reproducible builds. The highlights, and standout features for me are as follows: Adds intrinsic support for versioning into the go command. Includes a few new sub commands such as vendor and verify Incorporates a lot of new ideas around the storage and management of golang modules, which seems to correlate to something akin to a github project. Note there is support for more than one module in a repository but the general idea is one. Adds a new mechanism to retrieve and cache modules in zip files, which will supersede the current source repository. Adds a new proxy mechanism, enabling organisations to provide a mediated, verified module server to developers. But probably the biggest change is the move away from the much maligned $GOPATH, this will as far as I can tell be deprecated over time. Developers will create their projects outside of the $GOPATH, using a file named go.mod to provide a pointer to the projects namespace. ...