JavaCall.jl icon indicating copy to clipboard operation
JavaCall.jl copied to clipboard

Use BinaryBuilder to install java??

Open aviks opened this issue 4 years ago • 4 comments

Should we try to use BinaryBuilder to install a private version of Java within the Julia depot?

  • Is this a good idea? It's not a terrible idea, many applications do bundle Java. Also, I'm told conda installs it's own Java. But is it a good idea?
  • If we do this, we should probably find a way to re-package the AdoptOpenJDK binaries. Compiling OpenJDK from scratch is certainly not a good idea.
  • If we do this, we should probably use the system installed JVM if the JAVA_HOME environment variable is set.

The main advantage is that the user does not need to install java themselves. This is particularly valuable for users of Julia libraries with Java dependencies. So if you want to use Taro.jl, you don't need to worry about getting a JVM on your machine if you don't already have one.

aviks avatar Feb 17 '21 19:02 aviks

What are the licensing implications of this?

OpenJDK is GPLv2 with linking exception (classpath exception)

mkitti avatar Mar 02 '21 13:03 mkitti

This package is MIT licensed, so it's fine to depend on GPLv2 packages. Most people now use OpenJDK (via AdoptOpenJDK) i imagine.

aviks avatar Mar 02 '21 17:03 aviks

Yes, but by distributing GPLv2, we will then entering others into a GPLv2 license, and may also draw questions about the licensing of this package, so I think this has be done carefully.

In particular, JavaCall should not depend on a OpenJDK JLL. It should be able to use it is it happens to be installed though.

mkitti avatar Mar 02 '21 19:03 mkitti

https://github.com/JuliaMath/FFTW.jl provides some precedent for this, although is some reluctance to distributing the runtimes of other lanugages.

https://julialang.slack.com/archives/C674ELDNX/p1614712811136600

mkitti avatar Mar 02 '21 19:03 mkitti