I&#x27;m right now TAing a course which uses Go. Tons of people are having trouble with this, and the interaction with $GOPATH.<p>This course has fourth year undergrads and masters&#x27; students. Most are familiar with some languages but aren&#x27;t too used to production code practices (basically, one of the target audiences for Go -- be simple so that everyone can ramp up). Some have said that they preferred submodule deps or pythonesque easy-to-copy and easy-to-play-with import statements (and pip install) over this.<p>There is the valid argument to be made that any model for <i>publishing</i> your package is going to be tougher than a simple github URL, but it doesn&#x27;t have to be <i>much</i> worse. With Rust, for example, you need to run `cargo login` once (which will direct you to a page where you can make an account if you need to) to set up, and then `cargo publish`. Pretty easy to learn.<p>I like a lot of things about Go, including it&#x27;s simplicity. I wish I had more time to write Go, because it&#x27;s a fun language to work with. But $GOPATH and URL-packaging are not amongst the Go features which I like.