On Thu, Feb 23, 2017 at 11:18:53AM +0100, Ulf Hermann wrote: > First, I'm not sure if we want to import the respective gnulib modules > directly into the elfutils code base or if you want me to do this in > my fork. In the latter case the issue is settled as there is no value > for me in jumping through hoops if the code is not going to be > upstreamed anyway. So, for now I'm assuming we're talking about > importing gnulib modules into the elfutils code base.
I would be fine with integrating gnulib code upstream. Since we already have a lib and m4 directory it would probably be easiest if we use a new gnulib and gnulib-m4 top-level dir for that. And we'll have to figure out what the best way to handle the sources in the repository is. I think I would prefer option 3 https://www.gnu.org/software/gnulib/manual/html_node/VCS-Issues.html So normal developers don't need to have gnulib itself installed. The release manager would run gnulib-tool --update before release. But maybe there are other ways that are more natural to support? > > gnulib-tool has a --lgpl=[...] flag so you can automatically abort if > > the desired license compatibility level isn't met. so you don't have > > to directly review every module if it isn't aborting. > > Are you aware that for most of those modules, building them into elfutils > restricts the license choices for the resulting combination? Any > non-trivial combination of the required modules with elfutils makes the > result de facto GPLv3 only. GPLv3 is fine for me as perfparser is also > GPLv3, but as elfutils so far is LGPLv3+/GPLv2+ I'm wondering if we want > to do this. In fact, when just doing the usual > "configure/make/make install" procedure without reviewing the > intermediate results, a user would have no way of knowing what license > applies to the binaries. IMO that is bad and will certainly lead to > problems somewhere down the line. As long as everything is upward compatible with GPLv3+ I think that is fine. It will only be an issue on non-GNU/Linux setups. But we should indeed make clear during configure time when extra license requirements would apply because gnulib code is being used/imported. Maybe we can just have configure warn/error out "Your setup requires importing of GPLv3+ gnulib code, please configure with --enable-gplv3-gnulib". Or something like that. Cheers, Mark