LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (https://www.linuxquestions.org/questions/slackware-14/)
-   -   java future (https://www.linuxquestions.org/questions/slackware-14/java-future-899900/)

mcnalu 08-28-2011 06:50 AM

java future
 
What implications does this have for java in slackware?

http://www.reddit.com/tb/jwuot

In short: Other distros are no longer able to distribute java as they did previously and must turn to openJDK.

I looked for openJDK on slackbuilds.org but didn't find anything.

ButterflyMelissa 08-28-2011 09:30 AM

The first distro I had, did not even ship with Sun's Java. I had to install it myself.

I had the same issue more than two years ago...it's still the same. Shipping Java may not be clever...it's faster and cleaner to download it from the site...

OpenJDK was okay...but I needed the console, OpenJDK did not have that, then, dunnow if it has it now, though...

Thor

dugan 08-28-2011 09:34 AM

Quote:

For the story, due to license reasons, the version of Java packaged in Linux distributions is not the same as the one released on the official website.
Each time a new version of Java is was released, Sun/Oracle people are were publishing a other distro specific release available on a dedicated website.
First, Slackware never included the "distro specific release" JDK. Slackware always included the "official website" JDK. It's "distro release specific" JDK that's being retired.

If this becomes a problem, then I would expect the JDK to just be dropped.

For a Slackware end-user (with broadband), it would be as easy to install the Sun JDK from SBo or another third party repository as it would be to install it from /extra.

I'm also under the impression that no-one in the world has ever succeeded in building OpenJDK on Slackware.

EDIT: someone "in the world" has:

Step By Step Building OpenJDK on Slackware

mcnalu 08-28-2011 03:28 PM

Ok, thanks - makes sense now.

I may have a play with openJDK if I can find the time.

kingbeowulf 08-28-2011 04:49 PM

Quote:

Originally Posted by dugan (Post 4455434)
EDIT: someone "in the world" has:

Step By Step Building OpenJDK on Slackware

LOL, even with google translate this is going to take some brain power to follow. I my have to give it a whack. There are a few Java apps I must run.

ReaperX7 08-28-2011 05:28 PM

I have known certain packages can be redistributed as long as a copy of the original license document is included and the distributed package is able to be redistributed and contains no changes other than how the package medium is applied for installation purposes.

I'm certain the original packager could be replaced with a SlackBuild script to auto-download and install the proper files if there was a problem with the license, like the Adobe FlashPlayer has been done.

Of course Patrick will have the last word, so we can only wait and see what he wants to do.

gargamel 08-28-2011 07:58 PM

As long as there are no license issues, I hope, that things stay the way they are. I know of no other system, where the JDK can be installed so easily as in Slackware.

A big advantage is, that we have the original JDK in a current version on Slackware. And as we don't have distro specific packages, we don't run into dependency hell, like some others do. E. g., if you have Eclipse installed, you cannot upgrade the JDK in some distros with dependency resolving package managers, because the package manager will tell you, the Eclipse depends on the old version currently installed in your system. Which is nonsens, most of the time. Usually you can do the upgrade, and Eclipse will run just fine. But in other distros Eclipse depends on the JDK an Ant, Ant depends on the JDK, etc.

Guess, it depends on Oracle, which no good news, I am afraid. I'd not be surprised, if they would start charging money for the JDK (and VirtualBox etc.), or change the license, so that the JDK can no longer be included, just as easily.

But as of now, there seems to be no need for action. Don't fix it, if it ain't broke! ;)

gargamel

Alien Bob 08-29-2011 05:22 AM

It pretty much says here: http://jdk-distros.java.net/ that Linux distributors (and that includes Slackware Linux) are expected to build and distribute OpenJDK... as opposed to Linux users who are still allowed to download the Java binaries for personal use only.

And if you think you had a prior agreement as a Linux distributor to include official Java binaries with your distro, then you better look at http://www.oracle.com/technetwork/ja...nse/index.html which is the "Oracle Binary Code License Agreement for the Java SE Platform Products". You'll notice that it explicitly states:
Quote:

12. INTEGRATION. This Agreement is the entire agreement between you and Oracle relating to its subject matter. It supersedes all prior or contemporaneous oral or written communications, proposals, representations and warranties and prevails over any conflicting or additional terms of any quote, order, acknowledgment, or other communication between the parties relating to its subject matter during the term of this Agreement. No modification of this Agreement will be binding, unless in writing and signed by an authorized representative of each party.
I.e. any prior agreements with Sun and/or Oracle are null and void. Slackware is not allowed (like is the case with all other Linux distros) to ship future releases of the official JRE and JDK binaries.

Eric

ReaperX7 08-29-2011 05:28 AM

I doubt they'll ever charge for JDK or VirtualBox due to the OSE structuring Sun left in place before they were assimilated into the Oracle Borg collective.

Oracle is by no means a fair player but they aren't stupid to clamp off their free products and lose customers to VMWare and other Java kits that are free.

The installer for Slackware is very much the most pain free. Due to manual dependency resolving.

As far as Debian and it's clones, as well as others, dropping support for the Oracle JDK...

Really if Slackware can keep the Oracle JDK without license issues... Who gives a flying f*ck what other distros do? It's not anyones fault but their own they can't resolve licensing issues... which they do about as well as resolving dependencies.

I've dealt with license issues a few times (not enough the get my ears wet mind you) but most of the time as long as the original license is honored and distributed with the package and the package is intact with all the files and has not been modified other than for the installation medium (as in added to or stripped down), it's legal.

GazL 08-29-2011 05:59 AM

I don't do JAVA because of it's poor security record (just like flash) and I don't normally walk in Java circles, so I may be off the mark here, but I'm sure I read something about OpenJDK becoming the 'reference implementation' for Java 7 SE, so it's future may look somewhat different anyway.


Ahhh... here you go http://blogs.oracle.com/henrik/entry...openjdk_as_the

Alien Bob 08-29-2011 06:24 AM

Slackware will not be allowed to keep shipping JRE and JDK the way it used to (re-packaging the official binaries). But there are two alternatives to that: either Slackware will ship OpenJDK instead (compiled from source) or it will ship only a jre.SlackBuild and jdk.SlackBuild script which enables you, the Slackware user, to package and install the official Java binaries painlessly.

Eric

dugan 08-29-2011 08:51 AM

Quote:

Originally Posted by Alien Bob (Post 4456024)
or it will ship only a jre.SlackBuild and jdk.SlackBuild script which enables you, the Slackware user, to package and install the official Java binaries painlessly.

Are license issues the reason Google Chrome is packaged like this?

mclau: now that we know what the two options are, how about adding a poll to the thread?

Richard Cranium 08-29-2011 09:32 AM

Quote:

Originally Posted by GazL (Post 4456005)
I don't do JAVA because of it's poor security record (just like flash) [...]

Now I'm curious; what language do you "do"?

GazL 08-29-2011 09:43 AM

Mostly C these days. Though I still have a soft spot for Pascal/Delphi. :)

