The JLS and the JSRs are not trade secrets, and—to my knowledge, I’m not about to go looking—most of them are not patented either. If I felt like punishing myself I have no doubt that I could spend a few years and a few million dollars re-implementing Java EE 5 and release it to the world without paying a cent to Sun or anyone else, and without worrying about a lawsuit.
Wait, what’s that? I wouldn’t be able to call it a “Java EE” implementation without paying for the conformance tests? Gee, that’s too bad. Oh well, I guess I’ll have to compete on the strength of my implementation and fabulously expensive marketing blitz.
How many people really care whether MyFaces can legally call itself an implementation of JavaServer™ Faces? If I used JSF, I would care that it implemented as much of the JSF API as I needed and was of high quality.
Similarly, I really don’t think the vast majority of developers could care less whether any particular JVM implementation is blessed by Sun, especially not when OpenJDK is available and IBM and Oracle seem happy enough to keep working on their JVMs.
What’s really important to me (and, I suspect, to most Java-ecosystem developers) is that, for the foreseeable future, there will continue to be a stable, high-performance, Java memory model and bytecode-compatible, scalable, manageable, cross-platform runtime for me to develop and deploy my products on through their expected 10+-year life cycle. That runtime really should be open source, and ideally there should be more than one compatible implementation—competition and choice are good.
I think most people would agree that we’re in pretty good shape here: all three major commercial JVM implementations are stable, performant, manageable, scalable and cross-platform, at least one of them is open source already, and the others are available free of charge (although not necessarily redistributable).
I don’t begrudge Sun their Java™ business model. They invest heavily in the Java ecosystem, have open-sourced one of the world’s most important pieces of software (in the form of OpenJDK) and should be free to dictate the terms under which their trademarks can be used. Those who care about certification can pay for it; those who don’t are already getting a whole lot of something for nothing.
Updated: Changed first sentence slightly to reflect that Stephen Colebourne is not speaking on behalf of the ASF.
]]>Why “Project Wallet”? Well, why settle for a handful of coins?
]]>Are you a new programmer?
Me neither. Let me have my software Sawzall™. If I cut off my own leg, I won’t go crying to the manufacturer, I’ll admit that my training, experience, technique and/or luck were insufficient.
]]>A scant few days ago I started throwing WBJUS around, and tonight, Small Language Changes for JDK7 appears. What timing!
Don’t get me wrong: I have the utmost respect for Sun’s stewardship of the bottom two-thirds of the Java ecosystem. The Java VM spec, Memory Model, HotSpot and significant chunks of the Java runtime library are world-class.
But Java-the-language? Scala, C#, Clojure, Haskell and every other language whose designers and managers are not cringingly risk-averse are beating it up and stealing its lunch money every damned day, and instead of fighting back, Sun is shopping for big dark glasses to hide the bruises.
Update: This article was posted to dzone where some additional discussion has taken place.
]]>