Here is a summary of the third party components licensing as of the 1.11 release.  All of these dependent libraries are available as Open Source software and, to the best of our knowledge, do not create more restrictions than the Apache License does.

Bundled with source code


Downloaded at build time (or supplied as build dependencies)

CptVersionLicenseLicense LinkNotes
boost1.61.0MIThttp://www.boost.org/users/license.html
pyxb1.2.6Apache 2.0http://pyxb.sourceforge.net/legal.htmlSee Note 1 below
eigen3.2MPL 2.0http://eigen.tuxfamily.org/index.php?title=Main_Page#LicenseSee Note 2 below


Note 1

PyXB: Python XML Schema Bindings
http://pyxb.sourceforge.net/

http://pyxb.sourceforge.net/legal.html
says
“PyXB as a whole is made available under the Apache License v 2.0.”
See also
https://github.com/pabigot/pyxb/blob/next/LICENSE
which has the standard Apache License Version 2.0 verbage.

However, we noticed that it has a GPL 3.0 sub-component:
https://github.com/pabigot/pyxb/blob/next/doc/extapi.py
(This seems strange, but anyways…)

Remedy in Sept 2015 when MADlib entered as a Apache incubating project:

  • At build time, we remove this GPL sub-component since it is not needed,
    just to be 100% sure we are only including Apache License Version 2.0 software.
  • This is the reason there is a message during build that says “PyXB: Removing GPL component from code base”

Starting with MADlib 2.1.0, MADlib 2.X releases will no longer have this dependency. The related code has been removed and we use pyxb-x as an external dependency.


Note 2

Eigen
http://eigen.tuxfamily.org/

http://eigen.tuxfamily.org/index.php?title=Main_Page#License
says
“Eigen is Free Software. Starting from the 3.1.1 version, it is licensed under the MPL2…Note that currently, a few features rely on third-party code licensed under the LGPL: SimplicialCholesky, AMD ordering, and constrained_cg.”

MADlib uses a later version than 3.1.1.

Remedy in Sept 2015 when MADlib entered as a Apache incubating project, as per http://www.apache.org/legal/resolved.html#category-b :

  • Cloned Eigen header files and made needed changes, then maintained on a separate GitHub repo https://github.com/madlib/eigen
  • This modified Eigen GitHub project carries forward the MPL license. The commits showing changes made are here https://github.com/madlib/eigen/tree/branches/3.2
  • At build time, MADlib project will then include the Eigen header files from this repo
  • Also we use the EIGEN_MPL2_ONLY preprocessor symbol to explicitly exclude the LGPL components



  • No labels