Bindings, Platforms, and Innovation
This presentation focuses on the Internet and separating myth from fact, history from the future, and the mundane from the imaginative. Bob Frankston presents a vision of what could and should be.
Tracking change and innovation in the enterprise software development community
Posted by Floyd Marinescu on Nov 12, 2006 11:01 PM
It has finally happened. Sun today announced that Java SE, Java ME, and Glassfish are being open sourced under the GNU General Public License v2 (GPLv2) with Sun today releasing an early build of the Java SE 7 HotSpot JVM, the javac compiler, and JavaHelp in the new OpenJDK project at Java.NET which will be the project site for future JDK development, releases, bug fixes, etc. The fully buildable Java SE 7 JDK classlibraries will be available in Q1 2007.we have to ensure that users of Java don't have to worry about getting claims that by using Java they're infringing a patent held by any of the contributors to Java (including Sun); so we have to prevent anyone, whether by accident or on purpose, from contributing code to Java and then being able to launch claims against people who use it.Why GPL? As reported on InfoQ in the past, there were a number of tangible needs for an open source java. According to Sun, a GPL license accomplishes two major objectives: driving more volume and adoption for Java and maintaining the "write once run anywhere compatibility promise."
GPL is well suited because it will minimze any likelihood of proprietary forks in the codebase....it drives innovation into the open, any modifications to the codebase have to be published...Expanding on the issue of GPL and forking, Tim Bray told InfoQ:
It doesn't [prevent forking], it totally allows forking, and there will be forking. Which presents the problem of how we keep the Java promise of compatibility. We'll use a business/legal approach, rather than a technical approach. Which is to say, you can take the code, you can change the code, you can compile the code, you can publish the code, you can sell the code, no permission required. But you can't call it Java or use the coffee-cup logo without going through all the same processes you have to now: pass the appropriate TCK and secure the copyright clearance. So for businesspeople who want to be sure that they're running real compatible un-forked Java, the Java brand - the name "Java" and the coffee-cup logo - is the stamp of approval to look for.GPLv3 was not chosen since it is not finished yet, but when asked if Sun will move to GPKv3 an official said "at this point we don't know what the final license will be."
The GPL doesn't require that bytecode classes using a GPLd java.lang.Object be licensed under the GPL as well. That's because neither the bytecode nor the source code using it are derivative works of java.lang.Object, as all that ever ends up in them are interface names and constants, and those remain the same, regardless of the license of the java.lang.Object class. Those symbols are standardised through the JCP, and published as specifications. They are necessary for interoperability. Therefore, the symbol names and constant values can not be claimed as original works by a GPLd java.lang.Object, and accordingly don't meet the bar for copyrightability.Putting it simply, Dalibor later explained:
You can create a derived work by taking GPLd code from the standard class library and copying it modified or verbatim, into your own code, of course, but that's the same regardless of the license.On the impact of the move on the JCP, Tim Bray clarified to InfoQ:
The JCP doesn't govern implementations, it governs specifications. It defines what the various Java packages (SE, EE, ME) are, using in part reference implementations. At the moment, we're not planning any big changes in the JCP as a function of the open sourcing move.It's unclear at this point what the announcement will mean for existing open source Java works, including the Kaffe VM, GNU Classpath classlibraries, or the GCJ compiler. With regards to the Apache Harmony project which is also trying to make a cleanroom open source Java implementation. Update: Apache Harmony PMC Chair Geir Magnusson told InfoQ that Harmony's development will continue:
it won't change much for us. Apache and Sun have different communities, with different licenses, different conditions for contribution and different governance models. While each contributor to Apache Harmony has their own reasons for participating, and I therefore can't speak for them, I believe that this good news today from Sun doesn't change what we'll be doing - it just means even more open source Java, and that's a good thing.Harmony is released under an Apache license which cannot incorporate GPL'd code and thus cannot use any of the OpenJDK code. Since GPL prevents proprietary modifications to Java (since GPL requires you to release changes under GPK), various commerical interests may still want to see Apache Harmony continue.
IBM's vote is based on the technical merits of this JSR and is not a vote on the licensing terms. IBM supports licensing models that create an open and level playing field by allowing third parties to create independent implementations of Java Specifications and that do not allow individuals or companies to exercise unnecessary control for proprietary advantage. We support open source as a licensing model for contributions in the JCP, and would hope others will support this direction. This comment is not necessarily directed at the current business or license terms for this JSR, however, it is a statement of IBM's preferred licensing model.IBM has also been a backer of Apache Harmony and with Intel has a made many contributions to the project, which has been speculated to have been indirect attempts at pressuring Sun to open source Java.
Velociti Partners Customer Survey
The Role of Open Source in Data Integration
Agile Development: A Manager's Roadmap for Success
Good job Floyd, this is hot news!!! This is going to be really great for Java/Linux to have a compatible source license, people can really start digging it now. Was hoping to get some of that done many years ago as Java Evangelist, but better late than never =) Miko
Now we get to shoot Mike Milinkovic. It's not CDDL!
This really is great news: as an ex-JVM developer, I wonder if this means I can start dabbling around again inside the JDK?
Good summary, Floyd. One clarification on GlassFish and CDDL: we are going to add GPLv2 as soon as we can (we in the middle of Milestone 3 freeze for GlassFish v2) and we are planning to keep CDDL in the future. Thanks, - eduard/o
Hi Floyd/all, I'm thinking that this will make it easier to ship JDK for everyone. Otherwise ========= Some of the /bin utils that ship on linux/solaris don't get shipped on windows. Hopefully, the open source community will pitch in. I hope that in 2 years, there will be more Java developers that now! I hope that sun will create a version of JAVA which is server only (no swing, etc). Also, a version of java only for the browser (which will be for most purposes as fast as a flash plugin). Good Luck sun and java developers! BR, ~A
GPL is well suited because it will minimize any likely hood of proprietary forks in the codebase
Please tell me you didn't really write that. Surely it's not asking too much to hope that a reasonably well-educated person would know the difference between a likelihood and a "likely hood". Is the English language doomed to a slow tortured death at the hands of Americans? Sometimes it feels that way.
When he wrote "likely hood", he was writing about the possibility of an intentional proprietary fork, and was no doubt thinking of Microsoft (a "likely hood"), thus planting a subtle joke that you have now messed up by pointing out the otherwise obvious error. Peace, Cameron Purdy Tangosol Coherence: Clustered Cache
Hi David, sorry about the blunder, it was really late at night. The blatant literary transgression has been rectified.
Hi David, sorry about the blunder, it was really late at night. The blatant literary transgression has been rectified.
It's OK, I was just having a "Mr. Angry of Tunbridge Wells" moment.
GPL is well suited because it will minimize any likely hood of proprietary forks in the codebase
I rather liked the pun. keep it if you can!
This presentation focuses on the Internet and separating myth from fact, history from the future, and the mundane from the imaginative. Bob Frankston presents a vision of what could and should be.
This article explores the use of JBoss and jBPM to implement design solutions that effectively address the issue of orchestrating long running activities.
This presentation covers the use of graph databases as an optimal solution for data that is difficult to fit in static tables, rapidly evolving data or data that has a lot of optional attributes.
This session introduces Real Options and shows how it can help in running your project. Real Options is a decision-making process that can be used to manage risk.
This article discusses the use of bindings on services and references (including the instance of non-configured bindings) as the means to implement SCA communications in a Web and SOA environment.
After a short introduction to DSLs, Scott Davis plays with the keyboard showing how to approach the creation of a DSL by typing working snippets of Groovy code that get executed.
IBM Rational and InfoQ present, Scaling Agile with C/ALM, an eBook showing organizations how to become “finely tuned software delivery machines” by enabling team integration and scaling.
Amanda Laucher presents a real life enterprise application written in F#. She shows actual code snippets, explaining design decisions and suggesting how to use some of the F# constructs.
10 comments
Watch Thread Reply