My comment was more about the implementation than the language though.

BlackRider 08-29-2011 10:25 AM

Quote:

Originally Posted by Alien Bob (Post 4456024)
Slackware will not be allowed to keep shipping JRE and JDK the way it used to (re-packaging the official binaries). But there are two alternatives to that: either Slackware will ship OpenJDK instead (compiled from source) or it will ship only a jre.SlackBuild and jdk.SlackBuild script which enables you, the Slackware user, to package and install the official Java binaries painlessly.

Eric

In my opinion, when a vendor starts acting stupidly, his work should be dropped out if possible, just as many GNU/Linux distros and BSD did with ION3. No body likes to deal with an idiot. I have never had a problem with OpenJDK, so my vote goes to include it and forget about Oracle's greed. An SlackBuild for original JRE and JDK could be placed in /extra in order to keep everyone happy.

BTW, if they start charging for VirtualBox, I'll use Qemu/KVM. They know that there are virtualization alternatives out there, so they are unlikely to suicide this way.

kingbeowulf 08-29-2011 01:38 PM

I wouldn't be adverse to dropping Oracle Java from Slackware if Oracle get any weirder. I might swap to OpenJDK to see how it works with Minecraft and a client I use for Freechess.org.

ReaperX7 08-29-2011 02:22 PM

Quote:

Originally Posted by Alien Bob (Post 4456024)
Slackware will not be allowed to keep shipping JRE and JDK the way it used to (re-packaging the official binaries). But there are two alternatives to that: either Slackware will ship OpenJDK instead (compiled from source) or it will ship only a jre.SlackBuild and jdk.SlackBuild script which enables you, the Slackware user, to package and install the official Java binaries painlessly.

