Hi all, I raised the following question in #tools on Gophers Slack (https://gophers.slack.com/) but re-raising here for slightly wider discussion/pointers. It is very related to Bryan Mills' excellent proposal in https://github.com/golang/go/issues/36460 for lazy module loading.
Q: If my main module requires module M1, but only uses packages within M1 such that transitive module requirements (of M1) M2 and M3 are used (and not M4 or M5), what's the situation with respect to the licenses of M4 and M5? By "uses packages" here I'm considering the output of go list -test -deps on the packages of the main module. I had never considered this question until the other day when it dawned on me in the context of lazy module loading. Bryan kindly responded with the following: > I can't give you legal advice, but I can describe the technical aspects. > > If your main module is already tidy, then (barring a bug) only the source code > and go.mod files from M1, M2, and M3 would be read. > > When a new dependency needs to be resolved, then the go.mod files — but not > the source code — for M4 (and perhaps M5) would also be read in order to > determine what version of the new dependency to add. Bryan makes a distinction between the go.mod files for M4 and M5 and the source code in those modules. Is anyone well-placed to offer some pointers on this question of whether or to what extent the licenses of M4 and M5 are significant? Many thanks Paul -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/golang-nuts/CACoUkn6NyvgZFvWJVJBBna4txwbCjsGoRKXFDV8S2_ER%3D5Chiw%40mail.gmail.com.