New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Introduce USE_GPL_LIBS Makefile flag to build Julia without GPL libraries #10870

Merged
merged 1 commit into from Apr 19, 2015

Conversation

Projects
None yet
7 participants
@ViralBShah
Member

ViralBShah commented Apr 17, 2015

Disable Rmath, FFTW, and SuiteSparse builds if USE_GPL_LIBS=0
Remove inclusion of julia bindings in sysimg if USE_GPL_LIBS=0

@ViralBShah ViralBShah added the build label Apr 17, 2015

@ViralBShah ViralBShah changed the title from WIP: Introduce NO_GPL Makefile flag to build Julia without GPL libraries to WIP: Introduce USE_GPL_LIBS Makefile flag to build Julia without GPL libraries Apr 17, 2015

@ViralBShah ViralBShah changed the title from WIP: Introduce USE_GPL_LIBS Makefile flag to build Julia without GPL libraries to Introduce USE_GPL_LIBS Makefile flag to build Julia without GPL libraries Apr 17, 2015

@ViralBShah

This comment has been minimized.

Show comment
Hide comment
@ViralBShah

ViralBShah Apr 17, 2015

Member

This is now ready and passes tests, even with USE_GPL_LIBS=0. I'll merge this in a couple of days.

Member

ViralBShah commented Apr 17, 2015

This is now ready and passes tests, even with USE_GPL_LIBS=0. I'll merge this in a couple of days.

@garrison

This comment has been minimized.

Show comment
Hide comment
@garrison

garrison Apr 17, 2015

Member

I recall a conversation where it was suggested to use USE_GPL_LIBS instead of NO_GPL, but I'm having a hard time finding this now. I think ENABLE_GPL_BUILD would be an even better name for this. After all, even if USE_GPL_LIBS is set to zero, it is still possible to use GPL-licensed external packages.

Member

garrison commented Apr 17, 2015

I recall a conversation where it was suggested to use USE_GPL_LIBS instead of NO_GPL, but I'm having a hard time finding this now. I think ENABLE_GPL_BUILD would be an even better name for this. After all, even if USE_GPL_LIBS is set to zero, it is still possible to use GPL-licensed external packages.

Show outdated Hide outdated test/choosetests.jl Outdated
@tkelman

This comment has been minimized.

Show comment
Hide comment
@tkelman

tkelman Apr 18, 2015

Contributor

And we bundle GPL command-line Git in both the Windows and Mac binaries, and Busybox on Windows. Plus GCC runtime libraries on all platforms.

Contributor

tkelman commented Apr 18, 2015

And we bundle GPL command-line Git in both the Windows and Mac binaries, and Busybox on Windows. Plus GCC runtime libraries on all platforms.

@vtjnash

This comment has been minimized.

Show comment
Hide comment
@vtjnash

vtjnash Apr 18, 2015

Member

i'm pretty sure that gcc has a linking exception that explicitly permits redistributing the runtime libraries (busybox and git are certainly another matter altogether however)

Member

vtjnash commented Apr 18, 2015

i'm pretty sure that gcc has a linking exception that explicitly permits redistributing the runtime libraries (busybox and git are certainly another matter altogether however)

@tkelman

This comment has been minimized.

Show comment
Hide comment
@tkelman

tkelman Apr 18, 2015

Contributor

Yeah I think you're right about the linking exception on the gcc runtime libs. Should be able to disable busybox and git in make win-extras, make dist, and contrib/mac/app/Makefile.

Contributor

tkelman commented Apr 18, 2015

Yeah I think you're right about the linking exception on the gcc runtime libs. Should be able to disable busybox and git in make win-extras, make dist, and contrib/mac/app/Makefile.

@ViralBShah

This comment has been minimized.

Show comment
Hide comment
@ViralBShah

ViralBShah Apr 18, 2015

Member

So, until we move to libgit2, does this effectively mean that we can't have a GPL free distribution? I am sure libgcc would have the exception, but we need to verify that.

What should we do about git and busybox for now? Should we just disable them for now in the GPL version - and you just have to live with that functionality missing?

Member

ViralBShah commented Apr 18, 2015

So, until we move to libgit2, does this effectively mean that we can't have a GPL free distribution? I am sure libgcc would have the exception, but we need to verify that.

What should we do about git and busybox for now? Should we just disable them for now in the GPL version - and you just have to live with that functionality missing?

@tkelman

This comment has been minimized.

Show comment
Hide comment
@tkelman

tkelman Apr 18, 2015

Contributor

