Biogen-Inc / IDEAFilter

An R Shiny Filtering module. Demo the shiny module at: https://bit.ly/demo_IDEAFilter
https://biogen-inc.github.io/IDEAFilter/
Other
12 stars 2 forks source link

Copyright issues #8

Open AARON-CLARK opened 2 years ago

AARON-CLARK commented 2 years ago

Initially brought to my attention here.

According to the MIT license, we need to appropriately cite any works that that leverage an MIT license in a license.md file, like sortableJS and shinyDataFilter. Use this shinyDataFilter PR as a template.

dgkf commented 1 year ago

@AARON-CLARK - Has there been any progress on this? It's still in violation of my license.

I love the fact that you're using the code, but the fact that it's published under a different license is problematic for me. This is not just a matter of preference - leaving it available under this license creates confusion of who is the original author and what license applies. The license that you released it under is less open and limits the use cases where someone may feel comfortable using the software, impacting the adoption of my work.

By allowing you to keep it published under this license I'm opening up myself to license disputes for the code that you took. If a third party uses my code, with the original license, Biogen could conceivably force this third party into an unfortunate position of being forced to share their code according to your viral license when the original license would have been more flexible for their use case. The longer you keep it available under this license, the murkier this situation gets.

I wanted institutions to be able to use this code without opening themselves up to such requests, but your change of the license wraps this in a whole lot of ambiguity.

Can we set a deadline around fixing this mistake? I propose that we aim for the end of November to have a version with an appropriate license for redistributing my code.

AARON-CLARK commented 1 year ago

Hi @dgkf,

My mistake. Since publishing on CRAN, {IDEAFilter} has been the last thing on my mind and TODO list. But I wouldn't want to put you in a bind. Can you look at #11 to see if it mirrors your expectations and best practices you cited here. I like that resource you shared; my only qualm with it is that it seems to directly defy Hadley's r-pkgs.org book regarding the permitted uses of the LICENSE file in this excerpt:

...the LICENSE file is used in one of two ways. Some licenses are templates that require additional details to be complete in the LICENSE file. The LICENSE file can also contain the full text of non-standard and non-open source licenses. You are not permitted to include the full text of standard licenses.

So copy/pasting the MIT license a bunch of times into the LICENSE file seems problematic since it's arguably the most standard license from a prevalence perspective.

For completeness & consistency, how did you go about citing the author of SortableJS in the Authors@R field, especially given there are multiple authors? It was easy enough for shinyDataFilter given you are the only author. I noticed you didn't include their works in shinyDataFilter's author field.

Thanks! I am no licensing expert so I appreciate the learning experience.

dgkf commented 1 year ago

Thanks for acting fast, @AARON-CLARK - much appreciated :tada:

The merge request looks great. I think you're in good shape. In short, I think you'd be good with those new changes, but just to address the questions you posed as well (and keep in mind that I'm learning as I go with all these license details too):

copy/pasting the MIT license a bunch of times into the LICENSE file seems problematic since it's arguably the most standard license from a prevalence perspective

This isn't copying the full license, just the author's copyright file. This is why software licensed as MIT is always MIT + file LICENSE, the LICENSE file is a minimal bit where the author states their copyright. It's a small file, so I think having a few copies hanging around is generally tolerated.

how did you go about citing the author of SortableJS in the Authors@R field

I think that including authors of your redistributed code is a good practice, but is not required by the license itself. When I was redistributing sortableJS, I wasn't aware of this practice at all - I should probably adopt it also. Using shiny as an example, when there are many authors, shiny lists the " Contributors" as a collective author. Perhaps that's the best route forward for the sortableJS redistribution, similar to:

person(family = "Bootstrap contributors", role = "ctb",
    comment = "Bootstrap library")
AARON-CLARK commented 1 year ago

@dgkf, merged!

dgkf commented 1 year ago

Awesome, thanks for getting that all sorted out.

If you don't have a new release planned in the near future, could I also ask that you publish the version with the appropriate license to CRAN?

AARON-CLARK commented 1 year ago

@dgkf, I have a lot of OOO coming up, so I'll consult with my dev team to see when we could do this.

aclark02-arcus commented 5 months ago

@dgkf, a long time overdue, but we're finally seeking to push a new release of IDEAFilter to CRAN and CRAN came back with the following comments regarding the license file:

You need a single license for the whole package. If different
software products get bundled, you have to relicense under a common
single license (if the other licenses permit that or you have permission
from the copyright holders).

So it sounds like Biogen's initial choice of AGPL-3.0 is indeed problematic given shinyDataFilter and Sortable are both MIT. Since I am a license novice, I thought I'd reach out to ask: do we have any option other than re-licensing to MIT?