Eric

SlackBuild then please by all means.:cool:

I do however find this clause of the Oracle license interesting in this matter:

Quote:

3. RESTRICTIONS. Software is copyrighted. Title to Software and all associated intellectual property rights is retained by Oracle and/or its licensors. Unless enforcement is prohibited by applicable law, you may not modify, decompile, or reverse engineer Software. You acknowledge that the Software is developed for general use in a variety of information management applications; it is not developed or intended for use in any inherently dangerous applications, including applications that may create a risk of personal injury. If you use the Software in dangerous applications, then you shall be responsible to take all appropriate fail-safe, backup, redundancy, and other measures to ensure its safe use. Oracle disclaims any express or implied warranty of fitness for such uses. No right, title or interest in or to any trademark, service mark, logo or trade name of Oracle or its licensors is granted under this Agreement. Additional restrictions for developers and/or publishers licenses are set forth in the Supplemental License Terms.
Read the entire license for usage several times. There is NOTHING in the license regarding redistribution that I could find regarding redistribution or repackaging that Slackware or any Linux, Windows, or MAC doesn't already abide by.

Quote:

C. LICENSE TO DISTRIBUTE SOFTWARE. Subject to the terms and conditions of this Agreement and restrictions and exceptions set forth in the README File, including, but not limited to the Java Technology Restrictions of these Supplemental Terms, Oracle grants you a non-exclusive, non-transferable, limited license without fees to reproduce and distribute the Software, provided that (i) you distribute the Software complete and unmodified and only bundled as part of, and for the sole purpose of running, your Programs, (ii) the Programs add significant and primary functionality to the Software, (iii) you do not distribute additional software intended to replace any component(s) of the Software, (iv) you do not remove or alter any proprietary legends or notices contained in the Software, (v) you only distribute the Software subject to a license agreement that: (a) is a complete, unmodified reproduction of this Agreement; or (b) protects Oracle's interests consistent with the terms contained in this Agreement and that includes the notice set forth in Section G, and (vi) you agree to defend and indemnify Oracle and its licensors from and against any damages, costs, liabilities, settlement amounts and/or expenses (including attorneys' fees) incurred in connection with any claim, lawsuit or action by any third party that arises or results from the use or distribution of any and all Programs and/or Software.
...which bring me back to the original post I made. As long as the complete package is provided with the licenses and documentation originally provided, it's legal, and Oracle seems to be wanting to play nice with it's licensing.

I understand the need to do a SlackBuild, but because the license is clear cut. As long as the original software is intact for it's purpose and includes all documentation articles, it doesn't make a difference if you use a .sh, .rpm, .deb, or .txz to apply it to your redistribution.

Honestly, no offense but I smell some serious bullsh*t in regards to wanting to abandon the Oracle implementation of JDK for the open source derivative, and a premature jumping of the gun by Debian and others wanting to entice Fear, Unrest, and Decent (FUD).

There could be an easier way to do this...

Contact Oracle and simply ask them.

BlackRider 08-29-2011 02:56 PM

Quote:

I wouldn't be adverse to dropping Oracle Java from Slackware if Oracle get any weirder.
export STALLMAN_MODE=true

You should not trust proprietary software. You never know when are the vendors going to take weird decisions and change their licensing conditions without a warning. If you base your Java computing on Oracle's JRE, you might discover that Oracle decides to start charging a fee, changes distribution terms and makes your life impossible. Use free (as in speech) software and this will be less a problem for you!!

unset STALLMAN_MODE

Quote:

I might swap to OpenJDK to see how it works with Minecraft and a client I use for Freechess.org.
Minecraft is said to work flawlessly, with just a 25% slowdown in load times and a slightly lower frame rate.

The only app I use Java for right now is a thermodynamic cycles calculation program that works fine on OpenJDK too, so if Oracle's implementation is dropped, I won't see any difference. Corporative users, however, will prefer to use Oracle's stuff as it is more reliable.

Quote:

As long as the complete package is provided with the licenses and documentation originally provided, it's legal, and Oracle seems to be wanting to play nice with it's licensing.
I am checking that right now.

BlackRider 08-29-2011 03:14 PM

Quote:

Can I distribute Java with my software?

Yes, you can provide Java with your software provided you abide by the terms and conditions of Java binary code license.