So, until we move to libgit2, does this effectively mean that we can't have a GPL free distribution?

Not one that has a working package manager, without relying on the user manually installing git somewhere else on the path. We don't use busybox for much right now, mostly just to pass a few spawn tests, but it will be handy after we do get rid of git to still allow shelling out to coreutils functions on Windows.

Contributor

tkelman commented Apr 18, 2015

So, until we move to libgit2, does this effectively mean that we can't have a GPL free distribution?

Not one that has a working package manager, without relying on the user manually installing git somewhere else on the path. We don't use busybox for much right now, mostly just to pass a few spawn tests, but it will be handy after we do get rid of git to still allow shelling out to coreutils functions on Windows.

@ViralBShah

This comment has been minimized.

Show comment
Hide comment
@ViralBShah

ViralBShah Apr 18, 2015

Member

I guess this PR is good as it is, because you can at least now build from source and get a Julia distribution that does not include any GPL components. Only if you build the mac and windows installers, git and busybox get bundled.

Member

ViralBShah commented Apr 18, 2015

I guess this PR is good as it is, because you can at least now build from source and get a Julia distribution that does not include any GPL components. Only if you build the mac and windows installers, git and busybox get bundled.

@ViralBShah

This comment has been minimized.

Show comment
Hide comment
@ViralBShah

ViralBShah Apr 18, 2015

Member

I don't understand the comment about arnoldi. I am trying to disable it, because it has a depedency on suitesparse being present.

Member

ViralBShah commented Apr 18, 2015

I don't understand the comment about arnoldi. I am trying to disable it, because it has a depedency on suitesparse being present.

@ViralBShah

This comment has been minimized.

Show comment
Hide comment
@ViralBShah

ViralBShah Apr 18, 2015

Member

@garrison I think the NO_GPL line comments went away with my forced push.

Member

ViralBShah commented Apr 18, 2015

@garrison I think the NO_GPL line comments went away with my forced push.

@garrison

This comment has been minimized.

Show comment
Hide comment
@garrison

garrison Apr 18, 2015

Member

Not one that has a working package manager, without relying on the user manually installing git somewhere else on the path.

Whether julia is a "derived work" of git when git is called by julia as a command is probably independent of whether git is distributed alongside julia (or whether the user installed it manually). I could probably find this in the GPL FAQ, but IANAL.

Member

garrison commented Apr 18, 2015

Not one that has a working package manager, without relying on the user manually installing git somewhere else on the path.

Whether julia is a "derived work" of git when git is called by julia as a command is probably independent of whether git is distributed alongside julia (or whether the user installed it manually). I could probably find this in the GPL FAQ, but IANAL.

@vtjnash

This comment has been minimized.

Show comment
Hide comment
@vtjnash

vtjnash Apr 18, 2015

Member

