Are the Julia binaries GPL-free?

It’s unclear to me if Julia [1.1] is compiled with USE_GPL_LIBS (the docs only say it’s possible to compile without):

https://github.com/JuliaLang/julia/search?q=USE_GPL_LIBS&unscoped_q=USE_GPL_LIBS

It seems SuiteSparse is the only real GPL dependency left (and even only for GPL for part of it). MbedTLS has non-GPL as an option and all other GPL dependencies have linking exceptions, it seems; so not a problem.

As I don’t need SuiteSparse it would be nice to have an MIT-only (and similar plus Apache-licenced) download option without it for distribution (or at least know either way). Note, you can redistribute Julia either way, you just may have to be careful with redistributing Julia compiled with GPL code with your (or other people’s code) when if it’s proprietary, e.g. disallowed for MKL.jl code.

Note, even with GPL you can link to any proprietary code privately; such as Intel’s MKL.

https://github.com/JuliaLang/julia/blob/961907977a57ae7b72ddb374e63341f3633a0f0a/Make.inc#L183

2 Likes

Thanks, it seems its compiled for GPL/SuiteSparse (not all of us are too familiar with Makefiles, or read them, or may not even know they exist).

As I said, I know it’s possible to compile yourself (why I gave the link), I’m was just asking for the actual provided binaries from the download location (what I read this announcement to be about).

Just delete all traces of SuiteSparse after the install. Although I’m not sure what that accomplishes. What are you trying to do?

1 Like

Right, what compiling without USE_GPL_LIBS would do also do. Possibly since you need to do using SuiteSparse TO use it, not doing that would fall under the mere aggregation exception clause of the GPL.

I’m not using it, but people who are, or any GPL part of Julia need to be aware, in case they distribute Julia with their proprietary code.

At MKL.jl I did see:

It should be possible to fix this once Julia 1.1 has been released. See Improve REPL latency · Issue #1 · JuliaLinearAlgebra/MKL.jl · GitHub.

And MKL.jl is MIT-licensed. It probably should be more clear that it’s a wrapper for proprietary code, incompatible (for distribution purposes) with GPL/SuiteSparse.

I just want to clarify: There’s nothing wrong with the GPL, it’s just some people may want to avoid it; know they’ll not get into legal trouble/GPL non-compliance.

I did find for an alternative to SuiteSparse:

This is a very specific discussion that is maybe not suited for the 1.1.0 announcement post. If you have taken it upon yourself to make sure that companies don’t accidentally break licenses you can open an issue at MKL.jl, but it might be something not worth worrying about. Companies handle these thing pretty ok in general.

1 Like

Agreed; I’ve broken this off into a separate thread.

2 Likes