Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Change license from GPLv3+ to LGPLv3+ #96

Merged
merged 7 commits into from
Aug 5, 2024
Merged

Change license from GPLv3+ to LGPLv3+ #96

merged 7 commits into from
Aug 5, 2024

Conversation

khancyr
Copy link
Collaborator

@khancyr khancyr commented Jun 14, 2024

This change of license intend to allow broader usage of our gazebo plugin by including it into larger gazebo changes.

I am not even sure we could have use the GPLv3 license in first place.

The change is not retroactive, so the anything before this commit can still be used as GPLv3 code, and forked as such.
This change will also apply to Gazebo-classic plugin for the few that still use it.

I will try to contact every contributors.
The full list is bellow, it it be updated with the answers from the devs.

Just ack with an OK or something visible ! thanks

@khancyr khancyr added enhancement New feature or request question Further information is requested labels Jun 14, 2024
Copy link
Contributor

@acxz acxz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am not even sure we could have use the GPLv3 license in first place.

I'm totally okay with this change, if it means we are following the legal precaution to better integrate ardupilot and gazebo.

@41Mo
Copy link
Contributor

41Mo commented Jun 14, 2024

I'm totally ok with this change

@srmainwaring
Copy link
Collaborator

@khancyr - I support. The license comments in the source code need to be updated to LGPLv3.

We'll need to check the status of these files taken from the core ArduPilot codebase:

  • Socket.cpp
  • Socket.h

This file has the wrong notice in it (the header is ok):

  • ParachutePlugin.cc

These files are Apache License, Version 2.0, although ArduPilot should also be in the copyright as there is only a small amount of residual code from the original versions now.

  • ArduPilotPlugin.hh
  • ArduPilotPlugin.cc

The ArduCopterIRLockPlugin has not been ported to Gazebo Garden/Harmonic - we could just remove it? It's been kept as a reference in case someone wanted the feature, but no one has asked (someone will now though - for sure).

The package.xml file used by the colcon build has a license field.

@ahcorde
Copy link
Contributor

ahcorde commented Jun 14, 2024

I'm totally ok with this change

@clydemcqueen
Copy link
Contributor

I support, thanks

@khancyr
Copy link
Collaborator Author

khancyr commented Jun 14, 2024

@srmainwaring thanks for pointing this.

I have remove the IRLock plugin. We got other way to do this in SITL now so we can deprecate this.
For parachute : from history, it looks like it was taken from px4 repo, so it should be Apache 2, shouldn't it ?

We need to check the issue with Socket.h/cpp as they are taken from ardupilot ... so theorically they inherit from the GPL and will mess up with everything.

@khancyr
Copy link
Collaborator Author

khancyr commented Jun 14, 2024

tridge peterbarker staroselskii muramura lucasdemarchi

SocketAPM only have a few contributors, so we could ask them too to relicense our fork. Before spamming everybody with this, I have ask first Tridge on about this as he is the main author.

@kant
Copy link
Contributor

kant commented Jun 15, 2024

I'm totally ok with this change

@tridge
Copy link
Contributor

tridge commented Jul 10, 2024

@khancyr I'm happy with the change

@Rezenders
Copy link
Contributor

I am also happy with the changes

@Ryanf55
Copy link
Contributor

Ryanf55 commented Jul 19, 2024

Awesome, everyone responded. Assuming we can get CI to pass, let's merge this in soon:)

@srmainwaring
Copy link
Collaborator

Awesome, everyone responded. Assuming we can get CI to pass, let's merge this in soon:)

Not quite so fast: Socket.h and Socket.cpp need to be replaced/rewritten as they are from ardupilot/libraries/AP_HAL/utility and licensed GPL.

@Ryanf55
Copy link
Contributor

Ryanf55 commented Jul 21, 2024 via email

@khancyr khancyr force-pushed the lgplv3 branch 2 times, most recently from 7f3fa7a to 0624167 Compare July 31, 2024 23:10
@khancyr
Copy link
Collaborator Author

khancyr commented Jul 31, 2024

@Ryanf55 @srmainwaring socketAPM is dead. We should be good now !

@khancyr khancyr force-pushed the lgplv3 branch 2 times, most recently from b95399a to 67323ac Compare July 31, 2024 23:20
@srmainwaring
Copy link
Collaborator

@Ryanf55 @srmainwaring socketAPM is dead. We should be good now !

@khancyr thanks for the changes. There is a lot going on in this PR. Can the code changes be split into a number of PRs, separate from the licence change as some of these are style changes and others such as the warning levels will need to be checked on various platforms.

In addition to the license change we have:

  • Replacing SocketAPM with SocketUDP
  • Changing warning levels and target includes in CMakeLists.
  • Removing old / deprecated plugins
  • Changes to class style (final keywords, function signatures etc)
  • Not using this-> for member access (which is a change from the Gazebo convention)
  • Changing member variable names to m_name etc. (also a change from Gazebo convention).

@khancyr
Copy link
Collaborator Author

khancyr commented Jul 31, 2024

yes I can move the non licenses related change to another PR

@khancyr
Copy link
Collaborator Author

khancyr commented Jul 31, 2024

@srmainwaring updated with only the changes need for the license update

  • Replacing SocketAPM with SocketUDP to not carry gpl from it.
  • remove IRLOCK plugin to not have to look at licensing issues on it
  • add proper license everywhere

@khancyr khancyr merged commit d14d231 into main Aug 5, 2024
4 of 6 checks passed
@khancyr khancyr deleted the lgplv3 branch August 5, 2024 16:17
@srmainwaring srmainwaring mentioned this pull request Oct 30, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request question Further information is requested
Projects
None yet
Development

Successfully merging this pull request may close these issues.

10 participants