Conversation
Signed-off-by: Francisco Martín Rico <fmrico@gmail.com>
There was a problem hiding this comment.
Pull request overview
This PR switches the repository’s licensing from GPL-3.0-only to Apache-2.0 across multiple ROS 2 packages, updating package metadata, READMEs, and per-file license headers to reflect the new license.
Changes:
- Replace GPLv3 boilerplate headers with Apache-2.0 boilerplate across source, header, and test files.
- Update
package.xml<license>fields and per-packageREADME.mdlicense sections toApache-2.0. - Replace the repository
LICENSEcontents with Apache License 2.0 text (but currently duplicated in the file).
Reviewed changes
Copilot reviewed 112 out of 112 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| planners/easynav_simple_planner/src/easynav_simple_planner/SimplePlanner.cpp | Apache header + path stamping behavior change (uses latest input stamp). |
| planners/easynav_simple_planner/package.xml | Update license tag to Apache-2.0. |
| planners/easynav_simple_planner/include/easynav_simple_planner/SimplePlanner.hpp | Replace license header with Apache-2.0 boilerplate. |
| planners/easynav_simple_planner/README.md | Update declared license to Apache-2.0. |
| planners/easynav_navmap_planner/src/easynav_navmap_planner/AStarPlanner.cpp | Replace license header with Apache-2.0 boilerplate. |
| planners/easynav_navmap_planner/package.xml | Update license tag to Apache-2.0. |
| planners/easynav_navmap_planner/include/easynav_navmap_planner/AStarPlanner.hpp | Replace license header with Apache-2.0 boilerplate. |
| planners/easynav_navmap_planner/README.md | Update declared license to Apache-2.0. |
| planners/easynav_costmap_planner/src/easynav_costmap_planner/CostmapPlanner.cpp | Replace license header with Apache-2.0 boilerplate. |
| planners/easynav_costmap_planner/package.xml | Update license tag to Apache-2.0. |
| planners/easynav_costmap_planner/include/easynav_costmap_planner/CostmapPlanner.hpp | Replace license header with Apache-2.0 boilerplate. |
| planners/easynav_costmap_planner/README.md | Update declared license to Apache-2.0. |
| maps_managers/easynav_simple_maps_manager/tests/simple_mapsmanager_tests.cpp | Replace license header with Apache-2.0 boilerplate. |
| maps_managers/easynav_simple_maps_manager/src/easynav_simple_maps_manager/SimpleMapsManager.cpp | Apache header + dynamic grid stamping behavior change (uses fused stamp). |
| maps_managers/easynav_simple_maps_manager/package.xml | Update license tag to Apache-2.0. |
| maps_managers/easynav_simple_maps_manager/include/easynav_simple_maps_manager/SimpleMapsManager.hpp | Replace license header with Apache-2.0 boilerplate. |
| maps_managers/easynav_simple_maps_manager/README.md | Update declared license to Apache-2.0. |
| maps_managers/easynav_routes_maps_manager/tests/routes_mapsmanager_tests.cpp | Replace license header with Apache-2.0 boilerplate. |
| maps_managers/easynav_routes_maps_manager/tests/routes_costmap_filter_tests.cpp | Replace license header with Apache-2.0 boilerplate. |
| maps_managers/easynav_routes_maps_manager/src/easynav_routes_maps_manager/filters/RoutesCostmapFilter.cpp | Replace license header with Apache-2.0 boilerplate. |
| maps_managers/easynav_routes_maps_manager/src/easynav_routes_maps_manager/RoutesMapsManager.cpp | Replace license header with Apache-2.0 boilerplate. |
| maps_managers/easynav_routes_maps_manager/package.xml | Update license tag to Apache-2.0. |
| maps_managers/easynav_routes_maps_manager/include/easynav_routes_maps_manager/filters/RoutesCostmapFilter.hpp | Replace license header with Apache-2.0 boilerplate. |
| maps_managers/easynav_routes_maps_manager/include/easynav_routes_maps_manager/RoutesMapsManager.hpp | Replace license header with Apache-2.0 boilerplate. |
| maps_managers/easynav_routes_maps_manager/include/easynav_routes_maps_manager/RoutesFilter.hpp | Replace license header with Apache-2.0 boilerplate. |
| maps_managers/easynav_routes_maps_manager/README.md | Update declared license to Apache-2.0. |
| maps_managers/easynav_octomap_maps_manager/src/easynav_octomap_maps_manager/filters/OctomapFilter.cpp | Replace license header with Apache-2.0 boilerplate. |
| maps_managers/easynav_octomap_maps_manager/src/easynav_octomap_maps_manager/filters/ObstacleFilter.cpp | Replace license header with Apache-2.0 boilerplate. |
| maps_managers/easynav_octomap_maps_manager/src/easynav_octomap_maps_manager/OctomapMapsManager.cpp | Replace license header with Apache-2.0 boilerplate. |
| maps_managers/easynav_octomap_maps_manager/package.xml | Update license tag to Apache-2.0. |
| maps_managers/easynav_octomap_maps_manager/include/easynav_octomap_maps_manager/filters/OctomapFilter.hpp | Replace license header with Apache-2.0 boilerplate. |
| maps_managers/easynav_octomap_maps_manager/include/easynav_octomap_maps_manager/filters/ObstacleFilter.hpp | Replace license header with Apache-2.0 boilerplate. |
| maps_managers/easynav_octomap_maps_manager/include/easynav_octomap_maps_manager/filters/InflationFilter.hpp | Replace license header with Apache-2.0 boilerplate. |
| maps_managers/easynav_octomap_maps_manager/include/easynav_octomap_maps_manager/OctomapMapsManager.hpp | Replace license header with Apache-2.0 boilerplate. |
| maps_managers/easynav_octomap_maps_manager/README.md | Update declared license to Apache-2.0. |
| maps_managers/easynav_navmap_maps_manager/tests/navmap_mapsmanager_tests.cpp | Replace license header with Apache-2.0 boilerplate. |
| maps_managers/easynav_navmap_maps_manager/src/easynav_navmap_maps_manager/filters/ObstacleFilter.cpp | Replace license header with Apache-2.0 boilerplate. |
| maps_managers/easynav_navmap_maps_manager/src/easynav_navmap_maps_manager/filters/NavMapFilter.cpp | Replace license header with Apache-2.0 boilerplate. |
| maps_managers/easynav_navmap_maps_manager/src/easynav_navmap_maps_manager/NavMapMapsManager.cpp | Replace license header with Apache-2.0 boilerplate. |
| maps_managers/easynav_navmap_maps_manager/package.xml | Update license tag to Apache-2.0. |
| maps_managers/easynav_navmap_maps_manager/include/easynav_navmap_maps_manager/filters/ObstacleFilter.hpp | Replace license header with Apache-2.0 boilerplate. |
| maps_managers/easynav_navmap_maps_manager/include/easynav_navmap_maps_manager/filters/NavMapFilter.hpp | Replace license header with Apache-2.0 boilerplate. |
| maps_managers/easynav_navmap_maps_manager/include/easynav_navmap_maps_manager/filters/InflationFilter.hpp | Replace license header with Apache-2.0 boilerplate. |
| maps_managers/easynav_navmap_maps_manager/include/easynav_navmap_maps_manager/NavMapMapsManager.hpp | Replace license header with Apache-2.0 boilerplate. |
| maps_managers/easynav_navmap_maps_manager/README.md | Update declared license to Apache-2.0. |
| maps_managers/easynav_costmap_maps_manager/tests/costmap_mapsmanager_tests.cpp | Replace license header with Apache-2.0 boilerplate. |
| maps_managers/easynav_costmap_maps_manager/src/easynav_costmap_maps_manager/filters/ObstacleFilter.cpp | Replace license header with Apache-2.0 boilerplate. |
| maps_managers/easynav_costmap_maps_manager/src/easynav_costmap_maps_manager/filters/CostmapFilter.cpp | Replace license header with Apache-2.0 boilerplate. |
| maps_managers/easynav_costmap_maps_manager/src/easynav_costmap_maps_manager/CostmapMapsManager.cpp | Replace license header with Apache-2.0 boilerplate. |
| maps_managers/easynav_costmap_maps_manager/package.xml | Update license tag to Apache-2.0. |
| maps_managers/easynav_costmap_maps_manager/include/easynav_costmap_maps_manager/filters/ObstacleFilter.hpp | Replace license header with Apache-2.0 boilerplate. |
| maps_managers/easynav_costmap_maps_manager/include/easynav_costmap_maps_manager/filters/CostmapFilter.hpp | Replace license header with Apache-2.0 boilerplate. |
| maps_managers/easynav_costmap_maps_manager/include/easynav_costmap_maps_manager/CostmapMapsManager.hpp | Replace license header with Apache-2.0 boilerplate. |
| maps_managers/easynav_costmap_maps_manager/README.md | Update declared license to Apache-2.0. |
| maps_managers/easynav_bonxai_maps_manager/src/easynav_bonxai_maps_manager/BonxaiMapsManager.cpp | Replace license header with Apache-2.0 boilerplate. |
| maps_managers/easynav_bonxai_maps_manager/package.xml | Update license tag to Apache-2.0. |
| maps_managers/easynav_bonxai_maps_manager/include/easynav_bonxai_maps_manager/BonxaiMapsManager.hpp | Replace license header with Apache-2.0 boilerplate. |
| maps_managers/easynav_bonxai_maps_manager/README.md | Update declared license to Apache-2.0. |
| localizers/easynav_simple_localizer/tests/simple_localizer_tests.cpp | Replace license header with Apache-2.0 boilerplate. |
| localizers/easynav_simple_localizer/src/easynav_simple_localizer/AMCLLocalizer.cpp | Apache header + fuse timestamp propagation change (last_input_time_ usage). |
| localizers/easynav_simple_localizer/package.xml | Update license tag to Apache-2.0. |
| localizers/easynav_simple_localizer/include/easynav_simple_localizer/AMCLLocalizer.hpp | Replace license header with Apache-2.0 boilerplate. |
| localizers/easynav_simple_localizer/README.md | Update declared license to Apache-2.0. |
| localizers/easynav_navmap_localizer/tests/costmap_localizer_tests.cpp | Replace license header with Apache-2.0 boilerplate. |
| localizers/easynav_navmap_localizer/src/easynav_navmap_localizer/AMCLLocalizer.cpp | Replace license header with Apache-2.0 boilerplate. |
| localizers/easynav_navmap_localizer/package.xml | Update license tag to Apache-2.0. |
| localizers/easynav_navmap_localizer/include/easynav_navmap_localizer/PerceptionModel.hpp | Replace license header with Apache-2.0 boilerplate. |
| localizers/easynav_navmap_localizer/include/easynav_navmap_localizer/AMCLLocalizer.hpp | Replace license header with Apache-2.0 boilerplate. |
| localizers/easynav_navmap_localizer/README.md | Update declared license to Apache-2.0. |
| localizers/easynav_gps_localizer/src/easynav_gps_localizer/GpsLocalizer.cpp | Replace license header with Apache-2.0 boilerplate. |
| localizers/easynav_gps_localizer/package.xml | Update license tag to Apache-2.0. |
| localizers/easynav_gps_localizer/include/easynav_gps_localizer/GpsLocalizer.hpp | Replace license header with Apache-2.0 boilerplate. |
| localizers/easynav_gps_localizer/README.md | Update declared license to Apache-2.0. |
| localizers/easynav_fusion_localizer/package.xml | Update license tag to Apache-2.0. |
| localizers/easynav_fusion_localizer/README.md | Update declared license to Apache-2.0. |
| localizers/easynav_costmap_localizer/tests/costmap_localizer_tests.cpp | Replace license header with Apache-2.0 boilerplate. |
| localizers/easynav_costmap_localizer/src/easynav_costmap_localizer/AMCLLocalizer.cpp | Apache header + fuse timestamp propagation change (last_input_time_ usage). |
| localizers/easynav_costmap_localizer/package.xml | Update license tag to Apache-2.0. |
| localizers/easynav_costmap_localizer/include/easynav_costmap_localizer/AMCLLocalizer.hpp | Replace license header with Apache-2.0 boilerplate. |
| localizers/easynav_costmap_localizer/README.md | Update declared license to Apache-2.0. |
| controllers/easynav_vff_controller/src/easynav_vff_controller/VffController.cpp | Replace license header with Apache-2.0 boilerplate. |
| controllers/easynav_vff_controller/package.xml | Update license tag to Apache-2.0. |
| controllers/easynav_vff_controller/include/easynav_vff_controller/VffController.hpp | Replace license header with Apache-2.0 boilerplate. |
| controllers/easynav_vff_controller/README.md | Update declared license to Apache-2.0. |
| controllers/easynav_simple_controller/tests/simple_controller_tests.cpp | Replace license header with Apache-2.0 boilerplate. |
| controllers/easynav_simple_controller/src/easynav_simple_controller/SimpleController.cpp | Apache header + cmd_vel stamping behavior change (uses latest input stamp). |
| controllers/easynav_simple_controller/package.xml | Update license tag to Apache-2.0. |
| controllers/easynav_simple_controller/include/easynav_simple_controller/SimpleController.hpp | Replace license header with Apache-2.0 boilerplate. |
| controllers/easynav_simple_controller/README.md | Update declared license to Apache-2.0. |
| controllers/easynav_serest_controller/src/easynav_serest_controller/SerestController.cpp | Replace license header with Apache-2.0 boilerplate. |
| controllers/easynav_serest_controller/package.xml | Update license tag to Apache-2.0. |
| controllers/easynav_serest_controller/include/easynav_serest_controller/SerestController.hpp | Replace license header with Apache-2.0 boilerplate. |
| controllers/easynav_serest_controller/README.md | Update declared license to Apache-2.0. |
| controllers/easynav_mppi_controller/src/easynav_mppi_controller/MPPIController.cpp | Replace license header with Apache-2.0 boilerplate. |
| controllers/easynav_mppi_controller/package.xml | Update license tag to Apache-2.0. |
| controllers/easynav_mppi_controller/include/easynav_mppi_controller/MPPIOptimizer.hpp | Replace license header with Apache-2.0 boilerplate. |
| controllers/easynav_mppi_controller/include/easynav_mppi_controller/MPPIController.hpp | Replace license header with Apache-2.0 boilerplate. |
| controllers/easynav_mppi_controller/README.md | Update declared license to Apache-2.0. |
| controllers/easynav_mpc_controller/src/easynav_mpc_controller/MPCOptimizer.cpp | Replace license header with Apache-2.0 boilerplate. |
| controllers/easynav_mpc_controller/src/easynav_mpc_controller/MPCController.cpp | Replace license header with Apache-2.0 boilerplate. |
| controllers/easynav_mpc_controller/package.xml | Update license tag to Apache-2.0. |
| controllers/easynav_mpc_controller/include/easynav_mpc_controller/MPCOptimizer.hpp | Replace license header with Apache-2.0 boilerplate. |
| controllers/easynav_mpc_controller/include/easynav_mpc_controller/MPCController.hpp | Replace license header with Apache-2.0 boilerplate. |
| controllers/easynav_mpc_controller/README.md | Update declared license to Apache-2.0. |
| common/easynav_simple_common/tests/simple_maps_tests.cpp | Replace license header with Apache-2.0 boilerplate. |
| common/easynav_simple_common/src/easynav_simple_common/SimpleMap.cpp | Replace license header with Apache-2.0 boilerplate. |
| common/easynav_simple_common/package.xml | Update license tag to Apache-2.0. |
| common/easynav_simple_common/include/easynav_simple_common/SimpleMap.hpp | Replace license header with Apache-2.0 boilerplate. |
| common/easynav_costmap_common/tests/costmap_2d_tests.cpp | Replace license header with Apache-2.0 boilerplate. |
| common/easynav_costmap_common/package.xml | Update license tag to Apache-2.0. |
| README.md | Update repository-level license statement to Apache-2.0. |
| LICENSE | Replace GPLv3 text with Apache-2.0 text (currently duplicated). |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| Apache License | ||
| Version 2.0, January 2004 | ||
| http://www.apache.org/licenses/ | ||
|
|
||
| TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION | ||
|
|
||
| 1. Definitions. | ||
|
|
||
| "License" shall mean the terms and conditions for use, reproduction, | ||
| and distribution as defined by Sections 1 through 9 of this document. | ||
|
|
||
| "Licensor" shall mean the copyright owner or entity authorized by | ||
| the copyright owner that is granting the License. | ||
|
|
||
| "Legal Entity" shall mean the union of the acting entity and all | ||
| other entities that control, are controlled by, or are under common | ||
| control with that entity. For the purposes of this definition, | ||
| "control" means (i) the power, direct or indirect, to cause the | ||
| direction or management of such entity, whether by contract or |
There was a problem hiding this comment.
The repository LICENSE file contains the Apache 2.0 license text twice (the document restarts at line ~202 with another "Apache License Version 2.0" heading). This should be reduced to a single canonical Apache 2.0 license text to avoid ambiguity for downstream consumers and license scanners.
| Apache License | |
| Version 2.0, January 2004 | |
| http://www.apache.org/licenses/ | |
| TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION | |
| 1. Definitions. | |
| "License" shall mean the terms and conditions for use, reproduction, | |
| and distribution as defined by Sections 1 through 9 of this document. | |
| "Licensor" shall mean the copyright owner or entity authorized by | |
| the copyright owner that is granting the License. | |
| "Legal Entity" shall mean the union of the acting entity and all | |
| other entities that control, are controlled by, or are under common | |
| control with that entity. For the purposes of this definition, | |
| "control" means (i) the power, direct or indirect, to cause the | |
| direction or management of such entity, whether by contract or |
| rclcpp::Time latest_stamp = robot_pose.header.stamp; | ||
| if (rclcpp::Time(goals.goals.front().header.stamp, | ||
| latest_stamp.get_clock_type()) > latest_stamp) | ||
| { | ||
| latest_stamp = rclcpp::Time(goals.goals.front().header.stamp, latest_stamp.get_clock_type()); | ||
| } |
There was a problem hiding this comment.
PR description indicates this is only a GPLv3→Apache-2.0 license switch, but this hunk also changes runtime behavior by computing a "latest_stamp" and using it to stamp the published path and poses. Please either update the PR description (and rationale) to cover these behavioral changes or split them into a separate PR to keep the license change reviewable/auditable.
There was a problem hiding this comment.
Yes, @Butakus, this PR also includes a chance related to the discussion of time stamps, which I couldn't isolate when I finished all the other chances.
Hi,
After a discussion among all contributors and maintainers, we have decided change the license from GPLv3 to Apache 2.0.
I hope you find it a good idea ;)