X

Topics and trends related to the Java ecosystem with occasional random rants.

  • Sun |
    December 6, 2013

Java SE Embedded Pricing Explained

James Connors
Principal Solutions Consultant

You're probably asking yourself, "Pricing?  Really?  In a techie blog?", and I would normally agree wholeheartedly with your assessment.  But in this one instance the topic might be worthy of a few words.  There is, as the expression goes, no such thing as a free lunch.  Whether you pay for software outright, or roll your own with open source projects, a cost must be paid.

Like clockwork, we regularly receive inquiries for Java embedded information that go something like this:

Dear Oracle,  We've downloaded and evaluated Java SE-Embedded and have found it to be a very appealing platform to run our embedded application.  We understand this is commercial software; before we decide to deploy our solution with your runtime, can you give us a feel for the royalties associated with shipping x number of units?

Seems pretty straightforward, right?  Well, yes, except that in the past Oracle required the potential customer to sign a non-disclosure agreement prior to receiving any embedded pricing information.  It didn't matter if the customer was interested in deploying ten units or ten thousand, they all had to go through this process.  Now certain aspects of pricing may still require confidential agreements, but why not make quantity 1 list prices available?   With the release of this document, that pricing information is now public.

The evidence is out there, both anecdotal and real, demonstrating that
Oracle's Java SE-Embedded platform is unquestionably superior in quality
and performance to the OpenJDK variants.  For the latest example, take a look at this blog entry
So the question becomes, is it actually more affordable to pay for a
commercial platform that is fully supported, faster and more reliable or
to opt for a "free" platform and support it yourself.

So What Does Java SE-Embedded Cost?

The universal answer to such a question is: it depends.  That is to say it depends upon the capability of the embedded processor.  Before we lose you, let's show the list price for Java embedded licensing associated with three platforms and then explain how we arrived at the numbers.  As of the posting of this entry, 06 December, 2013, here they are:

  1. Per-unit cost for a Raspberry Pi: US $0.71
  2. Per-unit cost for system based on Intel Atom Z510P: US $2.68
  3. Per-unit cost for a Compulab Trim-Slice: US $5.36

How Does It Work?

These bullet points help describe the process, then we'll show how we arrived at our three sample platform prices.

  • Pricing is done on a per-core basis.
  • Processors are classified based on their capability and assigned a core factor.  The more capable the processor, the higher the core factor.
  • Per-core pricing is determined by multiplying the standard per-core Java embedded price by the core factor.
  • A 19% Software Update License & Support Fee is automatically added onto each system.

The core factor table that follows, found in the Oracle Java Embedded Global Price List, dated September 20, 2013, groups processors of similar capabilities into buckets called chip classes.  Each chip class is assigned a core factor.


Example 1

To compute the per-unit cost, use this formula:

Oracle Java Embedded per-core license fee  *  core factor  *  number of cores  *  support uplift

The standard per-core license fee is always $300.  The Raspberry Pi is a Class I device and therefore has a core factor of .002.  There is only one core in the Raspberry Pi, and the Software Update License & Support fee is always 19%.  So plugging in the numbers, we get:

$300  *  .002  *  1  *  1.19  =  $0.714

Example 2

The processor in this example, the Intel Atom Z510P, is a Class II device and has a core factor of .0075.  Using the same formula from Example 1, here's what we get:

$300  *  .0075  *  1  *  1.19  =  $2.6775

Example 3

The processor for the Trim-Slice is based on the ARM Cortex-A9, a Class II device.  Furthermore it is a dual-core system.  Using the same formula as the previous examples, we arrive at the following per-unit pricing:

$300  *  .0075  *  2  *  1.19  = $5.355

Conclusion

With your hardware specs handy, you should now have enough information to make a reasonable estimate of Oracle Java embedded licensing costs.  At minimum, it could be a help in your "buy vs. roll your own" decision making process.  And of course, if you have any questions, don't be afraid to ask.


Join the discussion