getting rid of busybox is pretty painful since window's doesn't actually provide anything nearly as functional by default, it's hard to fallback to anything else. see the discussion on the original PR. there's perhaps toybox (https://github.com/landley/toybox), but it would take a lot of work to make that reasonably feature complete with unix and then also port it to windows.

Member

vtjnash commented Apr 18, 2015

getting rid of busybox is pretty painful since window's doesn't actually provide anything nearly as functional by default, it's hard to fallback to anything else. see the discussion on the original PR. there's perhaps toybox (https://github.com/landley/toybox), but it would take a lot of work to make that reasonably feature complete with unix and then also port it to windows.

@ViralBShah

This comment has been minimized.

Show comment
Hide comment
@ViralBShah

ViralBShah Apr 18, 2015

Member

We have had such discussions before too - but I just find it easier to keep it clean in such cases. For people who want to build Julia without GPL dependencies, I am sure they can figure out how to install git, at least for now.

Member

ViralBShah commented Apr 18, 2015

We have had such discussions before too - but I just find it easier to keep it clean in such cases. For people who want to build Julia without GPL dependencies, I am sure they can figure out how to install git, at least for now.

@aviks

This comment has been minimized.

Show comment
Hide comment
@aviks

aviks Apr 18, 2015

Member

re: git

IANAL .. etc..

There is an argument to be had that shelling out to a program does not make a derivative work. And if Julia is not a derivative work of Git, then Git's distribution restrictions do not apply to Juila. We just distribute Git according to its own license.

http://www.ifross.org/en/program-forks-gpl-licensed-program-system-or-vice-versa-call-derivative-work

Member

aviks commented Apr 18, 2015

re: git

IANAL .. etc..

There is an argument to be had that shelling out to a program does not make a derivative work. And if Julia is not a derivative work of Git, then Git's distribution restrictions do not apply to Juila. We just distribute Git according to its own license.

http://www.ifross.org/en/program-forks-gpl-licensed-program-system-or-vice-versa-call-derivative-work

@ViralBShah ViralBShah added this to the 0.4.0 milestone Apr 18, 2015

@tkelman

This comment has been minimized.

Show comment
Hide comment
@tkelman

tkelman Apr 18, 2015

Contributor

I don't understand the comment about arnoldi. I am trying to disable it, because it has a depedency on suitesparse being present.

It's fine to disable it, but note the order in which the test list gets assembled:

julia> tests = [
               "linalg", "core", "keywordargs", "numbers", "strings",
               "dates", "dict", "hashing", "remote", "iobuffer", "staged",
               "arrayops", "tuple", "subarray", "reduce", "reducedim", "random",
               "intfuncs", "simdloop", "blas", "sparse",
               "bitarray", "copy", "math", "fastmath", "functional",
               "operators", "path", "ccall",
               "bigint", "sorting", "statistics", "spawn", "backtrace",
               "priorityqueue", "file", "version", "resolve",
               "pollfd", "mpfr", "broadcast", "complex", "socket",
               "floatapprox", "readdlm", "reflection", "regex", "float16",
               "combinatorics", "sysinfo", "rounding", "ranges", "mod2pi",
               "euler", "show", "lineedit", "replcompletions", "repl",
               "replutil", "sets", "test", "goto", "llvmcall", "grisu",
               "nullable", "meta", "profile", "libgit2", "docs", "markdown",
               "base64", "parser", "serialize", "functors", "char", "misc",
               "enums", "cmdlineargs", "i18n"
           ];
julia> if "linalg" in tests
               # specifically selected case
               filter!(x -> x != "linalg", tests)
               prepend!(tests, ["linalg1", "linalg2", "linalg3", "linalg4",
                                "linalg/lapack", "linalg/triangular", "linalg/tridiag",
                                "linalg/bidiag", "linalg/diagonal",
                                "linalg/pinv", "linalg/givens", "linalg/cholesky", "linalg/lu",
                                "linalg/symmetric"])
               if true # Base.USE_GPL_LIBS
                   tests = [tests, "linalg/arnoldi";]
               end
           end
93-element Array{ASCIIString,1}:
 "linalg1"
 "linalg2"
 "linalg3"
 "linalg4"
 "linalg/lapack"
 "linalg/triangular"
 "linalg/tridiag"
 "linalg/bidiag"
 "linalg/diagonal"
 "linalg/pinv"
 "linalg/givens"
 "linalg/cholesky"
 "linalg/lu"
 "linalg/symmetric"
 "core"
 "keywordargs"
 "numbers"
 "strings"
 ⋮
 "grisu"
 "nullable"
 "meta"
 "profile"
 "libgit2"
 "docs"
 "markdown"
 "base64"
 "parser"
 "serialize"
 "functors"
 "char"
 "misc"
 "enums"
 "cmdlineargs"
 "i18n"
 "linalg/arnoldi"

See how linalg/arnoldi ends up at the end? That's all I'm nitpicking about. Can fix it via something like

    if "linalg" in tests
        # specifically selected case
        filter!(x -> x != "linalg", tests)
        linalgtests = ["linalg1", "linalg2", "linalg3", "linalg4",
                         "linalg/lapack", "linalg/triangular", "linalg/tridiag",
                         "linalg/bidiag", "linalg/diagonal",
                         "linalg/pinv", "linalg/givens", "linalg/cholesky", "linalg/lu",
                         "linalg/symmetric"]
        if Base.USE_GPL_LIBS
            push!(linalgtests, "linalg/arnoldi")
        end
        prepend!(tests, linalgtests)
    end
Contributor

tkelman commented Apr 18, 2015

I don't understand the comment about arnoldi. I am trying to disable it, because it has a depedency on suitesparse being present.

It's fine to disable it, but note the order in which the test list gets assembled:

julia> tests = [
               "linalg", "core", "keywordargs", "numbers", "strings",
               "dates", "dict", "hashing", "remote", "iobuffer", "staged",
               "arrayops", "tuple", "subarray", "reduce", "reducedim", "random",
               "intfuncs", "simdloop", "blas", "sparse",
               "bitarray", "copy", "math", "fastmath", "functional",
               "operators", "path", "ccall",
               "bigint", "sorting", "statistics", "spawn", "backtrace",
               "priorityqueue", "file", "version", "resolve",
               "pollfd", "mpfr", "broadcast", "complex", "socket",
               "floatapprox", "readdlm", "reflection", "regex", "float16",
               "combinatorics", "sysinfo", "rounding", "ranges", "mod2pi",
               "euler", "show", "lineedit", "replcompletions", "repl",
               "replutil", "sets", "test", "goto", "llvmcall", "grisu",
               "nullable", "meta", "profile", "libgit2", "docs", "markdown",
               "base64", "parser", "serialize", "functors", "char", "misc",
               "enums", "cmdlineargs", "i18n"
           ];
julia> if "linalg" in tests
               # specifically selected case
               filter!(x -> x != "linalg", tests)
               prepend!(tests, ["linalg1", "linalg2", "linalg3", "linalg4",
                                "linalg/lapack", "linalg/triangular", "linalg/tridiag",
                                "linalg/bidiag", "linalg/diagonal",
                                "linalg/pinv", "linalg/givens", "linalg/cholesky", "linalg/lu",
                                "linalg/symmetric"])
               if true # Base.USE_GPL_LIBS
                   tests = [tests, "linalg/arnoldi";]
               end
           end
93-element Array{ASCIIString,1}:
 "linalg1"
 "linalg2"
 "linalg3"
 "linalg4"
 "linalg/lapack"
 "linalg/triangular"
 "linalg/tridiag"
 "linalg/bidiag"
 "linalg/diagonal"
 "linalg/pinv"
 "linalg/givens"
 "linalg/cholesky"
 "linalg/lu"
 "linalg/symmetric"
 "core"
 "keywordargs"
 "numbers"
 "strings"
 ⋮
 "grisu"
 "nullable"
 "meta"
 "profile"
 "libgit2"
 "docs"
 "markdown"
 "base64"
 "parser"
 "serialize"
 "functors"
 "char"
 "misc"
 "enums"
 "cmdlineargs"
 "i18n"
 "linalg/arnoldi"

See how linalg/arnoldi ends up at the end? That's all I'm nitpicking about. Can fix it via something like

    if "linalg" in tests
        # specifically selected case
        filter!(x -> x != "linalg", tests)
        linalgtests = ["linalg1", "linalg2", "linalg3", "linalg4",
                         "linalg/lapack", "linalg/triangular", "linalg/tridiag",
                         "linalg/bidiag", "linalg/diagonal",
                         "linalg/pinv", "linalg/givens", "linalg/cholesky", "linalg/lu",
                         "linalg/symmetric"]
        if Base.USE_GPL_LIBS
            push!(linalgtests, "linalg/arnoldi")
        end
        prepend!(tests, linalgtests)
    end
@tkelman

This comment has been minimized.

Show comment
Hide comment
@tkelman

tkelman Apr 18, 2015

Contributor

getting rid of busybox is pretty painful since window's doesn't actually provide anything nearly as functional by default, it's hard to fallback to anything else.

Actually it does. It's called powershell. It just happens to not be syntax-compatible with coreutils.

Contributor

tkelman commented Apr 18, 2015

getting rid of busybox is pretty painful since window's doesn't actually provide anything nearly as functional by default, it's hard to fallback to anything else.

Actually it does. It's called powershell. It just happens to not be syntax-compatible with coreutils.

Introduce USE_GPL_LIBS Makefile flag to build Julia without GPL libra…
…ries

USE_GPL_LIBS=1 by default
Disable Rmath, FFTW, and SuiteSparse builds if USE_GPL_LIBS=0
Remove inclusion of julia bindings in sysimg if USE_GPL_LIBS=0
Add USE_GPL_LIBS to NEWS.

Note that this commit does not remove GPL utilities such as git and busybox
that are included in the Julia binary installers on Mac and Windows. It
lets you build from source without any GPL library dependencies.
@ViralBShah

This comment has been minimized.

Show comment
Hide comment
@ViralBShah

ViralBShah Apr 19, 2015

Member

I am merging this, because it does not change the default behaviour.

Should we add a note about this flag to the README and the LICENSE files?

Member

ViralBShah commented Apr 19, 2015

I am merging this, because it does not change the default behaviour.

Should we add a note about this flag to the README and the LICENSE files?

ViralBShah added a commit that referenced this pull request Apr 19, 2015

Merge pull request #10870 from JuliaLang/vs/nogpl
Introduce USE_GPL_LIBS Makefile flag to build Julia without GPL libraries

@ViralBShah ViralBShah merged commit 8f69307 into master Apr 19, 2015

3 checks passed

continuous-integration/appveyor AppVeyor build succeeded
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details
continuous-integration/travis-ci/push The Travis CI build passed
Details
@tkelman

This comment has been minimized.

Show comment
Hide comment
@tkelman

tkelman Apr 19, 2015

Contributor

readme sure, I think not in license though since this is a non-default option for now

Contributor

tkelman commented Apr 19, 2015

readme sure, I think not in license though since this is a non-default option for now

@ViralBShah

This comment has been minimized.

Show comment
Hide comment
@ViralBShah

ViralBShah Apr 19, 2015

Member

I feel like it is worth discussing the cases under which julia builds end up being GPL vs. non-GPL. I thought the LICENSE file is the right place to clarify this, since the README is just too long, and perhaps could use some splitting.

Member

ViralBShah commented Apr 19, 2015

I feel like it is worth discussing the cases under which julia builds end up being GPL vs. non-GPL. I thought the LICENSE file is the right place to clarify this, since the README is just too long, and perhaps could use some splitting.

@tkelman

This comment has been minimized.

Show comment
Hide comment
@tkelman

tkelman Apr 19, 2015

Contributor

The readme could stand splitting into a few pieces, build troubleshooting vs other stuff.

You could maybe move FFTW and SuiteSparse from the "Julia's standard library uses the following external libraries, which have their own licenses:" section into a separate section with the same title plus "unless the make variable USE_GPL_LIBS=0 is set", and add the same caveat to the Rmath section.

Contributor

tkelman commented Apr 19, 2015

The readme could stand splitting into a few pieces, build troubleshooting vs other stuff.

You could maybe move FFTW and SuiteSparse from the "Julia's standard library uses the following external libraries, which have their own licenses:" section into a separate section with the same title plus "unless the make variable USE_GPL_LIBS=0 is set", and add the same caveat to the Rmath section.

@tkelman tkelman deleted the vs/nogpl branch Apr 19, 2015

@tknopp

This comment has been minimized.

Show comment
Hide comment
@tknopp

tknopp Apr 19, 2015

Contributor

@ViralBShah: I don't understand this PR. In order to make Julia GPL free one just would have to remove the dll/so/dynlib. Why does the Julia wrapper has to be removed its MIT!

One example: There is a the Intel MKL providing an ABI compatible interface of the fftw. Using the existing julia wrapper of the fftw it should be possible to use it in a GPL-free manner.

Contributor

tknopp commented Apr 19, 2015

@ViralBShah: I don't understand this PR. In order to make Julia GPL free one just would have to remove the dll/so/dynlib. Why does the Julia wrapper has to be removed its MIT!

One example: There is a the Intel MKL providing an ABI compatible interface of the fftw. Using the existing julia wrapper of the fftw it should be possible to use it in a GPL-free manner.

@ViralBShah

This comment has been minimized.

Show comment
Hide comment
@ViralBShah

ViralBShah Apr 20, 2015

Member

I will enable that with future commits. Note that Intel fftw wrapper is not complete, and does not support the full functionality we need.

I don't like the idea of shipping a bunch of code with missing libraries. Perhaps if we can figure our a way whereby we ship a stub for those missing libraries, which print out a warning, that would be useful.

Member

ViralBShah commented Apr 20, 2015

I will enable that with future commits. Note that Intel fftw wrapper is not complete, and does not support the full functionality we need.

I don't like the idea of shipping a bunch of code with missing libraries. Perhaps if we can figure our a way whereby we ship a stub for those missing libraries, which print out a warning, that would be useful.

@tkelman

This comment has been minimized.

Show comment
Hide comment
@tkelman

tkelman Apr 20, 2015

Contributor

This is the hacky simple way of disabling chunks of code. It's not a great substitute for real modularity in being able to selectively enable/disable different components without completely breaking things, but it's better than nothing.

Contributor

tkelman commented Apr 20, 2015

This is the hacky simple way of disabling chunks of code. It's not a great substitute for real modularity in being able to selectively enable/disable different components without completely breaking things, but it's better than nothing.

@tknopp

This comment has been minimized.

Show comment
Hide comment
@tknopp

tknopp Apr 20, 2015

Contributor

I would argue that we do not need those hacks unless someone of the Julia team wants to use it. Someone who really wants to use Julia in a commercial product will need to think about deployment and making Julia GPL free is absolutely trivial in that case (thanks to the readline removal).

Contributor

tknopp commented Apr 20, 2015

I would argue that we do not need those hacks unless someone of the Julia team wants to use it. Someone who really wants to use Julia in a commercial product will need to think about deployment and making Julia GPL free is absolutely trivial in that case (thanks to the readline removal).

@tkelman

This comment has been minimized.

Show comment
Hide comment
@tkelman

tkelman Apr 20, 2015

Contributor

There was a mailing list post where someone asked about this.

Contributor

tkelman commented Apr 20, 2015

There was a mailing list post where someone asked about this.

@ViralBShah

This comment has been minimized.

Show comment
Hide comment
@ViralBShah

ViralBShah Apr 20, 2015

Member

@tknopp We can't link MKL for example. I personally want to be able to do such things and at least have the ability to distribute Julia with MKL.

Member

ViralBShah commented Apr 20, 2015

@tknopp We can't link MKL for example. I personally want to be able to do such things and at least have the ability to distribute Julia with MKL.

@tknopp

This comment has been minimized.

Show comment
Hide comment
@tknopp

tknopp Apr 20, 2015

Contributor

Why should we link against MKL? ccall is not linking. You can distribute a Julia version that automatically detects if MKL is available and calls it and otherwise calls a fallback. The only problem is distributing with MKL/GPL libs.

Contributor

tknopp commented Apr 20, 2015

Why should we link against MKL? ccall is not linking. You can distribute a Julia version that automatically detects if MKL is available and calls it and otherwise calls a fallback. The only problem is distributing with MKL/GPL libs.

@tkelman

This comment has been minimized.

Show comment
Hide comment
@tkelman

tkelman Apr 30, 2015

Contributor

The following files in Julia's repository are still GPL:

  • contrib/mac/app/script
  • test/perf/kernel/ziggurat.c

plus a few LGPL.

Contributor

tkelman commented Apr 30, 2015

The following files in Julia's repository are still GPL:

  • contrib/mac/app/script
  • test/perf/kernel/ziggurat.c

plus a few LGPL.

@ViralBShah

This comment has been minimized.

Show comment
Hide comment
@ViralBShah

ViralBShah May 1, 2015

Member

Also, git and busybox. I don't know the license of the Windows installers either.

Member

ViralBShah commented May 1, 2015

Also, git and busybox. I don't know the license of the Windows installers either.

@ViralBShah

This comment has been minimized.

Show comment
Hide comment
@ViralBShah

ViralBShah May 1, 2015

Member

ziggurat.c is just there for performance comparisons, and I don't believe is distributed. We can remove it at a moment's notice.

LGPL is fine.

Member

ViralBShah commented May 1, 2015

ziggurat.c is just there for performance comparisons, and I don't believe is distributed. We can remove it at a moment's notice.

LGPL is fine.

@ihnorton

This comment has been minimized.

Show comment
Hide comment
@ihnorton

ihnorton May 1, 2015

Member

Our Windows installer? NSIS is zlib, as is the MUI2 script.

(anyway, the NSIS license is irrelevant to the generated installer license)

Member

ihnorton commented May 1, 2015

Our Windows installer? NSIS is zlib, as is the MUI2 script.

(anyway, the NSIS license is irrelevant to the generated installer license)

@tknopp

This comment has been minimized.

Show comment
Hide comment
@tknopp

tknopp May 1, 2015

Contributor

It is not relevant if there are parts in the repository that are GPL. The only thing that counts is what is statically and dynamically linked into the julia executable. If git is GPL this is not an issue because a process is spawned

Contributor

tknopp commented May 1, 2015

It is not relevant if there are parts in the repository that are GPL. The only thing that counts is what is statically and dynamically linked into the julia executable. If git is GPL this is not an issue because a process is spawned

@tkelman

This comment has been minimized.

Show comment
Hide comment
@tkelman

tkelman May 1, 2015

Contributor

Also, git and busybox.

Those are dependencies, not files checked into the repo. I think you're right about not distributing the perf test files but would have to double-check.

The mac app script is really short, if we ever want to distribute non-GPL OSX binaries we probably need to spec it out and have someone clean-room recreate it.

Contributor

tkelman commented May 1, 2015

Also, git and busybox.

Those are dependencies, not files checked into the repo. I think you're right about not distributing the perf test files but would have to double-check.

The mac app script is really short, if we ever want to distribute non-GPL OSX binaries we probably need to spec it out and have someone clean-room recreate it.

@ranjanan ranjanan referenced this pull request Mar 30, 2016

Closed

Need to write tests #11

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment