Closed jwnimmer-tri closed 7 years ago
The license for the libbot types appears to be LGPL. I guess the OH folks that forked that didn't pay much attention to such matters, so I have no idea what license applies to their contributions?
IANAL but my guess is we can't fix this without confirmation from the stakeholders... I'll try to ping them...
That's awful. Good luck!
For what it's worth, the openhumanoids code and all components is licensed with the 3 clause bsd license:
https://github.com/openhumanoids/oh-distro/blob/master/LICENSE.txt
For what it's worth, the openhumanoids code and all components is licensed with the 3 clause bsd license
I don't think we can apply that without at least @ashuang's approval, since the original libbot types appear to be under LGPLv3. (In fact, if you (i.e. OH) are applying that to OH's LCM types, including those from libbot, you are probably violating @ashuang's copyright, unless permission was obtained.)
p.s. @patmarion, you are one of the stakeholders... did you get my mail? Do you agree to license your contributions under LGPLv3 and/or BSD 3-clause? (Also, if you have contact with any of the other stakeholders and can poke them to reply, that would be appreciated :smile:.)
Okay, trying again to identify the stakeholders...
If you are named in this comment, please indicate if you approve licensing the code in this repository under LGPL, version 3.0 or later and/or BSD 3-clause. Please also indicate the appropriate copyright holder (e.g. you as an individual, or the organization under which your contributions were made).
For the record, I currently have these copyrights:
(@mauricefallon, can you confirm if your changes from 2016 do indeed bump the MIT DRC date from 2015 to 2016, as shown above?)
I'm happy with either license.
I'm not sure what your question regarding 2015 and 2016 means. I have not been an MIT employee since Dec 2014. You seem to be being ultra careful, in which case you should add University of Edinburgh - which is where @iamwolf and I work and have been since Jan 2015.
Also in theory all open source requests at MIT (including Albert's work) should go through the MIT Technology Licensing Office. Can-of-worms.
I approve of both licenses. Some of my work is copyright myself, and some is probably copyright MIT.
Albert
On Wed, Oct 5, 2016 at 11:43 AM, Maurice Fallon notifications@github.com wrote:
I'm happy with either license.
I'm not sure what your question regarding 2015 and 2016 means. I have not been an MIT employee since Dec 2014. You seem to be being ultra careful, in which case you should add University of Edinburgh - which is where @iamwolf https://github.com/iamwolf and I work and have been since Jan 2015.
Also in theory all open source requests at MIT (including Albert's work) should go through the MIT Technology Licensing Office. Can-of-worms.
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/RobotLocomotion/lcmtypes/issues/2#issuecomment-251762731, or mute the thread https://github.com/notifications/unsubscribe-auth/ABfLgmCcQnLbbpuDqM3s2EoqOLXz5Gk7ks5qw-_bgaJpZM4KKSCm .
I approve of both licenses. All of my work on this project has either been through the MIT DRC team or through the Locomotion group.
I'm not sure what your question regarding 2015 and 2016 means. I have not been an MIT employee since Dec 2014. You seem to be being ultra careful, in which case you should add University of Edinburgh - which is where @iamwolf and I work and have been since Jan 2015.
Okay, updated. I "reverted" the year change to MIT DRC Team. Do you know if they have contributed any changes since 2015?
Also in theory all open source requests at MIT (including Albert's work) should go through the MIT Technology Licensing Office.
Are any of you aware of contributions to either libbot2 or originating from MIT but not from OH to which this would apply? (The libbot2 stuff is previously released under LGPLv3+; the OH stuff is already released under BSD.)
Some of my work is copyright myself, and some is probably copyright MIT.
If any of the MIT work needs authorship other than I listed above, please let me know. Otherwise, NP :smile:.
no changes since 2015. MIT DRC team has been dissolved
and no other contributions
Okay, thanks!
Waiting on @iamwolf. (Those contributions, all 2016, are presumably attributed to "University of Edinburgh"?)
Hey @mwoehlke-kitware, I am an individual/myself (student; IP here is held by students unless assigned, which isn't the case). Happy with either LGPLv3+ or 3-clause BSD.
Also, I've been trying to push forward your modernisation with added backwards compatibility in https://github.com/openhumanoids/bot_core_lcmtypes/pull/20 - thanks so much for your contribution. I'd really love to see if there's a way to not diverge on the communication/message level, I'd really appreciate that (and have a strong interest in it) - and also hope this isn't closing the door after horse has already bolted. It's more than unfortunate and unsatisfying that response and action has taken so long, I apologise as I couldn't be the sole student to pick up maintenance, assessment, and integration. That being said, if we can find a way to continue to work with shared types and not diverge, I am happy to put dev cycles towards it and also maintain two branches for the two build systems and apply changes across them if required.
Best Wolfgang
I am an individual/myself (student; IP here is held by students unless assigned, which isn't the case). Happy with either LGPLv3+ or 3-clause BSD.
Thanks. I updated the copyrights list. Please let me know if didn't do it right :smile:.
@mauricefallon, should your contributions be assigned to UoE, yourself, or both?
That being said, if we can find a way to continue to work with shared types and not diverge, I am happy to put dev cycles towards it and also maintain two branches for the two build systems and apply changes across them if required.
This needs to be discussed somewhere else, though I'm not certain what would be the correct forum. There are a couple issues:
TBH, the hope/desire however was/is that this repo would become the new primary repo, and other users would slowly migrate.
Rather than discuss here, I would request that someone knowledgeable propose a more appropriate forum, bearing in mind that both Drake and OH are major stakeholders.
@wxmerkt -- let me make sure I understand. I believe that the message types will not change (we might add to them). the build system is changing. My hope is that this happens quickly and that you could switch over to using this as a cmake external so we stay in sync with each other. Is that overly simplistic/optimistic?
@mwoehlke-kitware , @RobotLocomotion/tri -- note that actually changing the types has significant additional cost to existing users because it means we have to use an old revision in order to inspect old logs. Best practices are to change LCM types only when absolutely necessary.
The message types already changed (specifically, the namespace changed; see #1). Per previous comments, I think this is TRTTD, at least for some types, because we've historically abused the bot_core namespace for non-libbot types.
Can we please take this off topic conversation to a more appropriate venu? Is there a mailing list that makes sense for this and is accessible to all stakeholders, or do I need to open a new issue? (I'd prefer to not have what seems likely to turn into a lengthy discussion on github.)
@mauricefallon, should your contributions be assigned to UoE, yourself, or both?
Both.
As far as I know, changing the namespace of the types does not actually change their LCM fingerprint, and does not break backwards compatibility. For example, we have at times had pronto::
LCM types with exactly the same fields as drc::
LCM types, and have been able to treat them as identical.
As far as I know, changing the namespace of the types does not actually change their LCM fingerprint, and does not break backwards compatibility.
Ah, cool. (Well, it breaks SC and BC, but oh well; if they're wire compatible that likely covers the really critical use cases that folks are worrying over. I should note also I don't think there are any plans at this time to change the actual data formats, at least not for the more established types.)
LCM fingerprint is invariant to changes in package name and type name. e.g., the following have identical fingerprints and wire format:
package abc; struct vec2d { double x; double y; }
package def; struct point2d { double x; double y; }
On Thu, Oct 6, 2016 at 11:39 AM, Matthew Woehlke notifications@github.com wrote:
As far as I know, changing the namespace of the types does not actually change their LCM fingerprint, and does not break backwards compatibility.
Ah, cool. (Well, it breaks SC and BC, but oh well; if they're wire compatible that likely covers the really critical use cases that folks are worrying over. I should note also I don't think there are any plans at this time to change the actual data formats, at least not for the more established types.)
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/RobotLocomotion/lcmtypes/issues/2#issuecomment-252051767, or mute the thread https://github.com/notifications/unsubscribe-auth/ABfLgsK7f1l4J6Vt3616R_g4a1Gf_wO3ks5qxUB3gaJpZM4KKSCm .
@mauricefallon, should your contributions be assigned to UoE, yourself, or both?
Both.
Thanks. I've updated the list accordingly, and I think that covers everyone. I will start preparing a PR to add a COPYRIGHT
and LICENSE
. If anyone is aware of anything I have missed, please speak up ASAP!
Thanks again, everyone!
I've created #3 to track the ecosystem strategy and protocol compatibility discussion. I agree with @mwoehlke-kitware it will be clearer to separate that from this licensing discussion.
Seriously, guys? This library got added to Drake but doesn't have a license file yet? Can we please get licensing sorted out ASAP?
@mwoehlke-kitware @sammy-tri reping. What's the deal with getting this code marked with copyright ownership, and an open-source license grant?
The initial code was copied from openhumanoids/oh-distro, which has this license: https://github.com/openhumanoids/oh-distro/blob/master/LICENSE.txt
Do you think that would be suitable to copy into this repository?
Sure, files that are bitwise identical to code under that license can be used and redistributed under those terms (BSD-3-Clause). We can mark them as such in our fork. If there were subsequent modifications, we'll need to understand the license grant of those modifications.
There have been subsequent modifications. If you're implying that there's additional understanding required to take code licensed under BSD-3-Clause, modify it, and continue licensing it under BSD-3-Clause, you want to talk to a lawyer, not me. If you're implying I don't have the authority to claim the files which I modified are still valid to license under BSD-3-Clause, I'm not sure how to proceed from here.
If you're implying that there's additional understanding required to take code licensed under BSD-3-Clause, modify it, and continue licensing it under BSD-3-Clause, you want to talk to a lawyer, not me.
Well, if the submitters of the changes agreed to contribute their modifications under BSD-3-Clause, then we are fine. (If its only TRI folks, then we are fine, because TRI owns our changes, not us.) If other contributors did not grant a license for their (non-trivial, i.e. copyrightable) changes, then nobody can (legally) do anything with those changes and we have to either approach them to grant a license, or force-push-remove their changes from the tree.
This is all a bit abstract. Should I do a sit-down at some point and shoulder-surf the history in question, to help sort this out?
The full history has only two committers (and one is me). Let's do a quick sit-down when we're both in the same place, I suspect we can do this more quickly f2f.
FYI: My last status (as of October :cry:) is that Matthew Walter was claiming copyright on "some of those LCM types", but never pinged this issue (which I requested for recording purposes) with license approval and copyright statement. AFAIUI he did approve of the licensing, however, but I'd prefer to have an "official" record.
AFAIK, all other stakeholders are identified in my list, above, and have approved using either BSD-3 or LGPL.
The full history has only two committers [...]
The full history must be traced back through libbot, as some of the types came from there. I'm pretty sure there are more than two contributors. IIRC some of said history is not even available any more.
Note that the issue is that it isn't clear that OH had permission to distribute under BSD-3 those types which originated in libbot. This issue has recorded permission from all stakeholders except Matthew Walter to do so.
Addendum: the previous comment applies to the types in bot_core_types (which is also missing proper attribution). Types unique to the RobotLocomotion repo shouldn't be in the same mess, but I'd like to get the OH repo fixed, also...
From f2f: Create PR adding license file, Pat to ack as the other committer to the repo. Add documentation (see somewhere in Drake) that PR contributors license their contributions with the same license as the project. (I typed that before seeing the most recent updates about bot_core_lcmtypes)
Sorry to be piping in so late. I am fine with both licenses. Some copyrights are to me while others are to MIT.
Thanks, @mrwalter! Do you know what year your contributions were made?
I'd say starting in 2012
Okay, though the end date is most useful. This is for the copyright statement; for now, I'll put 2012, but let me know if that should be changed. Thanks again!
Okay! I believe https://github.com/RobotLocomotion/lcmtypes/issues/2#issuecomment-251760790 now reflects the complete list of needed approvals and attributions for the combined types in libbot2, OH/bot_core_types, and RL/lcmtypes. Not all attributions may apply to all repos, but at any rate, I do believe all our approvals are now in order.
Please ping this issue if any of the attributions need adjusting.
Thanks again, all!
Fixed in #9
Note: At the time of this discussion, this repository was a fork of openhumanoids/bot_core_lcmtypes@6f8d14dc2f810aaf995c640518e6c3431179de98 (and was subsequently "rebooted" per #3). Accordingly, this discussion and the licensing approvals are pertinent to openhumanoids/bot_core_lcmtypes#33.
Code is unusable without LICENSE and COPYRIGHT. Please figure out the existing licensing of all of the copied code, and then update the files here to match (as derived works).