Washington-University / cifti-matlab

MATLAB code for reading and writing CIFTI connectivity files
Other
65 stars 20 forks source link

relicense read_nifti2_hdr.m per discussion with Robert Oostenveld #8

Closed coalsont closed 3 years ago

coalsont commented 3 years ago

@robertoostenveld, please review the wording of the dual-licensing of your code in read_nifti2_hdr.m

Also includes relicensing of the WashU code to BSD, as it is relevant to this change.

coalsont commented 3 years ago

It isn't clear how to extend LICENSE.* to handle dual license or mixed licenses on a file, I refer to those files in the ft_cifti folder because I am leaving that untouched (mostly - I made some mex-related changes), and that is how you organized things.

I thought an explanation of the licenses and exactly what they apply to in LICENSE would give more clarity, but with those explanations, I don't know how useful an extra copy of another license file is.

coalsont commented 3 years ago

I realized an inconsistency that should have occurred to me earlier: ft_cifti/GPL and ft_cifti/LICENSE.fieldtrip mention GPL v2(+), but basically all the files in ft_cifti/*.m and ft_cifti/private say "version 3 ...". I can change the root LICENSE to say "v3+" for ft_cifti and leave it at that, but is there any change you want me to make inside the ft_cifti folder to clear this up?

robertoostenveld commented 3 years ago

I suggest you rename the current ft_cifti/GPL file to GPLv2 and add a file GPLv3. Most FT code refers to the v3 version, but some of it (and the xmltree and gifti code) refers to v2. Also the LICENSE.fieldtrip file refers to v2, in line with https://github.com/fieldtrip/fieldtrip/blob/master/COPYING. It would be good to make all code in FieldTrip (and its COPYING file) consistent with v3, but I will not rush into that right now.

We could also change all files here in ft_cifti/private that now mention v2 into v3, but that would make it harder to keep track of their provenance and possibly update them in the future. So I rather don't do edits to the code if not needed.

At the top level of cifti-matlab you have @xmltree and LICENSE.xmltree. I suggest you either add LICENSE.xmltree to the cifti-matlab/ft_cifti directory, or remove the cifti-matlab/ft_cifti/@xmltree directory. Either one is fine: option 1 keeps ft_cifti better intact as a stand-alone thing, but option 2 prevents duplication. I don't expect people will have difficulties with option 2, so I suggest you go for that.

coalsont commented 3 years ago

I have edited /@xmltree to modify its behavior somewhat, and it is not intended that anyone should try to mix code from ft_cifti into any other code in the repository, and I don't plan on trying to change how the ft_cifti code behaves, which means there should be two separate @xmltree folders.

When I pushed the v2 code, I kept /ft_cifti/LICENSE.xmltree, added the original LICENSE and GPL back into /@xmltree, and kept the now-redundant /LICENSE.xmltree until now. /ft_cifti/LICENSE.xmltree already exists, and that will remain unchanged by this PR (https://github.com/Washington-University/cifti-matlab/tree/license-change/ft_cifti), I removed it from only the root of the repository because of moving to a centralized LICENSE file with all the details of the new code and pointers to third-party license notices in subfolders (and also a pointer to the details of the previous code). It sounded like in addition to the /ft_cifti/LICENSE.xmltree and /@xmltree/LICENSE that already existed in this PR, you wanted /LICENSE.xmltree to also exist (so, 3 files for 2 versions of 1 library, instead of my proposed 2). Does that clear things up?

robertoostenveld commented 3 years ago

please go ahead. Once merged I'll have a look and if needed I'll do a PR.