Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I developed scientific software for use in my own scientific research. I am considering porting it to another language such as Java, and releasing a closed-source, commercial version of it for sale. I have been looking into Java, but I have some questions about the legal issues related to licensing Java for a commercial application, and the people who answer the phone at Oracle tell me that they do not talk to developers.

I have carefully read the JDK license agreement here. But I still have questions. Does anyone reading this have any experience releasing commercial, closed-source, applications running on Java?

If so, can you send me some links to information about the legal issues? My own web searches keep coming up with the same stuff.

My understanding is that I would have to redistribute Java 6 with my application, and that my application would have to check to see if Java is installed in the end user's computer, and then install Java if it is not installed, or if a newer version of Java needs to be installed. Many of these end user computers might be in large organizations which might not have purchased Oracle licenses.

Can my commercial application distribute the Java platform for free in this way without paying a fee to Oracle? Or are there fees or other restrictions involved? Can you please post a link to any information on the web about this?

From what I have read, the only fees seem to be related to the commercial features of Java, which are limited to tools for optomizing large enterprise applications. But I would like to hear from other developers, and to read the information that you might link to on the web in your replies, if you are willing.

Alternatively, I would consider writing my application in C++ or in instead.


migration rejected from Aug 12 '14 at 14:11

This question came from our site for professional and enthusiast programmers. Votes, comments, and answers are locked due to the question being closed here, but it may be eligible for editing and reopening on the site where it originated.

closed as off-topic by gnat, GlenH7, Tulains Córdova, MichaelT, Ampt Aug 12 '14 at 14:11

  • This question does not appear to be about software development within the scope defined in the help center.
If this question can be reworded to fit the rules in the help center, please edit the question.

Most Java apps I've seen do not install Java themselves. More importantly though, if you are creating a true commercial application, you'll have many more intellectual properties issues than this. As much as I hate to say this, my recommendation is to discuss this with an intellectual properties attorney. – Hovercraft Full Of Eels Jul 1 '11 at 21:36
Thank you for everyone's information. I am going to keep this open for a couple more days in case other people want to comment. Also, I am going to continue to think about the things people said, and I may ask additional follow up questions of the people who already commented. – CodeMed Jul 2 '11 at 6:27
Thank you again for all the answers. I am going to mark this question as competely answered now, and consider the question closed. – CodeMed Jul 4 '11 at 7:39
This question appears to be off-topic because it is about legal advice – Tulains Córdova Aug 8 '14 at 16:00


Do you need to install a JDK or just the JRE? Before going open source, it wasn't allowed to redistribute the JDK yourself, but you could distribute the JRE to run your program - for instance from CD, or to install this JRE.

If you need a JDK, it is another question, and since the situation changed with SUN going open source, and then with Oracle, buying SUN, I can't tell you something about that.

Myself, I don't need to distribute a JDK and I sofar just distributed Open Source programs.

Thank you, user unknown. I do not think I need to distribute the JDK. But I think I would need to distribute the JRE/JVM. I am just starting to learn Java after spending a long time coding in python, which I would not use for a commercial app. – CodeMed Jul 2 '11 at 6:02

See Oracle Binary Code License Agreement for the Java SE Platform Products and JavaFX

You can distribute unmodified versions of the JRE and JDK as of the Oracle Binary License. It includes some requirements like you do not overwrite java.* packages and you also must notify your customers, that they may not use the commercial features (like Flight Recorder) in production. It also asks you to add value, like a own app. ("C. License to Distribute Software")

There are two other forms, one is for publishes (think Book-CD: "E. Distribution by Publishers") and the other is for a subset identified as redistributables.

"D. LICENSE TO DISTRIBUTE REDISTRIBUTABLES" This subset is defined in the Readme, it basically allows to take a few files from the JDK and bundle them with the JRE or a few files you can skip out. The wording around this is not very clear, so I would stick to "unmodified distribution".

Note also that the new "Server JRE" is specifically intended to be distributed as it does not require to run a setup tool.

IANAL - of course. – eckes Aug 7 '14 at 21:28

Not the answer you're looking for? Browse other questions tagged or ask your own question.