3 ms·
INSTALLING JAVA =============== Even if you are Day One brand-new to Java, page #1 in any book will tell you to download a Java Development Kit (JDK). Any Go
by StevePerkins 10y ago
INSTALLING JAVA
===============
Even if you are Day One brand-new to Java, page #1 in any book will tell you to download a Java Development Kit (JDK). Any Google search would take you straight to the download page for Oracle's implementation, which is fine.
The Oracle JDK does not include any "toolbar" malware. That's only an issue for the Oracle JRE download (i.e. the runtime without any compiler)... which page #1 in book will tell you not to bother downloading ever.
The JDK is open-source, based on the "OpenJDK" codebase (much like the difference between Chrome and Chromium). Oracle's binary build has some restrictions on redistribution (see below), but there are numerous other OpenJDK builds. Every Linux distribution has one, as does homebrew for OS X, and there are at least two for Windows:
http://www.azul.com/downloads/zulu/ http://www.azul.com/downloads/zulu/
http://developers.redhat.com/products/openjdk/overview/ http://developers.redhat.com/products/openjdk/overview/
In the past, there were enough differences between the base OpenJDK and Oracle's build that people were wary of using OpenJDK. As of Java 7, and especially now with Java 8, those differences are nearly zero.
REDISTRIBUTION
==============
You absolutely CAN redistribute Java. OpenJDK builds have no restrictions whatsoever. Oracle's proprietary runtime binaries are also redistributable, with the only real restriction being that you can't exclude certain files (i.e. they don't want crippled Oracle runtimes floating around that can't run core Java):
http://www.oracle.com/technetwork/java/javase/jdk-8-readme-2095712.html#redistribution http://www.oracle.com/technetwork/java/javase/jdk-8-readme-2...
Not only are you allowed to redistribute even Oracle's binaries, but the latest JDK includes a "javapackager" utility. It bundles up your code, along with a stripped-down embedded runtime, with an executable wrapper so that you can distribute your app as a zero-dependency standalone (on Windows, OS X, or Linux). Interestingly, I've found that creating an installer for a JavaFX GUI application, with the runtime included, is slightly smaller than the installer for a similar GitHub Electron based app.
https://docs.oracle.com/javase/8/docs/technotes/tools/unix/javapackager.html https://docs.oracle.com/javase/8/docs/technotes/tools/unix/j...
https://gitlab.com/steve-perkins/MediaGallery-javafx https://gitlab.com/steve-perkins/MediaGallery-javafx
- tajen 10y agoSo why do we have to add a special source repository to do "apt-get install" and why is there a mandatory interactive license approval?
- tremon 10y agoBecause (Oracle) Java comes with its own EULA, and the DFSG forbid any EULA in Debian main. OpenJDK is in Debian main, and does not require user interaction.