Cartographer is a system that provides real-time simultaneous localization and mapping (SLAM) in 2D and 3D across multiple platforms and sensor configurations.
Apache License 2.0
7.12k
stars
2.25k
forks
source link
Cartographer is effectively GPL because of Ceres -> SuiteSparse dependency #1939
However, a component of SuiteSparse, CHOLMOD/Supernodal, is licensed under GPL. Effectively, this turn Ceres, Cartographer and all other software that builds upon it to be GPL licensed.
In order for Cartographer to be GPL-free, Ceres either needs to use a GPL-free sparse linear algebra backend (as described in https://github.com/ceres-solver/ceres-solver/issues/1026); or Cartographer needs to be switched to another solver for solving the pose graph optimization problem.
The Ceres scan matcher in LocalTrajectoryBuilder is fine; it does not need a sparse solver. The OptimizationProblem in PoseGraph needs a sparse solver.
In https://github.com/cartographer-project/cartographer/issues/971, the following was noticed:
Building Cartographer was then switched to require Ceres with SuiteSparse in https://github.com/cartographer-project/cartographer/pull/189.
However, a component of SuiteSparse, CHOLMOD/Supernodal, is licensed under GPL. Effectively, this turn Ceres, Cartographer and all other software that builds upon it to be GPL licensed.
More information in: https://github.com/ceres-solver/ceres-solver/issues/1026
In order for Cartographer to be GPL-free, Ceres either needs to use a GPL-free sparse linear algebra backend (as described in https://github.com/ceres-solver/ceres-solver/issues/1026); or Cartographer needs to be switched to another solver for solving the pose graph optimization problem.
The Ceres scan matcher in
LocalTrajectoryBuilder
is fine; it does not need a sparse solver. TheOptimizationProblem
inPoseGraph
needs a sparse solver.