Forgot your password?
typodupeerror
Java Oracle Programming

Oracle's Latest Java Moves Draw Industry Ire 372

Posted by Soulskill
from the can't-we-all-just-get-along dept.
snydeq writes "Two years later, Oracle's stewardship of Java continues to raise user and vendor ire, this time due to modularization, licensing, and security concerns. 'Plans for version 8 of Java Platform Standard Edition, which is due next year, call for inclusion of Project Jigsaw to add modular capabilities to Java. But some organizations are concerned with how Oracle's plans might conflict with the OSGi module system already geared to Java. In the licensing arena, Canonical, the maker of Ubuntu Linux, says Oracle is no longer letting Linux distributors redistribute Oracle's own commercial Java, causing difficulties for the company. Meanwhile, security vendor F-Secure views Java as security hindrance.'"
This discussion has been archived. No new comments can be posted.

Oracle's Latest Java Moves Draw Industry Ire

Comments Filter:
  • Re:Don't understand (Score:5, Informative)

    by gral (697468) <{kscarr73} {at} {gmail.com}> on Tuesday January 10, 2012 @04:23PM (#38655406) Homepage
    OpenJDK has been the default in Ubuntu for a little while now. I don't think most distributions used the main Oracle Java in their distro by default either. OpenJDK is still available, and included, it is just the oracle version that has been removed. OpenJDK is backed by other companies than just Oracle, and is licensed for distros. At least, this is my understanding of the landscape.
  • Re:Oracle and Java (Score:5, Informative)

    by DamonHD (794830) <d@hd.org> on Tuesday January 10, 2012 @04:43PM (#38655624) Homepage

    My main Java app is right now running distributed across at least 3 major *nix variants (and Windows should I want to again) and indeed CPU families (x86/x64, ARM and SPARC) with no extra dev or debugging pain, and contains components dating back to about Netscape 2.0 time running without problem. Say what you like but WORA works very well indeed for me with Java.

    A .Net app that I have been working on in a team for well over a year runs very well across exactly one release of Windows and .Net and Direct X, just about. And debugging pain: don't get me started.

    Rgds

    Damon

  • Re:Oracle and Java (Score:5, Informative)

    by Miamicanes (730264) on Tuesday January 10, 2012 @05:08PM (#38655954)

    99 times out of 100, when a user has problems running a Java app, it's because somebody specified an inappropriate version of Java in the manifest. There's an entire subtle range of possible values that have meanings like "The newest installed VM that's Java $N or newer", "The newest installed VM that's Java $N", "The newest installed VM that's at least Java $N.$V", and so on. The problems come about when some idiot doesn't know what he's doing, has an application that only NEEDS Java 4, then turns around and specifies in the manifest that it MUST run under Java 4, instead of "Java 4 or newer", so somebody who has Java 6, release 28 installed has to try and literally install a Java 4 VM to run it. It gets even worse with applets, because Sun's official docs totally borked the explanation of how CLSID values worked, and caused ENDLESS grief when some corporate apps decided to dictate specific releases of Java for no good reason.

    The fact is, if you write a Java application and Jar it up in a way that says only that it must have a VM that's at least as old as some minimum version, the likelihood of users having real-world problems with it are pretty low. I have stuff I wrote 10+ years ago and compiled with a pre-alpha 1.4 JDK that still works today (which is a good thing, because the source code was lost when my old laptop died). I've seen corporate apps that anal-retentively specify that they must not be used with any JDK besides 2.6.0_19, then go a step beyond and die if you have a newer JDK even installed at all, because they're launched by webapps that use the CLSID that means "ignore the settings in the JPI control panel, always use the newest version installed", then turn around and use Javascript to test for JPI version & commit suicide if it's older than 2.6.0_19 (even if you have 2.6.0_19 installed, and bent over backwards to specify that precise JDK in the control panel). I've actually had to use Greasemonkey in some cases to dynamically fix the stupid CLSID embedded in the Object definition on the fly so it wouldn't ignore my JPI control panel settings. But don't get me started on that... grrrrrrr...

    Of course, we've all had our "ohcrap" moments. I remember spending a week working on what was supposed to be a cross-platform videochat application written in Java (so it could run under Windows, Mac, and Linux) using JMF. It worked nicely under Windows. Then I went to test it under Linux, and discovered that JMF was basically broken to the point of uselessness under everything besides Windows due to codec licensing & implementation issues. That was when I learned the hard way that anytime you're explicitly writing something that HAS to work on a platform besides Windows, make sure it doesn't have "issues" with other platforms before investing lots of time in it... especially if it depends upon any extension or framework that's not a native part of bog-standard Java that gets installed by default. Especially anything based upon a JSR. I've lost count of the number of JSR-related extensions that were nothing but stubs & almost inevitably had Macintosh problems.

    IMHO, Sun fucked up, and fucked up badly, when they handed over control of Macintosh Java to Apple. Jonathan Schwarz basically handed Steve Jobs the rope, and was too oblivious to notice Steve busily tying it into a noose. Java's main reason for existing as a platform for desktop applications is WORA, and allowing Apple to screw up Macintosh Java as badly as they did hurt that main purpose really badly.

  • Re:Oracle and Java (Score:5, Informative)

    by ColdWetDog (752185) on Tuesday January 10, 2012 @05:18PM (#38656092) Homepage

    Hell, I can't program past visual basic and I make more than either of you!

    So there.

  • Re:Don't understand (Score:4, Informative)

    by Miamicanes (730264) on Tuesday January 10, 2012 @05:22PM (#38656138)

    It's because Oracle (formerly Sun) makes huge amounts of money licensing the rights to distribute installable copies of Java. Java is only free (as in beer) if you, the end user, personally download it from Oracle's official web site and install it yourself as a separate process distinct from installing any app that requires Java.

    Officially, you (as a developer) aren't even allowed to try and automate the process. If you want to automate the process in any way, and/or bundle a Java installer with your app, you have to pay HUGE amounts of money for the rights to do it.

    Java's licensing is brilliantly viral, because it imposes restrictions that developers never even *notice* until somebody points out their implications to naive end users. MySQL's licensing works more or less the same way -- free for end users to download & install themselves, but the moment an automated installer enters the picture (or a consultant is involved), the mandatory licensing fees kick in... and the fees are high enough that if you're running Windows servers anyway, you'll probably end up kicking yourself for having not just used SQL Server to begin with. I'm not talking about web serves you configure yourself... I'm talking about commercial apps that depend upon a database for their persistent backing store, and would normally be installed like a normal application.

  • Re:Oracle and Java (Score:4, Informative)

    by jd (1658) <imipak @ y a h o o .com> on Tuesday January 10, 2012 @08:28PM (#38658298) Homepage Journal

    * I've used Java since the alpha release. I've used it in more environments than you could possibly comprehend. I regard it with contempt, it's a C knock-off without any of the redeeming features of C and should have remained the province of toasters and vaccuum cleaners (the original purpose of the language for those who ACTUALLY bother with things like, oh, history).

    * Tcl/Tk is actually a damn sight more solid as a platform - if only the API would settle down. The community for Tcl/Tk is considerably larger, which is no surprise as the language is considerably older.

    * Perl is an amazingly stable platform and has a community beyond the comprehension of most mortals. It has plenty of GUIs (including Perl/Tk).

    * Languages "that target the JVM" don't make any difference. Java Native Invocation makes it so any language can be accessed by the JVM, so it's a senseless concept in the first place. Secondly, having out-of-JVM code defeats the sandbox AND the run-anywhere concepts at the same time. Thirdly, there is no "Java Platform", there is only Java the language. Take away the language and all you have is a virtual machine -- and those are two-a-penny.

    * Java's ability to run in a browser is perhaps the only facet of Java-the-language which distinguishes it from any other language. It's the only reason it gained popularity (it existed as Oak for years and only came to the public's attention when it entered the browser under the name of Java), it's the only reason phones use it (if you've already included a Java-enabled web browser on the phone, you already have Java so why have any other interpreter in there?) and the list of defects within the design is staggering, making mistakes most scripted, bytecode-compiled or native-compiled languages had resolved years earlier.

    * Do you know, really know, just how many programming languages there are? And why none of them gained any kind of traction over the Internet? Look at the servlets - they're JVM-based, despite the fact that Java has the worst threading model of any language and the least ability to process text. Do you know why servlets exist at all? It's because fat clients became unpopular. So why was Java chosen? Because it was the "language of the web". Why was it the language of the web? Because Java applets existed and anyone with a web page could add one. This meant Java was used by a lot of people and THAT is why there was a community there to begin with. No applets, no community. Java is the single-worst language for what it is used for today, it is used because of that one historical facet and nothing else.

  • Re:Oracle and Java (Score:5, Informative)

    by kaffiene (38781) on Tuesday January 10, 2012 @11:46PM (#38659936)

    "There is no way in hell that your Java app uses anything even as remotely complex as DirectX"

    I've got Java OpenGL code with 3D sound and raw input access that works fine across Windows, Linux and Mac.

    I chose to roll my own (JOGL, OpenAL, JInput) but LWJGL (http://lwjgl.org/) provides all of those features I mentioned as well.

    "Comparing a Windows app (game?) that uses hardware acceleration (!) to a business app that's basically just a bunch of "if-else" code and string processing is not exactly fair. Try writing the SAME app on both platforms and see how your portability compares."

    I have. It works perfectly.

    Any more FUD you wanted to sling?

  • by voidphoenix (710468) on Wednesday January 11, 2012 @03:48AM (#38661024)
    OpenJDK (class libs, compiler, virtual machine) are were released under GPL by Sun/Oracle. It's not at risk.
  • Re:Oracle and Java (Score:4, Informative)

    by RubberMallet (2499906) on Wednesday January 11, 2012 @04:14AM (#38661094)

    Yes Oracle is wildly successful, but they are also VERY shortsighted.

    I worked (note past tense) for Oracle... I saw it first hand. I saw the decision process.. I was involved in it. I fought against it too... I tried hard to point out the short term thinking... and was shot down. Oracle is all about this quarter, not next.. just this quarter... and making as much profit in any way possible this quarter. If that means destroying a product-line that is lined up to be very successful and profitable next quarter, then so be it as long as there is profit this quarter. If that means laying off thousands so that the numbers crunch out, then so be it. Layoffs are expensive and unnecessary? Well defer that expense to the next quarter and plan re-hiring next quarter, because Oracle must be ridiculously profitable this quarter.... and so on.

    Sure there is an element of "Oracle isn't doing things the way I want", but there is a mountain of truth (it's so far beyond a kernel of truth, it has become a mountain) to the shortsighted comment.

"Regardless of the legal speed limit, your Buick must be operated at speeds faster than 85 MPH (140kph)." -- 1987 Buick Grand National owners manual.

Working...