When it comes to code organization, Go seem to make an assumption, that it's the only language I'm going to use. However, I'd like to treat each Go project as a yet another isolated piece of software, and store it the same way as most programs were stored for decades now - in an arbitrary directory, containing no less and no more than what is needed to build and run it.
What Go wants:
home/
├─go/
│ └─src/
│ └─some-organization/
│ └─some-go-project/
│ └─main.go
└─projects/
└─some-organization/
├─some-c-project/
│ └─src/
│ └─main.c
└─some-python-project/
└─src/
└─main.py
What I want:
home/
└─projects/
└─some-organization/
├─some-c-project/
│ └─src/
│ └─main.c
├─some-python-project/
│ └─src/
│ └─main.py
└─some-go-project/
└─src/
└─main.go
Of course, nobody prevents me from structuring it my way, but I won't be able to build/install that project the intended way anymore. Doing something like home/projects/some-organization/some-go-project/src/some-go-project/main.go
to address that is just too ugly to my liking.
So what's the consensus here? How does Go community handle this? Back-to-make?