Comments ( 13 )
  • guest Wednesday, January 22, 2014

    Hello Jim,

    thanks for the clarification. I still have one open question regarding support/maintenance. Assuming we deliver a device with a embedded JavaVM and we payed also the 19% support fee. Now, if we would have to deliver a patch for that VM in two years or three, is that covered by the fee? There is no hint if that fee is an annual fee or a fixed one.

    An answer would be much appreciated.

    Best regards,

    Wolfgang


  • Jim Connors Wednesday, January 22, 2014

    Hi Wolfgang,

    The support fee is annual. Provided your're paying the annual support fee, you can update and upgrade your deployed Java Runtime Environments.

    Support is not mandatory but strongly, repeat strongly recommended.

    Regards,

    -- Jim C


  • guest Thursday, January 23, 2014

    Thanks Jim.


  • Shlomo belleli Monday, May 12, 2014

    Hi Jim

    thanks for excellent information, my question is, who is paying the price? is it the hardware manufacturer or the software vendor (me)

    and one more question please

    Where I can find or how I can find suitable hardware To run Embedded Java or Java ME Embedded ? is there any list?

    thanks in advance.

    Shlomo


  • Jim Connors Tuesday, May 20, 2014

    In terms of royalty payments, at this juncture, it would be you, the software vendor.

    As far as suitable hardware, for Java SE-Embedded, we just offer guidelines. If your harware matches the requirements, it should work. Check out: http://www.oracle.com/technetwork/java/embedded/resources/se-embeddocs/index.html#sysreqs

    There are a much smaller number of supported Java ME platforms. My recommendation would be to get a Raspberry Pi. It can run both Java SE-Embedded and Java ME Embedded. It makes for a real inexpensive development and reference platform.


  • Caroline Saturday, June 7, 2014

    Hello Jim

    Do you know if it is there a minimum quantity of licenses to buy each time ? ( 10, 100, 1000, 10000 )

    Also, do you know if Java ME and/or Java Embedded ME/SE has to pay a license fee ?

    Thanks in advance

    Caroline


  • Jim Connors Wednesday, June 11, 2014

    Hi Caroline,

    There is no mimimum quantity. That being said, asking for say 10 licenses might not get you a whole lot of attention :)

    Java ME and Java SE Embedded both need to be licensed when solutions are deployed with this technology. Almost certainly, Java ME devices will not be any larger than Chip Class I category. For Java ME, especially if volumes are high, you should get contact Oracle sales to get a better understanding of how it may be priced.


  • Caroline Wednesday, June 25, 2014

    Hi Jim

    With your comment "might not get you a whole lot of attention", you mean that if I do not develop a solution for thousands, I can not develop anything because I will not have the licenses I need ?

    Which is the minimum quantity that Oracle will be interested in selling ?

    What if I will start developing something and I want to buy licenses as the business grow ?

    If I develop something to use privately, I have to buy a license too ?

    Thanks in advance

    Caroline


  • Jim Connors Thursday, July 3, 2014

    With respect to development, you are free to use Java SE-Embedded for development purposes. When you deploy commercially, a redistribution license applies.

    There is no minimum quantity. I believe we are trying to direct these smaller type opportunities to our Partner Business Consultants (PBCs). If you're looking to speak to someone, let me know.

    -- Jim C


  • Brian Tuesday, June 7, 2016

    Hello Jim, thanks for posting this.

    Are your numbers here still relevant today? For instance, Raspberry Pi is now a 1.2GHz 64-bit quad-core ARMv8 CPU. If I understand your numbers correctly, the price of putting Oracle Java on an rPi 3 is $10.71 ($300 * .0075 * 4 * 1.19), an increase of 15x.

    When I've seen this kind of thing in the past, it's because the licensing hasn't kept pace with Moore's Law and eventually gets adjusted toward a more competitive unit cost. Forward development of the JVM requires community support and I think myself and others want to be a part of that, but as you know there are also efforts around LLVM such as with Scala Native that will someday provide benefits that cannot be matched in a virtualized environment at any price. So there's a lot to think about.

    Any thoughts here? Thanks!


  • Jim Connors Wednesday, June 8, 2016

    Those numbers are, at the current time still valid. Sorry I can't provide additional information, looks like we need to revisit in light of other advances too, like for instance the $5 Raspberry Pi Zero.


  • Marc Thursday, June 30, 2016

    Hi Jim, do you think you could revisit sound to support pulse too?


  • guest Friday, February 17, 2017

    I think Oracle is crazy. Use OpenJDK. Your device is already using open-source Linux which is far more complicated compared to Java JDK -- so why fear OpenJDK? If you trust open-source linux then trust OpenJDK.


Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.Captcha
Oracle

Integrated Cloud Applications & Platform Services