Can I distribute Java Development Kit (JDK) along with Java Runtime Environment (JRE) on the same CD-Rom?

Yes, provided that you abide by the terms and conditions of the JDK's binary code license.

Can we provide Java on a CD to ensure that people who do not have internet can install it directly from the CD?

You may make Java available to users within your organization on a CD. And you may distribute Java bundled with your application to users outside of your organization. You may not distribute Java alone on a CD.
Source: http://www.java.com/en/download/faq/distribution.xml

Java binary code license can be found here: http://www.oracle.com/technetwork/ja...nse/index.html

However, it seems to me that when they refer to "my software", they are refering to software produced by me and that needs Java to work.

Quote:

"Programs" means Java technology applets and applications intended to run on the Java Platform, Standard Edition platform on Java-enabled General Purpose Desktop Computers and Servers.

[...]

Oracle grants you a non-exclusive, non-transferable, limited license without fees to reproduce and distribute the Software, provided that (i) you distribute the Software complete and unmodified and only bundled as part of, and for the sole purpose of running, your Programs
In other words:
-- Slackware.inc cannot put the JRE package in the mirror.
-- Slackware.inc cannot distribute the package in the optic media.

Workaround: Make a dummy Java based application (i.e: an app that prints "Hello, Oracle sucks") and include it with the package. This way, your JRE distribution would be classified as "bundled with your Program".

Why this workaround does not work: because distribution terms allows you to distribute Java Runtime Environment to run YOUR programs, so you would only be allowed to run the dummy app and nothing else...

This is a damned headache. This is why I encourage everybody who does not care about running an implementation or another to use the free alternative.

dugan 08-29-2011 04:35 PM

Quote:

Originally Posted by BlackRider (Post 4456189)
In my opinion, when a vendor starts acting stupidly, his work should be dropped out if possible, just as many GNU/Linux distros and BSD did with ION3. No body likes to deal with an idiot.

I didn't know that there was drama with ION3, but the example that came to my mind was XFree86.

BlackRider 08-29-2011 04:55 PM

Quote:

I didn't know that there was drama with ION3, but the example that came to my mind was XFree86.
ION3's developer released his window manager under a non-free license that enforced distributors to always provide the latest version (or to pop-up warn the user if the version was not the latest) and banned any modification or patch that was not requested by each user. Of course, long term support distributions did not like the idea of upgrading the package every week or having to warn the user with pop-ups because their package was two weeks old, all because the developer had licensed the software under this funny terms.

gargamel 08-29-2011 06:23 PM

Quote:

Originally Posted by GazL (Post 4456154)
Mostly C these days. Though I still have a soft spot for Pascal/Delphi. :)

My comment was more about the implementation than the language though.


Real programmers don't use Pascal!

:)

gargamel

ReaperX7 08-29-2011 06:50 PM

ION3's license was simply retarded. Basically a prime example of a license that just can not work under any regards.

I forgot exactly what all the drama between X.Org and Xfree86 was all about, but I think it was how the developers were given access to the CVS or something and too many patches required by vendors, and lack of progress as a whole from restrictive licensing (if anyone can validate this as what happened).

sahko 08-30-2011 12:36 AM

Ugh, how did Ion3 became relevant to java escapes me. In defense of the Ion3 developer, the way Debian treated his software was more retarted than the modified version of the LGPL he came up with, in order to protect himself and his sanity .

http://tuomov.bitcheese.net/b/archiv...3/03/T19_15_26

There are always two sides to a coin...
Can we stick to java please?

ReaperX7 08-30-2011 03:51 AM

The ION3 and XFree86 incidents were only referenced as to why they happened and how the same is happening with Java. However the Java situation only has surfaced because OpenJDK has now been fronted by Oracle as it's open source derrivative of it main product and they are launching a new license with version 7 and everyone is in a panic because they think they can't use a system built package.

But if you read the new license especially the parts about redistribution and such, all they ask is the documentation and license files as well as the whole of the package remain intact for the redistribution. There is nothing specifically mentioned about the method or means of the redistribution, only things regarding package integrity.

wildwizard 08-30-2011 04:19 AM

Quote:

Originally Posted by ReaperX7 (Post 4456363)
I do however find this clause of the Oracle license interesting in this matter:

That little section is for countries like Australia where we have reverse engineering laws covering software products that become non-supported by the vendor.

