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.

32 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!
    4. Re:Misread by b0bby · · Score: 2

      I'd guess that the submitter, mikejuk, is British. "It is still early days yet" is a common expression in UK English.

  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 gtirloni · · Score: 2

      The Pedants Corporation

      --
      none
    3. 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

    4. Re:Foot, meet bullet. by hendridm · · Score: 2

      I think it's neat that we can sue someone over the way they (ab)use a language.

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

      We can, but the distinction isn't as large as you think it is. Sticking a framework over Java (and who doesn't do that?) creates an incompatible environment in that software for Java + Framework is unlikely to work for just Java. And lest you consider that OK because it's a superset, bear in mind that the majority of frameworks only need a subset of Java to be functional and useful, and anyone in the process of developing a J2SE implementation is inherently going to develop subsets.

      Basically, if Oracle succeeds, then realistically anyone not using the official OpenJDK binaries from the official Oracle repositories is going to have to wonder how clear they are.

      While I don't want to overstate the issue, given (1) Oracle has shown no evidence of working in good faith here, (2) Oracle's history of acting in bad faith (such as their refusal to allow benchmarks of Oracle software) and (3) the ease with which someone can create software that's a threat to Oracle, I'd be inclined to recommend people stay clear, not because there's a 99% chance Oracle will sue them, but because there's a 1% chance they will. And that 1% is somewhat larger than the chance of being sued by Guido van Rossum, Larry Page, or, for that matter, Microsoft. What's the point of taking a risk, no matter how minor, if perfectly clear and acceptable alternatives exist?

      --
      You are not alone. This is not normal. None of this is normal.
    6. 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.

    7. 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!
    8. Re:Foot, meet bullet. by khipu · · Score: 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

      Nobody has to give a f*ck about that. That license is a license you need to agree to in order to copy Oracle's copyrighted material. If you don't copy their copyrighted material, that license doesn't matter.

      There is only one thing you can't do: develop an incompatible implementation of the Java platform and call that thing Java.

      If that were the case, Oracle would be suing Google over trademark violations. But Oracle is suing Google over copyright and patent violations, so your statement that that is "the only thing" you can't do is wrong.

      The Oracle lawsuit demonstrates that Java is, in fact, a quagmire of patents, copyrights, and trademarks, and it is neither free nor open.

    9. 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.
    10. Re:Foot, meet bullet. by PCM2 · · Score: 2

      Sorry to reply twice, but ...

      1) Just like Microsoft did back in the 90s (emphasis mine):

      An important distinction here is that Microsoft did purchase a Java license from Sun. So Sun definitely had a case that Microsoft violated the explicit terms of the specific contract it had with Sun.

      Google, on the other hand, did not have a license from Oracle because it could not obtain one. The only license that applies here is Oracle's stated public grant of a license to implement the JDK. It seems to me that whether that license was being fairly and faithfully applied is an important legal matter here. If Oracle says "everybody can use Java, but only if you do this, this, and this, and we won't let certain parties do the last one," is that defensible?

      I used to believe the way you do, BTW. When the lawsuit was first announced, I wrote an editorial called "Why Oracle was right to sue Google." But as the issues in the case have emerged and a lot of Oracle's original claims have been whittled away, I've started to see it the other way.

      I do believe that Google's choice to go with Java as its main language may prove to be a mistake, though. I think it made that decision out of a desire to move quickly against Apple, but it did it in a kinda sneaky way and it ended up getting bitten. How badly remains to be seen.

      --
      Breakfast served all day!
  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. Still waiting on my Pi... by __aavqan3009 · · Score: 2

    so this story is a moot point.

    1. 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.
  5. 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.

  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. I fail to see by Anonymous Coward · · Score: 2, Insightful

    Why developers who want to control their cpu keep putting someone else between themselves and their hardware. C/C++ and many other higher level languages are functional and productive in the right hands and don't have these copyright/patent/etc issues that Java/Oracle (insert third party here) have. In other words, you can either control the computer or let them tell you what you can do with your computer. Take your pick.

    Java community you perplex me to no end.

    1. Re:I fail to see by gl4ss · · Score: 2

      not nearly really utopian. the way they ran relations to mobile sucked bigtime always, they could have handled j2me jsr's etc really much, much better. that side which was extremely relevant for the last decade seemed like it had nobody at the helm - so they had total licensing control which was very strict but then they enforced all the wrong things for the api implementors.

      I'm rather surprised at this javafx announcement(seems some guy working at O doing it too?) really. if they hadn't fucked up with javame and javafx so badly years and years ago android wouldn't have been relevant(really, look at http://en.wikipedia.org/wiki/File:Musicpinboardmobile.png and you'll understand why oracle is pissed off about android - they view it as something that should have been their moment of glory, not googles).

      and I'm surprised since this is the first time I hear about a device which is available for purchase that runs javafx :). and the irony it being Pi.. damn.. . yes it appears to have been available for a beagleboard too, but that never hit my radar(probably because running it on beagle was oracle inside thing only?? ), it's probably available for some other devices too. as far as real development goes it seems pretty useless and the pi fanbois are blowing it's usability out of proportion though.. a running dalvik with gpu accel would be really useful, not this.

      it seems the whole thing is just internal oracle stuff too. but they might be keeping javafx alive for the sole purpose of having more guns for the lawsuit or some other lawsuit...

      --
      world was created 5 seconds before this post as it is.
  9. 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!

    1. Re:Bitter by ZeroSumHappiness · · Score: 2

      Did you register interest at either RS/Allied or Element 14/Farnell? If yes then congratulations, you've indicated that you want Raspberry Pi production to increase. If no then why not? That's how RS and Farnell know that they should be baking more Raspberry Pis!

      The Raspberry Pi Foundation is no longer manufacturing the boards -- at the moment production is totally in the hands of RS and Farnell!

    2. Re:Bitter by ZeroSumHappiness · · Score: 2

      The first run of 10k was commissioned by the Foundation to be produced by a Chinese factory. Those 10k boards were then shipped to Farnell and Allied to be resold. At the same time, Farnell and Allied were both given non-exclusive licenses to produce the Raspberry Pi on their own. At the current time all Pis to be built after the first 10k production run will be made by Farnell and Allied however they desire (most likely direct shipped from factories in China.) If we're lucky more manufacturers will license the Pi as well.

  10. 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"
  11. Not exactly Quake3 by mdragan · · Score: 2

    Well, it's a clock. One that's not running very smoothly.
    At least they manage to use up the whole CPU for drawing some arcs, that must be a incredible accomplishment.
    Reminds me of the 8bit computer days when some were using fast asm routines to draw circles, some were doing it painfully slow with BASIC.

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