Back to the main page.

Bug 3262 - external/fileexchange functions (by extension, FieldTrip?) not considered free software by GNU Octave community

Status NEW
Reported 2017-03-03 16:29:00 +0100
Modified 2017-03-03 16:29:52 +0100
Product: FieldTrip
Component: core
Version: unspecified
Hardware: PC
Operating System: Mac OS
Importance: P5 normal
Assigned to:
URL:
Tags:
Depends on:
Blocks:
See also:

nno - 2017-03-03 16:29:52 +0100

Greetings, The GNU Octave FAQ [1] mentions: "[Question] Why can't I use code from File Exchange in Octave? It's released under a BSD license! [Answer] When one downloads code from File Exchange and use it on non Mathworks software (such as Octave), they are violating the Matlab central Terms of Use. While the BSD licenses does allow one to use such code in Octave, it also allows others to further impose restrictions which Mathworks does through the MATLAB Central Terms of Use of their site: Content submitted to File Exchange may only be used with MathWorks products. —Matlab central, Terms of Use 2iii" [2] There are however a couple of files in external/fileexchange which seem to come from the Mathworks' file exchange. This raises two concerns: I) this functionality (i.e. parts of FieldTrip) may not legally be useable when users would use Octave. II) if these files are considered to be part of FieldTrip [*], it seems not compatible with the license under which FieldTrip is licensed (GPLv2 [3] clause 7; GPLv3 clause 12), which could make FieldTrip non-distributable and thus non-free. That might mean, for example, that it cannot be distributed with FieldTrip (unless offending files would be removed from distribution) [3]. [*] I am not sure that by putting files in a directory "external" excludes them from being part of FieldTrip if these files are distributed with and are essential for typical use of FieldTrip. One approach that may address this would be to replace the existing files by free replacements not from the file exchange. For example (this list is not exhaustive): - arrow.m: seems not under open source license; one version found at https://github.com/esdsystems/TecDEM/blob/master/Methods/arrow.m mentions "arrow.m by Erik A. Johnson under BSD License", but reading the file itself - CalcMD5*: I found a version at http://freesourcecode.net/matlabprojects/68126/another-md5-calculator-as-fast-c-mex--in-matlab which includes a 2-clause BSD license file. - uimagesc.m, imagesc.m: I found a (newer) version at http://freesourcecode.net/matlabprojects/65300/uimage---uimagesc-in-matlab which includes a 3-clause with advertising clause BSD license. These licenses are compatible with the GPL so if taken from an appropriate source (not the file exchange) should not lead to licensing issues. For other files it may be possible to track down and contact the author by email and ask the code from them directly (I've done this in the past for the nifti external package distributed with CoSMoMVPA [5]). I am not a lawyer, etc etc, but would be curious to hear the maintainer's thoughts about this, in particular whether they (1) think this is an issue; and (2) what ideas they may have in addressing it. Thanks for your consideration. best, Nick [1] http://wiki.octave.org/FAQ#Why_can.27t_I_use_code_from_File_Exchange_in_Octave.3F_It.27s_released_under_a_BSD_license.21 [2] http://mathworks.com/matlabcentral/termsofuse.html#content [3] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=605492 [4] https://www.gnu.org/licenses/gpl-2.0.html [5] https://www.gnu.org/licenses/gpl-3.0.html [6] https://github.com/CoSMoMVPA/CoSMoMVPA/commit/654ba79c58500f75c391ef439365ed8b238214aa