Essentially if you produce a software product that does XYZ and then you stop selling it and cease providing updates for it then once it becomes difficult or impossible to get the product to run then it becomes legal to reverse engineer the software in order to modify it so it runs as originally intended, despite any license restriction that may exist.

This wont apply to the java case as :-
1) The old java still works
2) They have directed users to a new product that does the same thing

sahko 08-30-2011 06:43 AM

Quote:

Originally Posted by ReaperX7 (Post 4456862)
The ION3 and XFree86 incidents were only referenced as to why they happened and how the same is happening with Java.

Its not the same at all. The changed Ion3 license was still LGPL. Unlike Java Ion3 was still fully redistributable. Most distributions chose not to distribute it.
Thats not the case here.

BTW most distributions have been defaulting to OpenJDK as their Java implemention for a while now. But most/all have Oracle's one available as well.

ruario 08-30-2011 06:55 AM

Quote:

Originally Posted by sahko (Post 4456954)
BTW most distributions have been defaulting to OpenJDK as their Java implemention for a while now. But most/all have Oracle's one available as well.

It is really a shame that Oracle have gone down this route and hence forced distros to abandon them because the Sun/Oracle Java implementation is better performance wise and in terms of having less bugs. However it is not so much better that they will be able to force users to jump through hoops and download manually, whilst still retaining market share. Most users will simply stick with the implementation provided by their distro.

In all honesty, for my own part I'll probably stick with the Oracle implementation for a while because 1. Minecrack plays more smoothly and 2. It works much better in my browser (and I'm forced to use Java by one of my banks).

syg00 08-30-2011 07:20 AM

Quote:

Originally Posted by gargamel (Post 4456546)
Real programmers don't use Pascal

ROTFLMAO ... ;-)

I'm probably about the only person here that regularly references the (IBM) Principles of Ops. But Fortran ???. Erk - Assembler; nothing else.
O.K., nowadays also a bit of C for the zLinux kernel side of things.

rouvas 08-30-2011 08:26 AM

predictions
 
The Oracle has told me (the original from Greece not Larry's fake), that Oracle (Larry's fake) will push everyone to OpenJDK while keeping JRockit for it's products. Sun's JRE/JDK will fade away.

Richard Cranium 08-30-2011 12:27 PM

Quote:

Originally Posted by GazL (Post 4456154)
Mostly C these days. Though I still have a soft spot for Pascal/Delphi. :)

My comment was more about the implementation than the language though.

I dare say, given C's track record.

dugan 08-30-2011 01:51 PM

Quote:

Originally Posted by Alien Bob (Post 4456024)
Slackware will not be allowed to keep shipping JRE and JDK the way it used to (re-packaging the official binaries). But there are two alternatives to that: either Slackware will ship OpenJDK instead (compiled from source) or it will ship only a jre.SlackBuild and jdk.SlackBuild script which enables you, the Slackware user, to package and install the official Java binaries painlessly.

I vote for OpenJDK.

My reasoning is that no matter which one you choose, there would be someone who would like the other option. It would be easier for a third party to write a SlackBuild script that packages the Sun JDK than to write a SlackBuild that builds and packages OpenJDK.

rg3 08-30-2011 02:10 PM

OpenJDK is the obvious choice. I've read somewhere (I can't find a link now) that, previously, OpenJDK and the official JDK differed in the sense that they were different products, but the goal is to have the official Oracle JDK based on OpenJDK plus a few changes, so distributing OpenJDK would totally make sense, even if it's going to be a bit of a bumpy road in the first moments.

ReaperX7 08-30-2011 03:44 PM

Often what seems the obvious choice isn't always the best choice overall. I still say contact Oracle.

dugan 08-30-2011 03:51 PM

Quote:

Originally Posted by ReaperX7 (Post 4457342)
But if you read the new license especially the parts about redistribution and such, all they ask is the documentation and license files as well as the whole of the package remain intact for the redistribution. There is nothing specifically mentioned about the method or means of the redistribution, only things regarding package integrity.

Judging from what Alien Bob posted before you wrote the above, you appear to be mistaken.

Were you both quoting from the same license?

ReaperX7 08-30-2011 08:36 PM

I quoted directly from the Oracle website's.

sahko 12-17-2011 07:18 PM

It looks like canonical is retiring oracle java: http://www.h-online.com/security/new...s-1396528.html


All times are GMT -5. The time now is 03:19 PM.