If I take advantage of go-ethereum, as is, with none modification, as a library in one other Go challenge, I might assume that I can put that challenge below one other open supply license (e.g. we use Apache 2.zero in go-perun) and even use go-ethereum as a library in proprietary, closed-source software program – as a result of it’s LGPL licensed.
Nonetheless, strictly talking, the LGPL states that this permissive use is simply granted if linked _dynamically_, if I interpret the license accurately. Alas, Go hyperlinks all dependencies _statically_, so would not this indicate that I can not use go-ethereum in every other non-GPL-compatible Go challenge if utilizing Go’s regular construct toolchain?
The one different temporary dialogue I discovered on this subject is at https://www.reddit.com/r/ethereum/comments/5kf9tb/why_ethereumgo_is_lgpl/ . There it sounds just like the intention behind selecting LGPL as a license for the library elements was to truly give permission to different Go initiatives to make use of go-ethereum with out forcing them to open-source below a GPL-compatible license themselves (on condition that modification of go-ethereum itself are, after all, open-sourced).
I assume a part of the confusion comes from the truth that the LGPL was designed with the gcc toolchain for C/C++ applications in thoughts, the place dynamic linking was and nonetheless is a extra frequent mode of operation than for, say, Go, the place static linking is the default (and really laborious to alter).