Slashdot Mirror


JavaFX Runs On Raspberry Pi

mikejuk writes "Oracle seem to be concerned that the Raspberry Pi manages to run Java properly and they are actively working on the problem. To prove that it more than just works, what better than to get a JavaFX app up and running — what could be more cutting edge? Unfortunately the trick was performed using a commercial version of the JDK with JIT support and some private code, but it is still early days yet. Java and JavaFX on Raspberry Pi takes us into a whole new ball game." Watch the video at the linked report to see it in action.

20 of 147 comments (clear)

  1. Misread by pr0nbot · · Score: 5, Insightful

    I think I've been reading too much Oracle/Java hate on slashdot. I misread the first sentence to mean, "Raspberry Pi manages to run Java properly. Oracle seem to be concerned and are working on the problem."

    1. Re:Misread by Infiniti2000 · · Score: 4, Insightful

      The whole fucking summary is written in broken English. It's not your fault. "It is still early days yet."

    2. Re:Misread by Dishevel · · Score: 4, Insightful

      Which means the submitter is the writer of the article and this is just a slashvertisement to get some hits on his site.
      And Timmothy is a fucking useless editor.
      What part of the "editor" job was done by Timmothy here?
      Clicking the "post this shit" button?

      --
      Why is it so hard to only have politicians for a few years, then have them go away?
    3. Re:Misread by sl4shd0rk · · Score: 5, Insightful

      I've been reading too much Oracle/Java hate on slashdot.

      Nobody really admires Oracle except for corporate CEO types. The rest of us have what equates to the same admiration for a dentist's drill. The licensing model is basically un-consentual sex. Having Oracle gunning for more IP just makes everyone uncomfortable.

      --
      Join the Slashcott! Feb 10 thru Feb 17!
  2. Foot, meet bullet. by IGnatius+T+Foobar · · Score: 5, Insightful

    Oracle have shot themselves in the foot, and this is a good example of why. Even if the R-Pi runs Java, no one is going to trust Oracle not to sue them out of existence after the way they've abused Google over its use of Java on the Android platform.

    --
    Tired of FB/Google censorship? Visit UNCENSORED!
    1. Re:Foot, meet bullet. by Anonymous Coward · · Score: 3, Insightful

      Oracle isn't suing Google for *using* Java. They're suing for *forking* Java. I think most people (outside slashdot populists) can see the distinction.

    2. Re:Foot, meet bullet. by reg · · Score: 5, Informative

      >Please, the vast majority Java was open sourced in 2006 under the GPL

      The code was. But if you want to write any Java code you need to use Java APIs. Those are copyright and subject to Oracle's terms of use. Go to http://docs.oracle.com/javase/7/docs/index.html - see that link to a copyright statement at the bottom: http://docs.oracle.com/javase/7/docs/legal/cpyr.html. That document says:

      1. 1. This software ... provided under a license agreement containing restrictions on use ...
      2. 2. Except as expressly permitted in your license agreement or allowed by law, you may not use, ... any part, in any form, or by any means.

      So what is the license agreement: Try to download the documentation (http://www.oracle.com/technetwork/java/javase/documentation/java-se-7-doc-download-435117.html). That has a click though agreement to http://download.oracle.com/otn-pub/java/licenses/java-se-7-spec-license.txt, which in turn says:

      1. License for Evaluation Purposes. Oracle hereby grants you a fully-paid, non-exclusive, non-transferable, worldwide, limited license (without the right to sublicense), under Oracle's applicable intellectual property rights to view, download, use and reproduce the Specification only for the purpose of internal evaluation. This includes (i) developing applications intended to run on an implementation of the Specification, provided that such applications do not themselves implement any portion(s) of the Specification, and (ii) discussing the Specification with any third party; and (iii) excerpting brief portions of the Specification in oral or written communications which discuss the Specification provided that such excerpts do not in the aggregate constitute a significant portion of the Specification.

      So - you can use the APIs for internal evaluation only. In other words - if you wish to use them for any other purpose you need another license from Oracle.

      This is exactly the case Oracle has advanced against Google (who violated clause (i) above by implementing the specification).

      But, they could advance a case against any Java developer, because no matter how they learned Java, these licenses do not extend third party rights, so each developer has to officially learn about Java through the Java specifications. And if you are using Java for any purpose other than evaluation, you are in violation.

      If you use something other Java SE, then you are even worse off, because the APIs are not actually published. The licenses for various versions of Java have changed slightly over the years (the one for Java 5 - which Google is being sued under - says that the license overrides all other statements from Sun, although Oracle's lawyers didn't read that far into the license else they would have used that clause to nullify the damaging testimony about Sun's approvals of Google's actions.

      Before you accuse people of astroturfing, learn the turf.

      Regards,
      -Jeremy

    3. Re:Foot, meet bullet. by peppepz · · Score: 3, Informative
      You're mixing the licenses of the GPL OpenJDK (the GPL does not allow "field of use" restictions), Oracle's binary JDK, and Oracle's Java specification.

      So - you can use the APIs for internal evaluation only. In other words - if you wish to use them for any other purpose you need another license from Oracle.

      Did we red the same piece of text?

      includes (i) developing applications intended to run on an implementation of the Specification

      means exactly that you can develop all applications you want using the Java APIs, how do you interpret that as "they could advance a case against any Java developer"?

      This is exactly the case Oracle has advanced against Google (who violated clause (i) above by implementing the specification).

      No, Google
      1) did NOT use the GPL OpenJDK, and therefore they're not covered by the GPL license; and they expressly chose not to use the OpenJDK because they dislike the GPL, as Google said explicitly in their published emails;
      2) violated this part, of the license, that you omitted to quote:

      2. License for the Distribution of Compliant Implementations. Oracle also grants you a perpetual, non-exclusive, non-transferable, worldwide, fully paid-up, royalty free, limited license (without the right to sublicense) under any applicable copyrights or, subject to the provisions of subsection 4 below, patent rights it may have covering the Specification to create and/or distribute an Independent Implementation of the Specification that: (a) fully implements the Specification including all its required interfaces and functionality; (b) does not modify, subset, superset or otherwise extend the Licensor Name Space, or include any public or protected packages, classes, Java interfaces, fields or methods within the Licensor Name Space other than those required/authorized by the Specification or Specifications being implemented; and (c) passes the Technology Compatibility Kit (including satisfying the requirements of the applicable TCK Users Guide) for such Specification ("Compliant Implementation").

      In other words, Oracle claim that Google created a Java-based platform that is not compatible with Java, and called it Java. Which is what Microsoft did in the 90s (and has nothing to do with the developers of Java applications). A judge will decide if this is the case, but saying that every Java user could be sued for writing Java applications is frankly not true.

      And if you are using Java for any purpose other than evaluation, you are in violation.

      Again, you're omitting to say that the license explicitly allows you to:
      1) develop applications for Java (ANY Java platform implementation)
      2) develop complete implementations of the Java platform.

      There is only one thing you can't do: develop an incompatible implementation of the Java platform and call that thing Java. You can create incompatible implementations of the GPL code of course, but then you can't call it Java. Oracle thinks that Google did that.

    4. Re:Foot, meet bullet. by PCM2 · · Score: 3, Interesting

      In other words, Oracle claim that Google created a Java-based platform that is not compatible with Java, and called it Java.

      Except for two things:

      1. Google doesn't say their OS runs Java. It says you write apps for Android in the Java language, which Oracle is still insisting is "free for anyone to use" -- just apparently not for Google to use. Google has never said that Android is an implementation of the Java platform, however, which is what Google licenses.

      2.A large part of Google's "Java-based platform" is derived from Apache Harmony. To be in compliance with the Java license terms you quote, an implementation must pass the TCK. As we all know, Oracle has refused to grant the Apache Foundation access to the TCK, except under terms that would violate the Apache open source license. So it's a little disingenuous to say Google violated the license, when Oracle specifically wouldn't allow Apache (or Google) to comply with the license.

      So IMHO it's still largely Oracle's acting in bad faith that led to this pass.

      --
      Breakfast served all day!
    5. Re:Foot, meet bullet. by wonkey_monkey · · Score: 3, Funny

      I think you'll find it's "The Pedants' Corporation."

      --
      systemd is Roko's Basilisk.
  3. No to Java : not trustworthy: by Bozovision · · Score: 3, Insightful

    Oracle's ludicrous claims in the Oracle/Google Android trial have shown that they are not trustworthy. Do not base your work on a base where you can be ransomed. No more Java. :-( And when you read Java stories, wonder to yourself every time whether it's the Oracle PR department astroturfing Java stories in an attempt to make Java appear relevant or to attempt to repair the damage.

    1. Re:No to Java : not trustworthy: by cduffy · · Score: 5, Interesting

      If you make a Java ripoff and not be very diligent in your chinese wall cloning efforts, then you probably do have something to worry about.

      Have you actually followed Oracle v. Google?

      The amount of "Chinese wall" breakage is minuscule -- the rangeCheck function and a bunch of *Impl files which were only ever used in the test suite and which never made it into any shipping phone. The jury is likely to decide that this copying is de minimis, and thus excusable, and even if they don't, good luck showing substantial damages from it.

      The place where Oracle is placing their stand isn't on claims that Google got their clean-room development procedures wrong, but on a claim that the APIs themselves are copyrighted, and thereby that anything built to be compatible with them necessarily infringes. That's a very different ballgame, and a much more dangerous claim.

    2. Re:No to Java : not trustworthy: by sourcerror · · Score: 3, Informative

      Oracle went total asshole, but I don't believe they can pull off that API copyrighting stuff. (In Europe it's already thorwn out.) Also, the whole debacle is unlikely to affect J2EE and J2SE developers.

  4. JavaFX != Java by timeOday · · Score: 4, Interesting
    And for that matter, JavaFX 2 (a Java library) is apparently a huge break from JavaFX (a scripting language for the JRE).

    This is all pretty confusing.

    We picked up JavaFX for a while because, amazingly, there was no practical way to replay video in Java. (Please don't tell me about that crufty, abandoned joke from 2001 called JMF). Then JavaFX keeled over and died when Oracle bought Sun. If JavaFX 2 provides a video player widget, maybe it is useful.

  5. Re:Still waiting on my Pi... by citizenr · · Score: 4, Funny

    Their production line is written in Java.

    --
    Who logs in to gdm? Not I, said the duck.
  6. Yeah right... by ilsaloving · · Score: 3, Insightful

    You would have to be a fool to write *anything* new with Java. There is nothing in Java that is worth the risk of Oracle ramming a lawsuit up your posterior as soon as they think you have money they can bleed from you.

  7. Re:How is this news? by Ignacio · · Score: 3, Informative

    http://icedtea.classpath.org/wiki/ZeroSharkFaq

    "What architectures do Zero and Shark work on?

    As of December 2008, Zero is known to work on Alpha, ARM, IA-64, MIPS, PowerPC, x86, x86-64 and zSeries.

    Shark should be able to build on any Zero-supported system that LLVM has a JIT for. As of October 2009, this is ARM, PowerPC, x86 and x86-64. "

  8. Bitter by kelemvor4 · · Score: 4, Insightful

    It might run JavaFX for you but for me it doesn't run a damn thing. Why? Because I can't seem to ORDER one! Well, unless I go over to ebay and pay $200 for one... PLEASE RAMP UP PRODUCTION, PI TEAM!

  9. How is this techy news worthy? by Virtucon · · Score: 4, Insightful

    What they're saying is that a small form factor device that is supposed to run Linux runs software that Linux can run now.

    Wow, that's news? I'd say it's a test case. yes there may be hardware differences but those should be minimal and this would be a porting effort.

    The topic should be "Raspberry Pi runs software it's supposed to."

    --
    Harrison's Postulate - "For every action there is an equal and opposite criticism"
  10. Re:Don't worry... by squiggleslash · · Score: 4, Insightful

    Dalvik isn't a reverse engineered JVM. It's not even a JVM. It's a VM, but has almost as much in common with the Java VM as UCSD p-Code.

    Nor was the library reverse engineered. Reverse engineering doesn't involve reading official specs and writing your own version from those specs. It describes a process of cloning something by determining how it works by looking at the tool itself, and then creating a functional equivalent. The FFMPEG team, for example, wrote a compliant MPEG 1 decoder, but reverse engineered their Real Video decoder.

    Oracle is suing Google for using the Java programming language in a way that Oracle doesn't like. That's essentially what's happening, nothing more and nothing less. Google felt the best solution for the work they were doing was to take a commonly used, familiar, and robust programming language (which until this lawsuit nobody thought was copyrightable), to implement a subset of the libraries that come with the language in its native form (kinda like every C compiler since the 1970s came with most of the stdio "API", but not the Unix functions like open() or unlink()), and to include its own Android specific libraries too.

    Until the Oracle lawsuit, nobody on planet Earth had a problem with that. As I said above, if that were illegal, then so was every C compiler from BDS C (CP/M) to Lattice C (Commodore Amiga, Sinclair QL.)

    What's different? Sun's management at the time - their CEO even - didn't see this as a legal or moral problem, even if they did see it as a potential business problem. Schwartz is on record saying he was glad Google picked Java over alternatives such as "Microsoft Windows".

    Yes, Google is being sued for using the Java programming language in Android. They're not being sued over "reverse engineering", they're certainly not being sued for making a JVM (because they didn't), this is about Google using Java. And anyone considering making Java a part of anything they do in future has to consider the cost of doing so if Oracle prevails.

    --
    You are not alone. This is not normal. None of this is normal.