This forum has been archived. All content is frozen. Please use KDE Discuss instead.

Question: Possibly LGPL v.2.1 and MPL v.2 in same file

Tags: None
(comma "," separated)
es
Registered Member
Posts
1
Karma
0
Greetings.

I'm conducting a review on the licensing of Eigen on behalf of a party interested in using it. Firstly, the project seems well-managed and the choice of MPL v.2 license is commendable, as it is a well-drafted license. However, I did find a few files which appear to have both LGPL v.2.1 and MPL v.2 licensed code from different copyright holders. This is noted on the Eigen project page, and it appears there is a way to exclude such code during the compilation process. However, for the sake of thoroughness I reviewed the possibility of including such code.

The problematic files are:
1. /unsupported/Eigen/src/IterativeSolvers/ConstrainedConjGrad.h
2. /unsupported/Eigen/src/IterativeSolvers/IterationController.h
3. /Eigen/src/OrderingMethods/Amd.h
4. /Eigen/src/SparseCholesky/SimplicialCholesky.h

As the code within the files is intermingled, and it appears there may be sections within the files under MPL and LGPL, I feel this may create problems with the copyleft terms of those licenses. MPL section 3.3 would allow additionally redistributing MPL-licensed code under LGPL, but this would require us to provide a party downstream from us the option of separating the originally MPL-licensed parts and redistributing them under MPL or LGPL, as per their choice. This may conflict with the terms of the LGPL license, as for that license to allow distributing parts of the work under different licenses, they need to be identifiable sections that can be reasonably considered independent and separate works (section 2 of LGPL v.2.1). Therefore it appears we would be in violation of the terms of one of the licenses in any case.

My question to the Eigen project then is, whether this is indeed the intended licensing model of these particular files, and that both LGPL and MPL need to be applied by us? Or whether these files can be considered to be LGPL licensed. Another option would of course be that I recommend these particular files are excluded, which still allows using the rest of the package.

Your input is appreciated.

Best regards,
Tapio
User avatar
ggael
Moderator
Posts
3447
Karma
19
OS
Thanks for the report.

Regarding 1, 2, and 3 they are actually LGPL only. I fixed the licensing confusion in the devel branch and these features are automatically removed in MPL2 only mode.

Regarding 4 (SimplicialCholesky), I splited this file in two pieces: the MPL2 interface, and the LGPL based code. The entire SparseCholesky module is now explicitly unsable in MPL2 only mode.


Bookmarks



Who is online

Registered users: Bing [Bot], Google [Bot], Sogou [Bot], Yahoo [Bot]