Sure Tim.
Go aims for convention over configuration often. But for different tools to talk sometimes it is useful to describe a common specification. The go compiler and the gccgo compiler do this with the go spec. More recently the "vendor" folder is now an experimental convention that is supported by the go tool, when accepted, will be adopted by the other tools as well. The vendor-spec proposal aims to describe the dependencies in the "vendor" folder. It is still in flux though in the next few weeks it should probably stabilize.
I can't speak for the core go team. However the main go repository and some of
golang.org/x/ repositories have both begun to use the "vendor" folder and Russ has added in a vendor.json file by had to one of the vendor folders.
Lastly, I can't stress enough that go's dependency management is fundamentally different then many other languages. Ruby and Python both need dependencies to be resolved on the client. Even Java and C# often allow dependencies to be described and obtained after compiling. Due to the implementation of Go's static linking Go's dependency management story will look different when we try to optimize it I believe. Even with shared library support dependencies management will look much more like C's (operating system provided) then say pip or Maven.
...
This is one of several efforts by community members to try to make the Go ecosystem better. You will notice that the vendor-spec has "revision" but not "version" Dave has a proposal that suggests using a consistent version schema (semver2) to release packages. (While I do not endorse that particular proposal I do think it is a reasonable conversation to have as next steps.I believe the proposal fails to state assumptions it builds on and the end goals sufficiently, it also dismisses mono-repos and larger combined repos out of hand.) As such in the future there may also be a defined "version" field with a reasonable meaning as well.
-Daniel