It is finally done. Sun choose the most restrictive of all licenses. I see it as a step back rather the step forward. To appease the open source community Sun is risking the industry support which Java has. Most of the people as they know GPL are really hesitant to use Java anymore because of the fine prints in GPL of making your product open source as well. Before people panic. Sun has releade GPL + classpath which is close to LGPL so not that bad. I would still have preferred LGPL.
" The Classpath exception was developed by the Free Software Foundation's GNU/Classpath Project (see http://www.gnu.org/software/classpath/license.html). It allows you to link an application available under any license to a library that is part of software licensed under GPL v2, without that application being subject to the GPL's requirement to be itself offered to the public under the GPL.
Back to top
Q: Why do you need the Classpath exception? A: If an application is distributed with an implementation of Java such as the JDK under GPL v2, that application could be subject to the requirements of the GPL that all code that is shipped as part of a �work based on the [GPL] program� also be GPL licensed. Accordingly, a GPL license exception is needed that specifically excludes from this licensing requirement any application that links to the GPL implementation. The Classpath exception accomplishes this. Without the Classpath exception, a Java SE implementation licensed under GPL v2 could not practically be distributed with non-GPL licensed Java applications. This could present a serious barrier to adoption, for example by OpenSolaris or GNU/Linux distributions if left unaddressed. "
[ November 13, 2006: Message edited by: Abhishek Misra ] [ November 14, 2006: Message edited by: Abhishek Misra ]
"Most of the people as they know GPL are really hesitant to use Java anymore because of the fine prints in GPL of making your product open source as well."
Read this specifically : "You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License."
GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program.
You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License.
c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program.
In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License.
3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.
If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.
5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License.
7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances.
It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice.
This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation.
10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
Jim Yingst
Wanderer
Sheriff
Joined: Jan 30, 2000
Posts: 18670
posted
0
This has nothing to do with SCJP, so I'm moving it to Java in General - Intermediate.
"I'm not back." - Bill Harding, Twister
Paulo Pontes
Greenhorn
Joined: Dec 06, 2004
Posts: 20
posted
0
The VM or the compiler being GPL doesn't imply that your applications must be GPL.
Abhishek Misra
Ranch Hand
Joined: Sep 26, 2005
Posts: 68
posted
0
Paulo it does mean that your app be open sourced. But it is not that bad. They have added the classpath exception to the license which will allow to link with jre without opensourcing your product.
The Classpath exception was developed by the Free Software Foundation's GNU/Classpath Project (see http://www.gnu.org/software/classpath/license.html). It allows you to link an application available under any license to a library that is part of software licensed under GPL v2, without that application being subject to the GPL's requirement to be itself offered to the public under the GPL.
Back to top
Q: Why do you need the Classpath exception? A: If an application is distributed with an implementation of Java such as the JDK under GPL v2, that application could be subject to the requirements of the GPL that all code that is shipped as part of a �work based on the [GPL] program� also be GPL licensed. Accordingly, a GPL license exception is needed that specifically excludes from this licensing requirement any application that links to the GPL implementation. The Classpath exception accomplishes this. Without the Classpath exception, a Java SE implementation licensed under GPL v2 could not practically be distributed with non-GPL licensed Java applications. This could present a serious barrier to adoption, for example by OpenSolaris or GNU/Linux distributions if left unaddressed. [ November 13, 2006: Message edited by: Abhishek Misra ]
Tim LeMaster
Ranch Hand
Joined: Aug 31, 2006
Posts: 226
posted
0
Well you are free to embrace the Microsoft FUD about GPL infecting your software requiring you to GPL anything that comes near it.
However the truth is much less sinster, the classpath and public portions of the API are released under GPLv2 with the classpath exception - meaning you can link an application under any license to this code. Using the standard Java API will not force you to GPL your software.
However if this scares you away from Java and into the hands of Microsoft I say Good Bye and Good Luck with the shared source license :roll:
Phil Rhodes
Ranch Hand
Joined: Dec 27, 2003
Posts: 65
posted
0
Yeah, it has a linking exception, this is no problem. It's not even 100% certain that a java VM under a pure GPL license can only be used to run GPL'd programs... but with the linking exception, it's guaranteed that you can use the VM to run anything you want.
For 99.9% of java developers, this license switch is a total non-issue.
A+, Network+, SCJP, SCWCD<br />preparing for SCBCD, SCEA, CompTIA I-Net+
David McCombs
Ranch Hand
Joined: Oct 17, 2006
Posts: 212
posted
0
You are making a bigger deal of this then necessary.
Python is open source, yet you can make proprietary software with python.
How about writing C code and compiling with gcc and linking to its libraries? The compiler is GPL, yet your code has no restrictions on it. now if Sun used a license similar to the free QT license, then you might have something to complain about.
Your java code runs in a JRE, but how is that the same as linking to it? Are all programs running in Linux GPL, or even open source in general? The act of linking to the libraries in the API will not force your code to be open source.
Much ado about nothing.
My biggest concern is probably bigger in my mind then reality: I am concerned about the possibility of forking. If we get to the point where a certain bunch of bytecode will only run with a certain JVM. That would be bad, but not necessarily inevitable.
"Should array indices start at 0 or 1? My compromise of 0.5 was rejected without, I thought, proper consideration."- Stan Kelly-Bootle
Ken Blair
Ranch Hand
Joined: Jul 15, 2003
Posts: 1078
posted
0
How is this new? They've been announcing plans to do it for years and slowly been releasing different parts under things like the JRL. Furthermore, I don't think you (the OP) are even close to interpreting the license correctly. The compiler and JVM being under the GPL does not require any applications compiled by the compiler and run in the JVM to be under the GPL itself. [ November 13, 2006: Message edited by: Ken Blair ]
Jeroen T Wenting
Ranch Hand
Joined: Apr 21, 2006
Posts: 1847
posted
0
Originally posted by Paulo Pontes: The VM or the compiler being GPL doesn't imply that your applications must be GPL.
It does. Strictly speaking every class you create is derived from Object and therefore must use (if Object is released under GPL or even compiled with a compiler released under GPL) be released under GPL as well. The same is true of everything that uses or is compiled against a GPL licensed library. The classpath exception only partly lifts that restriction.
Furthermore, any access to GPL licensed sourcecode opens a company to lawsuits demanding they release their entire codebase under GPL as well because people inside the company have been "inspired" by that GPL licensed code and therefore they have effectively incorporated it. While no such lawsuits have so far been successful to the best of my knowledge it's only a matter of time before one does succeed (or rather a matter of selecting the right judge and greasing the deal well enough).
Most companies I've worked with in the past refuse for those reasons to have anything to do with any GPL licensed code or any binaries produced based on such code.
I too see the future of Java as a platform for commercial development as dim. Though there will for the foreseeable future be work still it will ever more be in moving existing Java based systems onto different platforms with less restrictive licenses.
42
Jeroen T Wenting
Ranch Hand
Joined: Apr 21, 2006
Posts: 1847
posted
0
Originally posted by David McCombs:
How about writing C code and compiling with gcc and linking to its libraries? The compiler is GPL, yet your code has no restrictions on it. now if Sun used a license similar to the free QT license, then you might have something to complain about.
Your java code runs in a JRE, but how is that the same as linking to it? Are all programs running in Linux GPL, or even open source in general? The act of linking to the libraries in the API will not force your code to be open source.
If you compiled any single GPL licensed library into that binary of yours you'd be damned into releasing your entire codebase for that application under the GPL as well.
Same with a GPL licensed Java compiler, and the classpath exception isn't going to help much.
Tim LeMaster
Ranch Hand
Joined: Aug 31, 2006
Posts: 226
posted
0
Java based systems onto different platforms with less restrictive licenses
I'm pretty surprised to see such dark opinions here. I see this as a very positive measure - we have an open source JVM, J2EE container, and a compiler. The public facing APIs have the classpath exception which Sun chose because that is the route GNU Classpath went instead of LGPL.
and the classpath exception isn't going to help much
Really, why not? That is precisely what it is designed to do. In my opinion Sun chose the GPL so if someone wanted to fork the JVM (or compiler or J2EE container) - they couldn't close source it and try to gain from the work of others without giving back.
Phil Rhodes
Ranch Hand
Joined: Dec 27, 2003
Posts: 65
posted
0
You can still create proprietary software to run on Java, you people are making way to big a deal out of this. Besides the classpath exception, I believe Sun has already said that they will continue to do binary releases of the JDK under terms that are suitable to developers of proprietary software.
I mean, stop and think about this for a minute: Sun *want* to encourage Java adoption, not discourage it. And they have very smart, very well paid lawyers analyzing this stuff... I'm sure if they thought that their license would disallow anything but GPL'd code to run on the JVM, they would not have done this.
Anyway, anybody who makes a decision to walk away from Java based on this announcement, on the strength of some arm-chair laywering, is an idiot. If you're really worried, hire a legit laywer to review the license and/or contact Sun and review things.
Jeroen T Wenting
Ranch Hand
Joined: Apr 21, 2006
Posts: 1847
posted
0
The exception won't help much because it is still GPL with all the dangers of getting sued that entails. The financial damage from that (and even more importantly the damage done to your corporate image when being dragged through the dirt by the press) is very real, whether you manage to win in court on a technicallity or not.
For that reason many companies WILL abandon Java in favour of platforms with less restrictive (and less dangerous) licenses, like C#. These platforms have the added benefit that they can't change on the whim of a few anonymous people somewhere around the world who think it would be a jolly good idea to change something that breaks your entire codebase between one minor release and the next (which is a constant threat with OS software, I've had it happen 3 times in the last year alone with various packages, forcing a decision to either stick with an old release and maintain it yourself or rewrite your entire codebase to get a fix for a single bug you like). With a rigid system in place at the supplier, that is far less likely (Java up to now for example can be almost relied upon to run classfiles that are years old, that's unlikely to last much longer when everyone and his niece can make changes to the runtime and compiler to do whatever they like).
Ernest Friedman-Hill
author and iconoclast
Marshal
If you compiled any single GPL licensed library into that binary of yours you'd be damned into releasing your entire codebase for that application under the GPL as well.
Same with a GPL licensed Java compiler, and the classpath exception isn't going to help much.
That is why the LGPL exists. There is absolutely nothing stopping me from writing and compiling a C program with GCC and releasing it as a proprietary program.
It will help because the libraries are not GPL, and it doesn't matter what license the JVM is under, you program doesn't link to it.
The "viral" rumor is FUD paid for by MS.
I think minus the few problems that might creep up, open sourcing Java is the best defense against .net.
David McCombs
Ranch Hand
Joined: Oct 17, 2006
Posts: 212
posted
0
Originally posted by Jeroen T Wenting: The exception won't help much because it is still GPL with all the dangers of getting sued that entails. The financial damage from that (and even more importantly the damage done to your corporate image when being dragged through the dirt by the press) is very real, whether you manage to win in court on a technicallity or not.
For that reason many companies WILL abandon Java in favour of platforms with less restrictive (and less dangerous) licenses, like C#. These platforms have the added benefit that they can't change on the whim of a few anonymous people somewhere around the world who think it would be a jolly good idea to change something that breaks your entire codebase between one minor release and the next (which is a constant threat with OS software, I've had it happen 3 times in the last year alone with various packages, forcing a decision to either stick with an old release and maintain it yourself or rewrite your entire codebase to get a fix for a single bug you like). With a rigid system in place at the supplier, that is far less likely (Java up to now for example can be almost relied upon to run classfiles that are years old, that's unlikely to last much longer when everyone and his niece can make changes to the runtime and compiler to do whatever they like).
Less restrictive licenses like C#?
You think if someone adds or changes something in the java library it will be distributed as official? Python is OSS, yet all the problems you are talking about have yet to happen or even in danger of happening. Same with Perl. [ November 14, 2006: Message edited by: David McCombs ]
According to this source the Free Software Foundation (FSF) has never used a GPL violation to seek major damages. The FSFs stated policy is to ensure compliance. To my memory the FSF swings into gear when someone has examined a commerical binary and found very similar segements (string dumps or other markers) to GPL software.
Actually I find the notion that the producers of GPL software have high power lawyers just waiting to sue someone pretty funny when compared to the actions of Microsoft and the like via the Business Software Alliance.
David McCombs
Ranch Hand
Joined: Oct 17, 2006
Posts: 212
posted
0
Originally posted by Gregg Bolinger: Easy there, pilgrims. We're all friends here. Everyone take a deep breathe.......there, all better now.
Sorry Greg and anyone I might have offended. I meant it more in a light manner then it might have come across.
Phil Rhodes
Ranch Hand
Joined: Dec 27, 2003
Posts: 65
posted
0
Originally posted by Jeroen T Wenting: The exception won't help much because it is still GPL with all the dangers of getting sued that entails. The financial damage from that (and even more importantly the damage done to your corporate image when being dragged through the dirt by the press) is very real, whether you manage to win in court on a technicallity or not.
That statement - at least in the USA - is absolute FUD. And that's because you can be sued by anybody, at anytime, for anything already. Java being GPL now means NOTHING in terms of additional risk of being sued. Nada, zilch, zero. A SCO could come along tomorrow and sue your company for violating their copyright or patent, nothing changes because of this.
And since you can be that Sun will maintain pretty tight control over the official release of the JDK, no how, no way will anybody be at any MORE risk than they already are. However much you trust Sun now to not ship something that endangers your company, you can continue to trust Sun that much tomorrow.
Jeroen T Wenting
Ranch Hand
Joined: Apr 21, 2006
Posts: 1847
posted
0
You can however not trust others (read IBM) to do the same. They'll shortly have their own incompatible implementation and ship it with all their machines (several million a year), calling it something that makes their customers think they're running Java when they're not. Guess who has the marketing clout to determine what's Java and what isn't when it's IBM versus Sun?
Our customers will simply demand we conform to what they think the standard is (and they think anything IBM does is the standard because that's what IBM tells them).
That's the danger of forking, in the past IBM would have to conform to the Sun standards at least at a language level, they no longer have to.
Originally posted by Jeroen T Wenting: You can however not trust others (read IBM) to do the same. They'll shortly have their own incompatible implementation and ship it with all their machines (several million a year), calling it something that makes their customers think they're running Java when they're not. Guess who has the marketing clout to determine what's Java and what isn't when it's IBM versus Sun?
Our customers will simply demand we conform to what they think the standard is (and they think anything IBM does is the standard because that's what IBM tells them).
That's the danger of forking, in the past IBM would have to conform to the Sun standards at least at a language level, they no longer have to.
As I understand it, IBM or [insert vendor here] still has to comform to the VM specification to call it Java. I don't think anything has changed there because the langauge went open source? I don't know for sure.
Also, with Java being open source, does that mean I could go in and add all the keywords I want and release it? What part of Java exactly is open source?
IBM has had their own JDK and JVM for many years. It's absolutely compatible with Sun's. I can't imagine what would make them switch to an incompatible fork of Sun's code, when they have their own perfectly lovely JVM already which they've always kept in lockstep with the official release.
Are you reading this stuff off a Microsoft blog somewhere, JW?
Please read this. The Java brands and logos are registered trademarks of Sun Microsystems. They make it very clear that just because the JDK, compiler, classes, etc are open sourced doesn' mean something can call itself Java Powered, Java Compatible without passing the tests for these brands.
Forking the JVM and releasing it as JoBobs Java Virtual Machine without Sun's permission seems like a quick way to get yourself in hot water with Sun (reference the Microsoft JVM debacle). You think IBM would have much luck where Microsoft didn't even have a chance?
Actually I think (read personal opinion) IBM will do one of three things in order of decreasing likelihood:
Business as usual - continue to license Java from Sun and release their version of Java - which meets the Java standards and passes testing to use the Java brand.
Open source their own version (GPL compatible) - this would allow them to use code from the OpenJDK project - and of still meet the standards and pass the testing.
Drop the IBM Java and just go with the OpenJDK project - I don't really see this happening.
I'm still not completely clear. Is the VM (c code) open source now? Or is it just the JDK (API) that is open source. Can I go into the c code and change the way GC works? Or can I only go in and change all the Swing models to use Collections instead of Vectors? Or both? Couldn't I have done this anyway, before Java went "open source"?
I mean, if other vendors have been allowed to create a Java VM already, what does open sourcing Java mean; ie, what's all the fuss about? I don't see anything that has really changed except the name of the license. [ November 15, 2006: Message edited by: Gregg Bolinger ]
Ernest Friedman-Hill
author and iconoclast
Marshal
When this happens (next spring), the significantly new thing is that you'll legally be able to modify the JVM and distribute the results (respecting trademarks as appropriate, as is pointed out above.) Right now, as you could have for some years, you can get the VM source and modify it to your heart's content; you just can't redistribute your changes without paying a hefty fee.
We're not going to see forks left and right. The JVM is a terribly complex thing, and the collected brain trust of the entire open-source community has never produced a JVM that works well enough to see wide usage. The existing open-source VMs work only well enough to be satisfactory to folks who have an I-only-run-free-software chip on their shoulders.
Tim LeMaster
Ranch Hand
Joined: Aug 31, 2006
Posts: 226
posted
0
What is opensourced?
At openjdk.dev.java.net you will find
The Hotspot JVM 1500 C/C++ header and source files 250,000 lines of code Not included - the class libraries - you have to provide a bootstrap JDK and a JDK for class libraries
The Java programming-language compiler the compiler source with NetBeans project metadata
At glassfish.dev.java.net you will find
A open source Java EE 5 application server
In 2007 Sun will release the unencumbered source code modules of JDK 6 and 7. This will include the class libraries (licensed under the classpath exception so you can use them and not have to GPL your code). Code that cannot be open sourced due to licensing (encumbered code) will be released as a binary plugin.
Jeroen T Wenting
Ranch Hand
Joined: Apr 21, 2006
Posts: 1847
posted
0
Originally posted by Ernest Friedman-Hill: IBM has had their own JDK and JVM for many years. It's absolutely compatible with Sun's. I can't imagine what would make them switch to an incompatible fork of Sun's code, when they have their own perfectly lovely JVM already which they've always kept in lockstep with the official release.
Are you reading this stuff off a Microsoft blog somewhere, JW?
So typical. You don't agree with someone THEREFORE that someone is in league with Microsoft... Not nice! (or rather not meant to be nice).
IBM has been trying to take control over Java away from Sun for a decade. Until now they couldn't do it by forking, now they can. With their massive marketing clout to get their (now legal) variations accepted by millions of end users as the real thing, and their huge consultancy department spreading it to corporate boardrooms, it's almost inevitable.
So typical. You don't agree with someone THEREFORE that someone is in league with Microsoft...
I think it's more a case of your rather avid fondness of Microsoft, or maybe it's more of a non-dislike of Microsoft and the fact that some of the statements being made sound like something a Java competitor would spread as fud. Being that Java's main competitor is .NET, you do the math.
I don't think EFH meant anything nasty by his question. I think he was seriously wondering if you were reading the information you are stating or if these are just assumptions you are making.
Well, I am going to be interested to see what if anything IBM does. But they are somewhat constrained by people like me. I bought a system that's written in Java by people who had never heard of the IBM iSeries, and I plunked it down on our iSeries and it just worked. If IBM starts distributing JVMs that don't work the same way as Sun's JVM then there's going to be hell to pay.
Originally posted by Paul Clapham: If IBM starts distributing JVMs that don't work the same way as Sun's JVM then there's going to be hell to pay.
At least intentionally. I'm sure the IBM JVM has had bugs at some point. So has the Sun JVM. People expect APIs to work in a certain way so I can't see a dangerous intentional fork. What I can see is proprietary extensions to the JRE. Just like WebSphere has extensions. But they are clearly labeled as such so you know what you are getting into.
Incidentally the IBM JRE is not GPL. So from the point of view of those large companies that are afraid of GPL, there are still options.
Originally posted by Paul Clapham: Well, I am going to be interested to see what if anything IBM does. But they are somewhat constrained by people like me. I bought a system that's written in Java by people who had never heard of the IBM iSeries, and I plunked it down on our iSeries and it just worked. If IBM starts distributing JVMs that don't work the same way as Sun's JVM then there's going to be hell to pay.
Most of those people would however also contract the software from IBM, at least initially... They'd get Java software written specifically for their non-standard implementation and will when wanting more software from other sources demand that new product also be written against that IBM implementation.
Marcus Green
arch rival
Rancher
Joined: Sep 14, 1999
Posts: 2813
posted
0
Think about this carefully,
Is it likely that the armies of lawyers and technologists at Sun Microsystems have released the Java technologies under a licence that is going to undermine most of the financial underpinnings of the multi billion dollar business that is Java software development.
Or is it more likely that they have changed the license but that it will still be possible to create and sell Java software under proprietry licenses and extract financial gain for the copies of the software. Which is more likely?
Originally posted by Paul Sturrock: People! People! You are missing the really interesting news: we can now have a JavaRanch logo of a certain famous penguin wearing a cowboy hat.
Hey, that's cool!
But are you serious? Duke is a penguin? I always thought he was a Star Trek insignia.
Jeroen T Wenting
Ranch Hand
Joined: Apr 21, 2006
Posts: 1847
posted
0
Originally posted by Marcus Green: Think about this carefully,
Is it likely that the armies of lawyers and technologists at Sun Microsystems have released the Java technologies under a licence that is going to undermine most of the financial underpinnings of the multi billion dollar business that is Java software development.
Which billions in Sun's revenue (and especially profit) are you talking about? Those are the only billions Sun would be interested in (certainly their management and shareholders who are the ones in ultimate control).
Most likely management saw an opportunity to save some money by having non-paid external parties write their code for them, then sell that code. Pretty much the same reasoning other companies use for trying to sell Eclipse...
Marcus Green
arch rival
Rancher
Joined: Sep 14, 1999
Posts: 2813
posted
0
No I am referring to the revenue generated by Java applications by 3rd parties. Are you suggesting that Sun is to undermine the entire commercial Java market, i.e. require that every Java application be free under the GPL to save the cost of salaries of the Java developers.
So that the Oracle Java tools must be GPL, including the JVM at the heart of the database system, Oracle JDeveloper, the Borland Developer Tools, the WebLogic and WebSphere tools, the Sybase tools, etc etc. Are we going to be able to get the source code and redistribute those tools under the terms of the GPL in the near future?.
I agree. Here's the link: http://ej-technologies/jprofiler - if it wasn't for jprofiler, we would need to
run our stuff on 16 servers instead of 3.