On Wed, Feb 12, 2020 at 11:00:56AM +0100, Bartosz Golaszewski wrote: > śr., 12 lut 2020 o 08:48 Helmut Grohne <helmut.grohne@xxxxxxxxxx> napisał(a): > > > > Hi, > > > > I've recently encountered libgpiod and found that its API is nice to > > work with. Thank you for this piece of software. > > > > IANAL > > > > The library is licensed LGPL, which makes it available to non-free uses > > in principle. For the C library, I think this is a good license. For the > > C++ bindings, LGPL poses a little problem as code can be generated from > > the header. For instance, libgpiodcxx is using `ctor() = default;`. > > Strict intepretation of the LGPL would mean that a downstream user > > should be able to recompile the whole product using libgpiodcxx. > > Effectively, libgpiodcxx can be considered GPL (not LGPL) licensed for > > practical purposes. You can find more background at: > > * https://blogs.msmvps.com/gdicanio/2016/07/11/the-lgpl-and-libraries-exposing-a-c-interface/ > > * Eigen was initially LGPL and was converted to MPL2: > > https://eigen.tuxfamily.org/index.php?title=News:Relicensing_to_MPL2! > > * QT4 has also encountred this: > > https://lwn.net/Articles/315251/ > > I think that the LGPL when applied to C++ results in an unclear > > licensing situation at best and an effective GPL at a strict > > interpretation. Varying license interpretation rarely results in > > anything good. > > > > For these reasons, I ask you to consider changing the license for > > libgpiodcxx only (and not for libgpiod nor for the Python bindings). I > > propose following Eigen and switching to MPL2. If however, the intention > > is the strict reading of the non-lesser GPL, consider switching to that > > instead. Either change improves the clarity of the licensing and makes > > the intention visible. > > > > Hi Helmut, > > thank you for this e-mail. I admit I'm not very well versed in > software licensing. What you're saying makes sense and the links you > posted seem to confirm it. I'll still try to get a second opinion on > this. Anyway: my intention is to make the library available to > non-free projects - including C++ bindings - so MPL2 makes sense. > > There's only one significant contributor (new features, not bug-fixes) > to C++ bindings other than me (Cc'ed Kent Gibson) from whom I'd need > an ack on relicensing, so it shouldn't be very difficult to do. > I agree with your intent, so feel free to relicense as you see fit. Kent. > While at it: LGPL is the only license used by all libgpiod components. > Do you know if it makes sense to use regular GPL for programs that are > part of the repo and LGPL for libraries only (except C++ bindings)? > > Best regards, > Bartosz Golaszewski