tags:

views:

98

answers:

4

If I wanted to create a commercial web-project (like e.g. facebook) with a Java backend (created with the Java SDK) which generates a "normal" HTML frontend, would I have to purchase a commercial license from SUN/Oracle?

Or does this only apply to applications written in Java which are directly being shipped to a customer?

+2  A: 

no license fee is required in either case.

3rd party libraries may have their own licensing requirements.

http://java.sun.com/j2se/1.5.0/source_license.html

The binary JDK and JRE are available at no-fee from Sun (per terms of the BCL) for use with desktop personal computers. Both the JDK and JRE can be freely redistributed with value-add. JDK or JRE use for embedded devices and other computing environments may require a license fee from Sun.

pstanton
But how does Sun make money then? Doesn't IBM for example pay Sun for using Java?
Personal computer doesn't means servers.
Colin Hebert
@valmar: I don't know about now, but back in the day they made money by teaching classes/seminars and training people, as well as through certification exam fees.
aperkins
i can't find any documentation on it, but i've never knowingly setup a server and paid to install java on it... ;)
pstanton
@Colin HEBERT: Exactly. Since a web application, as described in my original question, does run on a server (and not a personal computer), do I have to pay a fee now? It's not only about installing and using the JRE. It's also about using the JDK in order to develop the application and THEN deploy it on a JRE on the server.
@valmar: they used to make a ton of $ from selling hardware, proprietary software like the Solaris OS, and tech support for all of the above. Nowadays, they don't make nearly so much, that's why they got bought out by Oracle.
Mike Baranczak
+1  A: 

There are two parts.

The JDK which is open source, and according to the JDK license is free to use :

A. Software Internal Use and Development License Grant. Subject to
the terms and conditions of this Agreement and restrictions and
exceptions set forth in the Software "README" file incorporated herein
by reference, including, but not limited to the Java Technology
Restrictions of these Supplemental Terms, Oracle grants you a
non-exclusive, non-transferable, limited license without fees to
reproduce internally and use internally the Software complete and
unmodified for the purpose of designing, developing, and testing your
Programs.

And the JRE part which can run such applications :

  1. LICENSE TO USE. Subject to the terms and conditions of this
    Agreement, including, but not limited to the Java Technology
    Restrictions of the Supplemental License Terms, Oracle grants you a
    non-exclusive, non-transferable, limited license without license fees
    to reproduce and use internally Software complete and unmodified for
    the sole purpose of running Programs
    . Additional licenses for
    developers and/or publishers are granted in the Supplemental License
    Terms.

Between the two steps there is only one license, the one you put on your application.


You can develop your application without fees. And users can use your application without fees.

Ergo, you can use your own application without fees.


Resources :

Colin Hebert
These two quotes say that INTERNAL usage is free. But since external users are actually using this public web application, does this really apply? I am uncertain.
+1  A: 

The cross-section of Java software that you could use to create such an application is so broad that the answer depends entirely on the software you use. It is always necessary to check the terms of the licenses for your software.

Note that Oracle don't make the only JVM and that there are free open source Java server software stacks. Production of a Java application with any distribution model doesn't automatically imply a need to obtain a license from Oracle.

McDowell
Doesn't the usage of open source software often imply the problem of showing source due to the copyleft principle (like in GPL)? Showing the source of a web application doesn't sound like a good idea to me..
@valmar - only if you compile against GPL software, which is _not_ the only form of open source license. See http://apache.org for example.
McDowell
@valmar - OSS licenses only obligate you to release source code if you actually distribute a binary version. Different licenses impose different obligations. But, the core, they're almost all based on distribution of a binary to end users. Web apps are NOT distributed, so they incur no obligation. The notable caveat to this is the AGPL license, which does add this obligation for services implemented upon their source code. Also be careful of GPL JavaScript libraries, since these ARE distributed to your web users (and evaluated locally), so these could affect other code sent with them.
Will Hartung
A: 

I contacted Oracle and a consultant explained it to me like this:

  • Both, Java JDK and JRE are free to use in a web project as described in my initial post.
  • Oracle/SUN earns money by giving support for their products (e.g. Glassfish, which is also free to use)
  • They also offer a cloud-based hosting solution for (Java) applications, which also costs.