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).

Source link


Please enter your comment!
Please enter your name here