RainerKuemmerle / g2o

g2o: A General Framework for Graph Optimization
3.11k stars 1.11k forks source link

license headers missing / inconsistent #174

Closed morxa closed 7 years ago

morxa commented 7 years ago

I'm currently working on packaging g2o for Fedora so Fedora users can start using g2o with a simple dnf install g2o. However, the licensing guidelines in Fedora are quite strict and some files in g2o are not properly licensed. The following is a list of files with no copyright notice in the header:

g2o/core/sparse_optimizer_terminate_action.cpp: *No copyright* UNKNOWN
g2o/core/sparse_optimizer_terminate_action.h: *No copyright* UNKNOWN
g2o/stuff/g2o_stuff_api.h: *No copyright* UNKNOWN
g2o/stuff/opengl_wrapper.h: *No copyright* UNKNOWN
g2o/apps/g2o_cli/g2o_cli_api.h: *No copyright* UNKNOWN
g2o/apps/g2o_hierarchical/backbone_tree_action.cpp: *No copyright* UNKNOWN
g2o/apps/g2o_hierarchical/backbone_tree_action.h: *No copyright* UNKNOWN
g2o/apps/g2o_hierarchical/edge_creator.cpp: *No copyright* UNKNOWN
g2o/apps/g2o_hierarchical/edge_creator.h: *No copyright* UNKNOWN
g2o/apps/g2o_hierarchical/edge_labeler.cpp: *No copyright* UNKNOWN
g2o/apps/g2o_hierarchical/edge_labeler.h: *No copyright* UNKNOWN
g2o/apps/g2o_hierarchical/edge_types_cost_function.cpp: *No copyright* UNKNOWN
g2o/apps/g2o_hierarchical/edge_types_cost_function.h: *No copyright* UNKNOWN
g2o/apps/g2o_hierarchical/g2o_hierarchical_api.h: *No copyright* UNKNOWN
g2o/apps/g2o_hierarchical/g2o_hierarchical_test_functions.cpp: *No copyright* UNKNOWN
g2o/apps/g2o_hierarchical/simple_star_ops.cpp: *No copyright* UNKNOWN
g2o/apps/g2o_hierarchical/simple_star_ops.h: *No copyright* UNKNOWN
g2o/apps/g2o_hierarchical/star.cpp: *No copyright* UNKNOWN
g2o/apps/g2o_hierarchical/star.h: *No copyright* UNKNOWN
g2o/apps/g2o_simulator/g2o_simulator_api.h: *No copyright* UNKNOWN
g2o/apps/g2o_simulator/simutils.cpp: *No copyright* UNKNOWN
g2o/apps/g2o_viewer/g2o_viewer_api.h: *No copyright* UNKNOWN
g2o/examples/calibration_odom_laser/g2o_calibration_odom_laser_api.h: *No copyright* UNKNOWN
g2o/examples/g2o_unfold/g2o-unfold.cpp: *No copyright* UNKNOWN
g2o/examples/g2o_unfold/tools.cpp: *No copyright* UNKNOWN
g2o/examples/g2o_unfold/tools.h: *No copyright* UNKNOWN
g2o/examples/plane_slam/plane_test.cpp: *No copyright* UNKNOWN
g2o/examples/plane_slam/simulator_3d_plane.cpp: *No copyright* UNKNOWN
g2o/examples/target/constant_velocity_target.cpp: *No copyright* UNKNOWN
g2o/examples/target/continuous_to_discrete.h: *No copyright* UNKNOWN
g2o/examples/target/static_target.cpp: *No copyright* UNKNOWN
g2o/examples/tutorial_slam2d/g2o_tutorial_slam2d_api.h: *No copyright* UNKNOWN
g2o/solvers/csparse/g2o_csparse_api.h: *No copyright* UNKNOWN
g2o/solvers/slam2d_linear/g2o_slam2d_linear_api.h: *No copyright* UNKNOWN
g2o/types/data/g2o_types_data_api.h: *No copyright* UNKNOWN
g2o/types/icp/g2o_types_icp_api.h: *No copyright* UNKNOWN
g2o/types/sba/g2o_types_sba_api.h: *No copyright* UNKNOWN
g2o/types/sclam2d/g2o_types_sclam2d_api.h: *No copyright* UNKNOWN
g2o/types/slam2d/edge_se2_lotsofxy.cpp: *No copyright* UNKNOWN
g2o/types/slam2d/edge_se2_lotsofxy.h: *No copyright* UNKNOWN
g2o/types/slam2d/edge_se2_twopointsxy.cpp: *No copyright* UNKNOWN
g2o/types/slam2d/edge_se2_twopointsxy.h: *No copyright* UNKNOWN
g2o/types/slam2d/g2o_types_slam2d_api.h: *No copyright* UNKNOWN
g2o/types/slam2d_addons/edge_se2_segment2d_pointLine.cpp: *No copyright* UNKNOWN
g2o/types/slam2d_addons/g2o_types_slam2d_addons_api.h: *No copyright* UNKNOWN
g2o/types/slam3d/dquat2mat.cpp: *No copyright* UNKNOWN
g2o/types/slam3d/dquat2mat.h: *No copyright* UNKNOWN
g2o/types/slam3d/dquat2mat_maxima_generated.cpp: *No copyright* UNKNOWN
g2o/types/slam3d/edge_se3.cpp: *No copyright* UNKNOWN
g2o/types/slam3d/edge_se3.h: *No copyright* UNKNOWN
g2o/types/slam3d/edge_se3_lotsofxyz.cpp: *No copyright* UNKNOWN
g2o/types/slam3d/edge_se3_lotsofxyz.h: *No copyright* UNKNOWN
g2o/types/slam3d/g2o_types_slam3d_api.h: *No copyright* UNKNOWN
g2o/types/slam3d_addons/g2o_types_slam3d_addons_api.h: *No copyright* UNKNOWN
g2o/types/slam3d_addons/line3d_test.cpp: *No copyright* UNKNOWN
g2o/examples/interactive_slam/g2o_incremental/g2o_incremental_api.h: *No copyright* UNKNOWN
g2o/examples/interactive_slam/g2o_interactive/g2o_interactive_api.h: *No copyright* UNKNOWN
g2o/types/deprecated/slam3d/g2o_deprecated_types_slam3d_api.h: *No copyright* UNKNOWN
g2o/examples/interactive_slam/slam_parser/parser/grammar.sh: *No copyright* UNKNOWN

