Skip to content

Conversation

@tkelman
Copy link
Contributor

@tkelman tkelman commented Mar 16, 2017

FFTW wrappers were moved and mostly rewritten since the line about base/fftw.jl in LICENSE.md was added - ref 481f351 and #8248 and #12201 - @stevengj what are your thoughts on whether the ccall wrapper functions would be considered a derived work, do you think the the Julia wrappers are GPL or not?

Also add mentions of base/grisu and src/support/strtod.c to the top-level license file.

FFTW wrappers were moved and mostly rewritten - the Julia wrappers
are probably not GPL? ref 481f351
and #8248 and #12201

make note of grisu derived license in top-level LICENSE.md
and update links, repo was moved from github.com/floitsch to github.com/google

umfpack and cholmod code were moved from base/linalg to base/sparse
@tkelman tkelman force-pushed the tk/license-clarifications branch from 3d1344e to 5407287 Compare March 16, 2017 18:03
@stevengj
Copy link
Member

stevengj commented Mar 16, 2017

@tkelman, I don't think the wrapper functions by themselves would constitute a derived work (but IANAL, obviously). Even if they were a derived work they would presumably be derived from the fftw3.h header file, and that header is 2-clause BSD.

The combination of the wrappers (and any code calling the wrappers) and the FFTW library, i.e. software actually using FFTW via the wrappers, would be a derived work and subject to the GPL, of course.

@tkelman
Copy link
Contributor Author

tkelman commented Mar 16, 2017

Thanks! Useful that the header is BSD-2, was not aware of that.

What I'm partially working towards here is getting USE_GPL_LIBS = 0 (which disables the building of libfftw, and currently also disables the inclusion of the ccall wrappers into Base) to work correctly together with USE_INTEL_MKL_FFT = 1. If we're linking against a differently-licensed implementation of the API, the Julia ccall wrappers will need to be included.

@stevengj
Copy link
Member

FYI, the fftw3.h header was made BSD precisely to allow Intel to (partly) copy our API without worrying about GPL infringement.

@tkelman tkelman requested a review from JeffBezanson March 17, 2017 21:01
@tkelman
Copy link
Contributor Author

tkelman commented Mar 17, 2017

(since Jeff added that line)


The following components of Julia's standard library have separate licenses:

- base/fftw.jl (see [FFTW](http://fftw.org/doc/License-and-Copyright.html))
Copy link
Contributor Author

Choose a reason for hiding this comment

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

ping @JeffBezanson thoughts on this?

Copy link
Member

Choose a reason for hiding this comment

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

The file itself is not and never has been GPL – it's MIT like the rest of Julia. So: ✔️

Copy link
Member

Choose a reason for hiding this comment

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

Yes, but it should still say something about the FFTW dependency if you call the fft etc. routines

Copy link
Contributor Author

Choose a reason for hiding this comment

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

probably covered by the "Julia's standard library uses the following external libraries" bullet above, same as for the rest of the ccall dependencies

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I just want positive confirmation from Jeff on this, rather than implicit silence, since he originally wrote this line.

Copy link
Member

Choose a reason for hiding this comment

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

Yes this is ok.

@tkelman tkelman merged commit 1255e82 into master Mar 28, 2017
@tkelman tkelman deleted the tk/license-clarifications branch March 28, 2017 14:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants