Wiki data import from Google Code
diff --git a/GOPATH.md b/GOPATH.md
new file mode 100644
index 0000000..3e2b9f8
--- /dev/null
+++ b/GOPATH.md
@@ -0,0 +1,52 @@
+# Introduction
+
+The GOPATH environment variable is used to specify directories outside of $GOROOT that contain the source for Go projects and their binaries.
+
+See the [go command](http://golang.org/cmd/go/#hdr-GOPATH_environment_variable) and [go/build package](http://golang.org/pkg/go/build/) documentation for more details.
+
+Since the $GOPATH variable can be a list, the rest of this document will use $GOPATH to mean the first element unless otherwise specified.
+
+## Integrating GOPATH
+
+On OS X or Linux, adding the following expression to PATH will add all $GOPATH/bin directories.
+```
+${GOPATH//://bin:}/bin
+```
+
+## Directory layout
+
+The source for a package with the import path ` "X/Y/Z" ` is in the directory
+```
+$GOPATH/src/X/Y/Z
+```
+
+The binary for a package with the import path ` "X/Y/Z" ` is in
+```
+$GOPATH/pkg/$GOOS_$GOARCH/X/Y/Z.a
+```
+
+The binary for a command whose source is in ` $GOPATH/src/A/B ` is
+```
+$GOPATH/bin/B
+```
+
+## Repository Integration and Creating "go gettable" Projects
+When fetching a package the go tool looks at the package's import path to discover a URL. For instance, if you attempt to
+```
+go get code.google.com/p/gomatrix/matrix
+```
+the go tool will get the source from the project hosted at http://code.google.com/p/gomatrix/. It will clone the repository to
+```
+$GOPATH/src/code.google.com/p/gomatrix
+```
+
+As a result, if (from your repository project) you import a package that is in the same repository, you need to use its "full" import path - the place "go get" puts it. In this example, if something else wants to import the "matrix" package, it should import "code.google.com/p/gomatrix/matrix" rather than "matrix".
+
+## Tips and tricks
+
+### Third-party Packages
+It is useful to have two GOPATH entries. One for a location for 3rd party goinstalled packages, and the second for your own projects. List the 3rd party GOPATH first, so that goinstall will use it as a default destination. Then you can work in the second GOPATH directory and have all your packages be importable by using the "go" command, goinstall, or a GOPATH-aware 3rd party build tool like [gb](http://code.google.com/p/go-gb).
+
+## FAQ
+### Why won't ` $GOPATH/src/cmd/mycmd/*.go ` build?
+When the go command is looking for packages, it always looks in ` $GOROOT ` first.  This includes directories, so if it finds (as in the case above) a ` cmd/ ` directory in ` $GOROOT ` it won't proceed to look in any of the GOPATH directories.  This prevents you from defining your own ` math/matrix ` package as well as your own ` cmd/mycmd ` commands.
\ No newline at end of file