Questions for an Enterprise Architect
Erik Dörnenburg answers: What is Enterprise and Evolutionary Architecture?, discussing 4 issues: Turning strategy into execution, Ensuring conformance, Where do the architects sit? Buying or building?
The content has been bookmarked!
There was an error bookmarking this content! Please retry.
Posted by Floyd Marinescu on Nov 12, 2006
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.
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.
</justkidding>
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!
Erik Dörnenburg answers: What is Enterprise and Evolutionary Architecture?, discussing 4 issues: Turning strategy into execution, Ensuring conformance, Where do the architects sit? Buying or building?
Sean Cribbs explains what Map-Reduce and Riak are, why and how to use Map-Reduce with Riak, and how to convert SQL queries into their Map-Reduce equivalents.
Chris Richardson shows how he ported a relational database to three NoSQL data stores: Redis, Cassandra and MongoDB.
Jean Tabaka challenges the audience to reflect on what Agile practices they are employing, how they are using them, ending with the questions “Why have their organization chosen to go Agile?
Andreas talks about the benefits of the Open Web and how it compares to proprietary stacks. He also talks about various projects that push the envelope like Boot to Gecko, Broadway and pdf.js.
Ron Bodkin discusses early adoption of Hadoop, NoSQL and describes MapReduce and related libraries and Frameworks. Other topics include Hive, Pig, multi tenancy, and security in a big data environment
Stephen Bohlen explains how Spring helps with interoperability between Java and .NET, demoing it with the help of a sample application.
Guilherme Silveira mentions some of the turning points in project development that may affect the quality of the code offering advice on avoiding writing crappy code.
10 comments
Watch Thread Reply