• Post Reply Bookmark Topic Watch Topic
  • New Topic

Java licensed?  RSS feed

 
Ali Gilani
Ranch Hand
Posts: 137
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
i was reading the history of java at http://ils.unc.edu/blaze/java/javahist.html

and it said there that IBM, Adobe and Netscape licensed java. How is that possible? Isnt java free to use by anyone who wishes to? and develop it further if possible?

Ali
 
Jeanne Boyarsky
author & internet detective
Marshal
Posts: 37469
539
Eclipse IDE Java VI Editor
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Ali,
Java is free to use. The licensing refers to a registration process with Sun.

Note that Java is not open source. It can't be modified without Sun's permission (which I don't think they give.)
 
Ali Gilani
Ranch Hand
Posts: 137
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
The licensing refers to a registration process with Sun


Whats the registeration for?

It can't be modified without Sun's permission


Its a programming language, were someone to make an extension, such as better classes or libraries or something of that sort, how can sun stop them?

Ali
 
Steven Bell
Ranch Hand
Posts: 1071
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Originally posted by ali gilani:


Its a programming language, were someone to make an extension, such as better classes or libraries or something of that sort, how can sun stop them?

Ali


You can build extensions and libraries, but if you were to modify the java.lang.String class (or any other class in the SDK) and try to distribute it Sun could sue you.
 
Ali Gilani
Ranch Hand
Posts: 137
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
but if you were to modify the java.lang.String class (or any other class in the SDK) and try to distribute it Sun could sue you


in what sense do u mean modify? i mean what would constitute as a modification?


and once again
The licensing refers to a registration process with Sun


What is the registeration for?

Ali
 
Jeroen Wenting
Ranch Hand
Posts: 5093
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
If you modify ANY of the source code of the standard library or the JDK (both of which are available) and you distribute that code you're in violation of the distribution license of that code.

If you create a JVM which doesn't comply with the Sun tests for compliance you may not release that under the name Java.
IBM and Netscape (among others) did pass that test. Microsoft did too with their 1.1 implementation (yes, it was a licensed JVM until Sun changed their minds).

So you need a license from Sun to release a compiler and/or runtime and call it Java, you don't need a license (or rather one is supplied which is free) to create your own applications to run inside a JVM.
 
Ali Gilani
Ranch Hand
Posts: 137
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
What is meant by Runtime?

Ali
 
Jeanne Boyarsky
author & internet detective
Marshal
Posts: 37469
539
Eclipse IDE Java VI Editor
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Ali,
Runtime is the JVM (java virtual machine.) It runs java bytecode on the physical operating system.

The registration is so Sun can keep track of who is distributing their JVM. They don't want people distributing it without their knowledge. And they don't want people changing it at all.
 
C. Alan
Ranch Hand
Posts: 30
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
And they don't want people changing it at all.


Which is why Microsoft had to pay Sun $20 million..

http://java.sun.com/lawsuit/
 
K Riaz
Ranch Hand
Posts: 375
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Originally posted by Jeroen Wenting:
Microsoft did too with their 1.1 implementation (yes, it was a licensed JVM until Sun changed their minds).


They "changed their minds" because Micro$oft broke the licence agreement. Sun warned Micro$oft about producing applications which would only work on the Windows platform using proprietary implementations. So Sun had no choice but to terminate the agreement because Micro$oft were ruining the whole idea of the Java plaform and its "platform independence".

So Microsoft were at fault, not Sun, as your post seemed to suggest.
[ February 27, 2005: Message edited by: Kashif Riaz ]
 
Jeroen Wenting
Ranch Hand
Posts: 5093
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Kashif, under the license for 1.0 it was perfectly fine to create platform specific enhancements which is just what Microsoft did (there is to the best of my knowledge no company called Micro$oft, but you may be referring to a smaller Indian company that I've never heard of).
In fact, Sun encouraged others to do so in order to make the AWT framework better performant on different operating systems.
In 1.1 Sun changed their minds and the license and immediately attacked Microsoft over their violation of the license (which Microsoft didn't yet have a chance to comply with).
Only Microsoft was affected because Microsoft were the only ones who'd gone to the trouble of creating their own GUI framework on top of AWT, an action which was threatening to make their implementation more popular than Sun's own (it was more complete as well as faster and easier to use).
Sun's perception that Microsoft was more popular as a distributor of Java compilers than they were may well have influenced their decision to change the license to disallow platform specific enhancements.
 
Ali Gilani
Ranch Hand
Posts: 137
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
The registration is so Sun can keep track of who is distributing their JVM. They don't want people distributing it without their knowledge. And they don't want people changing it at all.


So suppose i make a JVM that compiles faster, and is smaller in size, will Sun object if:

1. i distribute it freely

2. i only use it in programs i program and distribute it to clients with my program.

Ali
 
Jeroen Wenting
Ranch Hand
Posts: 5093
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Sun has a process you MUST go through before you can release your product and call it Java.
This requires among other things that your product completely implements the JLS and JVMS so it will run and generate Java code that is compatible with every JVM out there that's compliant with the standard.

If you release it without that process being completed successfully you're in big trouble.
 
Ali Gilani
Ranch Hand
Posts: 137
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Sun has a process you MUST go through before you can release your product and call it Java.
This requires among other things that your product completely implements the JLS and JVMS so it will run and generate Java code that is compatible with every JVM out there that's compliant with the standard.



Is there a link explaining the process? some official info?

Say my product is only given to ppl running my app? i dont call it java, say i call it MYRCG( MY Really Cool Gizmo), then what?



If you release it without that process being completed successfully you're in big trouble.



I am in pakistan, where trademark laws and patents rarely matter, (U can get a nike track suit jacket, which would look better than the original, for about $5) All OS and applications are pirated here, so does it matter?

Ali
 
Jeanne Boyarsky
author & internet detective
Marshal
Posts: 37469
539
Eclipse IDE Java VI Editor
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Ali,
If you do a search on java.sun.com for "license", there are links to PDFs that describe the licenses for different products.

If you are just asking to distribute java (as is) with your app, I don't think Sun charges. They definitely don't want you changing it under any circumstances. I don't think any of us are really qualified to discuss trademark law, but patents exist for a reason.
 
Jeroen Wenting
Ranch Hand
Posts: 5093
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
The JDK license specifically states that the JRE may be distributed without changes with your application (under specific restrictions, mainly meant to ensure you're not going to compete with Java using that application).
You may ONLY distribute the official installers for the JRE, not repackage them in any way.
Your own installer may call the JRE installer and execute it silently.

If you want more, you need to get explicit permission from Sun.

And as to piracy not mattering because everyone does it, that's the lamest excuse there is.
 
Ali Gilani
Ranch Hand
Posts: 137
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
And as to piracy not mattering because everyone does it, that's the lamest excuse there is.


in pakistan the average income is about $80 a month? is it fair to let a technological gap appear? isnt piracy doing more good than bad?

ALi
 
Hentay Duke
Ranch Hand
Posts: 198
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
"isnt piracy doing more good than bad?"

For who? You've been talking about the hypothetical situation (I assume), where you modify the JVM and package it with your program. Would you do this to make money or simply as a hobby? If you're going to make money, how would you feel if your program was pirated and sold to your customers.
 
M Beck
Ranch Hand
Posts: 323
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
free and/or open source software can usually be had at no cost. a low average income, therefore, seems more of a concern to hardware purchases than to any software technology gap; you can have top-notch software just as soon as you can download it from sourceforge. hence, using a technology gap argument as an excuse to violate software licenses sounds somewhat less than convincing, in my opinion.

(and yes, i too am a bit ticked off that Sun has chosen not to open-source Java. i think, in the long term, this will only hurt Java as a language and as a platform. but taking the software and using it in ways Sun don't want you to use it, ways that are in fact illegal, is unlikely to change their minds on the matter, however.)
 
K Riaz
Ranch Hand
Posts: 375
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Originally posted by Ali Gilani:



I am in pakistan, where trademark laws and patents rarely matter, (U can get a nike track suit jacket, which would look better than the original, for about $5) All OS and applications are pirated here, so does it matter?

Ali


Thats because it was probably made for even less than $5 from the same place!
 
Andrew Monkhouse
author and jackaroo
Marshal Commander
Posts: 12156
256
C++ Firefox Browser IntelliJ IDE Java Mac Oracle
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi Jeroen,

Under the license for 1.0 it was perfectly fine to create platform specific enhancements which is just what Microsoft did <snip>.
In fact, Sun encouraged others to do so in order to make the AWT framework better performant on different operating systems.


But that is not what the court case was about.

Microsoft were releasing the SDKJ which they claimed was a superset of the JDK. In fact it was missing several important functions such as RMI and and JNI (replaced with a Microsoft only native interface called RNI).

Microsoft were also changing the public APIs provided by Sun (adding and/or deleting methods and/or fields such as the added java.awt.SystemColor.appWorkspace field - which would mean that programmers who used this field (in what might be reasonably thought of as the standard API) would discover the hard way that their programs did not work on any other platform.

Microsoft were simulaneously continuing to use the "100% Java compatible" logos.

(All from the complaint.)

Regards, Andrew
 
It is sorta covered in the JavaRanch Style Guide.
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!