Slashdot Mirror


Oracle's Latest Java Moves Draw Industry Ire

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.'"

26 of 372 comments (clear)

  1. Oracle and Java by ravenswood1000 · · Score: 5, Insightful

    With Oracle responsible for Java, is it even worth it to learn the language any more? I mean they will be killing it off soon.

    1. Re:Oracle and Java by Foxhoundz · · Score: 4, Insightful

      Not a chance. Java has changed the face of mobile computing within the past decade. Why would oracle shoot themselves in the foot?

    2. Re:Oracle and Java by Anonymous Coward · · Score: 4, Insightful

      And if oracle keeps up, Android 5 or 6 will ship with a shiny python-esque runtime when google gets tired of paying for java lawsuits, leaving java on "feature" phones nobody writes apps for.

    3. Re:Oracle and Java by characterZer0 · · Score: 4, Insightful

      "Write once, curse (and debug) everywhere."

      That is still better than write everywhere, curse (and debug) everywhere.

      --
      Go green: turn off your refrigerator.
    4. Re:Oracle and Java by Xtifr · · Score: 5, Insightful

      Why do companies shoot themselves in their feet? I don't know, but companies do it all the time. Oracle has always been remarkably short-sighted and unable to see the bigger picture.

      On the other hand, the fact that there is a an officially GPL'd version of official Java out there may well mean that in the long term, Java will be fine. Oracle can kill off their own branch, but Java in some form is probably going to continue, because it's too entrenched. There are some big players on the sidelines (e.g. IBM) with a lot invested in Java who aren't going to sit idly by and let Oracle destroy it when Sun made it easy to go another route. OpenJDK may have a few shortcomings at the moment, but that could easily change if some bigger players got more serious about it.

      It's still too early to tell how this is all going to play out, but the death of Java seems like one of the least likely outcomes.

    5. Re:Oracle and Java by Ossifer · · Score: 5, Insightful

      1. Most applications have base requirements for runtime (C libs, etc., for example)
      2. HotSpot yields native code
      3. Sure it does--better than any other generic language in its core, but it also provides JNI for anything else you feel you need outside of its core.
      4. OSX WFM.
      5. Red herring. See #2, also for truly intensive functions, use assembler.

    6. Re:Oracle and Java by DamonHD · · Score: 4, Informative

      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

      --
      http://m.earth.org.uk/
    7. Re:Oracle and Java by gweihir · · Score: 4, Interesting

      I don't think it was. And it is certainly unsuitable as a first programming language. It is not close enough to the machine for many tasks, yet not abstracted enough for many others. It also does not teach concept cleanly enough that there would be a large benefit for learning other languages later.

      Sadly, academia does not seem to realize that and it is taught as first (and sometimes only) language in many places. Just had to tech C to a bunch of college students last semester because you cannot teach an OS course with Java.

      --
      Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
    8. Re:Oracle and Java by Miamicanes · · Score: 4, Informative

      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.

    9. Re:Oracle and Java by Anonymous Coward · · Score: 5, Insightful

      2. Oracle thinks that Java is not open, and they also have damning email correspondence showing that Google did not actually believe Java could be used without a license.

      You mean the damning email that came out in August 2010 saying from engineer Tim Lindholm to Andy Rubin that said we need to license java?
      (http://newsandinsight.thomsonreuters.com/Legal/News/2011/11_-_November/Oracle_v__Google_and_the_most_relentlessly_litigated_email_ever/)
      Remember that Oracle purchased Sun in 2009 (http://en.wikipedia.org/wiki/Sun_Microsystems) where Android was first released in 2008 (http://en.wikipedia.org/wiki/Android_(operating_system))

      Putting together a timeline:
      1) Android released in 2008
      2) Oracle purchased Sun in 2009
      3) "Damning" email in 2010

      So after Android is released, Oracle purchases Sun hoping to sue Google for $$$, then an engineer says yeah we better license java. That isn't damning, that's an opinion of one engineer (or more likely a team). Now if that timeline had #3 coming first, it would be damning, but to come last in the chain is hardly even worth mentioning. Oracle's case resting on that one email is laughable at best

    10. Re:Oracle and Java by ColdWetDog · · Score: 4, Informative

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

      So there.

      --
      Faster! Faster! Faster would be better!
    11. Re:Oracle and Java by PCM2 · · Score: 4, Interesting

      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.

      To be fair, at the time Apple execs were crowing that Mac OS was going to be the premier platform for Java development in the world. They were hinting pretty strongly that they were going to tie Java into every possible aspect of the OS to wring every possible ounce of performance and system integration out of it, so it only made sense that Apple engineers, who had insider knowledge of the Mac OS platform, should be in charge. I suppose we have nobody to blame but Sun, but nobody could have known Apple would drop the ball so badly. (And BTW, it was Scott McNealy who let Apple be responsible for Mac Java, not Schwartz.)

      --
      Breakfast served all day!
    12. Re:Oracle and Java by jd · · Score: 4, Funny

      The problem with HP is that they use high-power automatic weapons to shoot themselves in the foot that also take out everyone else's feet, the floor, part of the walls, some of the landscape and a perfectly innocent asteroid.

      --
      It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
    13. Re:Oracle and Java by jd · · Score: 4, Informative

      * 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.

      --
      It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
    14. Re:Oracle and Java by kaffiene · · Score: 4, Insightful

      What a moronic load of crap. Java has not succeeded for this long because of marketing. At some point, a language needs to be able to just get stuff done - and it has. People like the Apache foundation haven't produced a metric shit-load of projects in Java because they liked Sun's marketing, they did it because Java was good at getting work done.

      I'm a C hacker from way back. I used C++ from when it was a C preprocessor. C is one of my favourite programming languages, but so is Java. They are both excellent at Getting Shit Done (tm). Ignoring all that's good about Java because it had a marketing drive decades ago is pathetic. Ruby has been hyped recently. Microsoft's Visual C++ has had a tonne of marketing from MS - ditto C#. Should we dump all those languages or claim that their successes are all marketing? Give me a break. Grow the fuck up.

    15. Re:Oracle and Java by kaffiene · · Score: 4, Informative

      "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?

    16. Re:Oracle and Java by RubberMallet · · Score: 4, Informative

      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.

    17. Re:Oracle and Java by BeforeCoffee · · Score: 5, Interesting

      Oh, you're one of THOSE guys. You complain too much. Java isn't as bad as you say even if there's a whiff of truthiness in most of your criticisms.

      I argue, Mr. Grouch, that the crown jewels of Java are not to be found in the language. They're found in the JVM. Plain and simple: the JVM is the most banged on, battle hardened, security-first computer programs ever written. There is no more trustworthy binary in the world more than java.exe. You want an unrockable web server? Run Tomcat with the NIO thingy enabled on the latest Java 6 atop Linux with the firewall all ratcheted up. And don't proxy through Apache HTTPD if you don't have to - that's just one more security-as-afterthought, million moving parts binary with perennial remote exploits to worry about.

      Why do languages "that target the JVM" actually make a difference? Because you get all that bitchin runtime robustness without the Java language baggage you just love love love to complain about. And while we're at it: Java Native Invocation (JNI) is considered harmful. Native code tainting the JVM? You better have a darned important exotic business requirement to bring new native code into the equation. As far as I'm concerned, you're crazy as a loon to write native code these days unless you're doing embedded systems or device driver development. I'm wondering why you would suggest something so reckless! Care to elaborate?

      I know the JVM's design makes life a real drag sometimes. It feels like a trusty slingshot that's been upgraded into a WMD. But, I could care less about aesthetics or the angst about Java that computer language and open source purists express. I care about stability. I care about uptime. I care about speed. But most of all, I care about security. I care about the total cost of the systems I run.

      Ok, ok, I'm leaving, I'm getting off your lawn.

  2. Re:Don't understand by gral · · Score: 5, Informative

    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.

    --
    Scott Carr
  3. I don't see these as real issues by Necroman · · Score: 5, Interesting

    I follow Java developments regularly and I don't see these points as being real issues.

    Modularization: Project Jigsaw is meant to bring a more simple module system when compared to OSGi. OSGi is a great tool, but overly complicated for many people. Also, having Jigsaw built into the JRE will allow Oracle to split the base JRE into modules and hopefully reduce the memory required on initial load of a Java app. (Java core libraries have some horrible dependency trees, which cause a large chunk of the base JRE libraries to load on even the most simple applications).

    Java Licensing: Sun started to push OpenJDK before it was bought by Oracle and that trend is continuing. The idea is that OpenJDK should be included with OS's like Ubuntu. OpenJDK is a GPL fork of a majority of the Oracle JDK, but some pieces could not be released as GPL because Sun originally licensed them from others (so those parts had to be re-written). I think it's better for everyone if OpenJDK gets more people using it so the bugs are worked out and it's a great open source Java implementation.

    --
    Its not what it is, its something else.
  4. Re:fp by jd2112 · · Score: 5, Funny

    FIRST POST

    Obviously you aren't running Java, otherwise you wouldn't have been able to post so fast.

    --
    Any insufficiently advanced magic is indistinguishable from technology.
  5. damned if you do... by blackfrancis75 · · Score: 4, Interesting

    the really funny/sad part is that many of the same people here who will condemn Oracle for capitalizing on Java are the very people who sadly shook their heads that Sun *wasn't* able to leverage it commercially.

  6. Not an accurate summary of the case by Anonymous Coward · · Score: 5, Interesting

    Those "two sides" are not correct. This lawsuit doesn't hinge on whether or not Java is open. The real situation is that if Google had licensed Java, it would be protected from Oracle's patent infringement lawsuits (due to licensing terms) regarding patents that have NOTHING PER SE TO DO WITH JAVA. Those patents cover techniques used to implement virtual machines, and they could potentially be used to sue Perl, Python, Ruby, and other virtual machine technologies.

    1. Re:Not an accurate summary of the case by WaywardGeek · · Score: 4, Insightful

      I love posts on slashdot by people who have more than the average clue about what's going on. Thanks for the info. I've been using openjdk for the last year, and I think it is finally something close to a real free software alternative for most Java programs. I also use Android's Java. Pretty much, I think we should be using any viable alternative to Oracle. They simply can't be counted on.

      --
      Celebrate failure, and then learn from it - Nolan Bushnell
    2. Re:Not an accurate summary of the case by voidphoenix · · Score: 4, Informative

      OpenJDK (class libs, compiler, virtual machine) are were released under GPL by Sun/Oracle. It's not at risk.

  7. Re:Java, Ubuntu, and students by DrgnDancer · · Score: 4, Insightful

    I don't want to be an ass, and I agree in principle that school sites should be at least as platform independent as possible; but honestly how many possible OS configurations should a school test against? If you work on Windows you probably have 90% of parents covered. If you work on Windows and Mac you probably have 99.9% of parents covered. Is working on Ubuntu really worth that extra .1% of parents who could honestly just put Windows in a VM? I understand the desire to use what you want to use, and not let stuff like this dictate how you run your computer, but is it really worth a whole lot of tax payer money to make sure that the school website works for such a small user base? If so at what point do they stop? Do they have to test against every Linux distro? The various BSDs? 32 and 64 bit version of all of this? Install the most minimal cost/complexity Windows VM you can get away with and show the kids how to boot it to do their work.

    --
    I don't need a million points of light, just two points of multi-mode fiber and a 10 Gig-E router.