The list is generated with

$ licensecheck -r g2o | grep 'UNKOWN' | grep -e '.h:' -e '.cpp:'

Additionally, some files are still licensed under GPLv3+ or LGPLv3+ (which is not really a problem, but probably unintended):

g2o/stuff/opengl_primitives.cpp: GPL (v3 or later)
g2o/stuff/opengl_primitives.h: GPL (v3 or later)
g2o/apps/g2o_hierarchical/g2o_hierarchical.cpp: LGPL (v3 or later)
g2o/apps/g2o_viewer/g2o_qglviewer.cpp: GPL (v3 or later)
g2o/apps/g2o_viewer/g2o_qglviewer.h: GPL (v3 or later)
g2o/apps/g2o_viewer/g2o_viewer.cpp: GPL (v3 or later)
g2o/apps/g2o_viewer/gui_hyper_graph_action.cpp: GPL (v3 or later)
g2o/apps/g2o_viewer/gui_hyper_graph_action.h: GPL (v3 or later)
g2o/apps/g2o_viewer/main_window.cpp: GPL (v3 or later)
g2o/apps/g2o_viewer/main_window.h: GPL (v3 or later)
g2o/apps/g2o_viewer/properties_widget.cpp: GPL (v3 or later)
g2o/apps/g2o_viewer/properties_widget.h: GPL (v3 or later)
g2o/apps/g2o_viewer/run_g2o_viewer.cpp: GPL (v3 or later)
g2o/apps/g2o_viewer/stream_redirect.cpp: LGPL (v3 or later)
g2o/apps/g2o_viewer/stream_redirect.h: LGPL (v3 or later)
g2o/apps/g2o_viewer/viewer_properties_widget.cpp: GPL (v3 or later)
g2o/apps/g2o_viewer/viewer_properties_widget.h: GPL (v3 or later)
g2o/examples/slam2d/main_window.cpp: GPL (v3 or later)
g2o/examples/slam2d/main_window.h: GPL (v3 or later)
g2o/examples/slam2d/slam2d_g2o.cpp: GPL (v3 or later)
g2o/examples/slam2d/slam2d_viewer.cpp: GPL (v3 or later)
g2o/examples/slam2d/slam2d_viewer.h: GPL (v3 or later)
g2o/solvers/csparse/csparse_helper.cpp: LGPL (v3 or later)
g2o/solvers/csparse/csparse_helper.h: LGPL (v3 or later)
g2o/solvers/csparse/g2o_csparse_extension_api.h: LGPL (v3 or later)
g2o/solvers/csparse/solver_csparse.cpp: LGPL (v3 or later)
g2o/solvers/eigen/solver_eigen.cpp: LGPL (v3 or later)
g2o/types/slam3d/types_slam3d.cpp: LGPL (v3 or later)
g2o/types/slam3d/types_slam3d.h: LGPL (v3 or later)
g2o/examples/interactive_slam/g2o_incremental/g2o_incremental.cpp: GPL (v3 or later)
g2o/examples/interactive_slam/g2o_incremental/graph_optimizer_sparse_incremental.cpp: GPL (v3 or later)
g2o/examples/interactive_slam/g2o_incremental/graph_optimizer_sparse_incremental.h: GPL (v3 or later)
g2o/examples/interactive_slam/g2o_incremental/linear_solver_cholmod_online.h: GPL (v3 or later)
g2o/examples/interactive_slam/slam_parser/parser/bison_parser.cpp: GPL (v3 or later)
g2o/examples/interactive_slam/slam_parser/parser/bison_parser.h: GPL (v3 or later)
g2o/examples/interactive_slam/slam_parser/parser/location.hh: GPL (v3 or later)
g2o/examples/interactive_slam/slam_parser/parser/position.hh: GPL (v3 or later)
g2o/examples/interactive_slam/slam_parser/parser/stack.hh: GPL (v3 or later)

It would be nice if you could fix those headers, so we can continue packaging g2o for Fedora.

RainerKuemmerle commented 7 years ago

With 4b9c2f5b68d14ad479457b18c5a2a0bce1541a90 I added the missing Copyrights to the files.