Tim Bray talks about Sun needing to build "Back-door Tech". Ok, so here are some suggestions for the Java back door: Get behind Jython. Tighten the J2EE/JCP feedback loop. Provide leadership for web frameworks. Get the SCSL out of the way. Support the Eclipse consortium. Get behind Jython. Here's a major theme of open source innovation in Java over the last 3 years - use anything but Java for app coding. That suggests a significant fraction of Java geeks are chomping to get off Java for someting more flexible and 'ready to hand'. The natural choice is to run fully featured scripting languages on the JVM (not Bizarro-XML roadkill like Jelly, or JSP+EL). But here's a very important thing - we don't need new language development*. Jython is sitting there, ready for prime time. In the meantime, Microsoft, with one smart guy for pay, have the potential to make scripting mindshare on the JVM dead on arrival. IronPython is why. The enterprise computing upgrade path for millions and millions of VB.NET and ASP.NET developers is probably going to be IronPython. Visual Studio support will surely follow. Game over? Tighten the J2EE/JCP feedback loop. In Tim's terms, the J2EE has no back door. It took far too long for the JCP to acknowledge that those in trenches knew EJB and other J2EE doodads had issues in a way that no amount of visual tooling and enterprise patterns could paper over. Huge pressure had to bubble up from the developer community in the form of OpenSymphony, Spring, Pico, Hibernate and bestselling books like Bitter Java and Bitter EJB. This lack of feedback seems to result in disdain for J2EE as a development platform and produces one reactionary OS project after another addressing the same issues (the web frameworks situation is so bad it's getting its own section). Some of these projects are valuable, but many result in buyer's regret and legacy issues if the project dies as the leads go off to do something else cool without leaving a community behind them (Hani Suleiman deserves immense credit for highlighting this problem). There are no winners here. Today, a significant issue is how the J2EE fits with integration styles where the Web, documents, messaging, interop-uber-alles and most importantly, tight budgets, dominate the landscape. Provide leadership for web frameworks. The Java web framework situation is so stupid, it's not even wrong. Sun, taking a leadership role and focusing the community on the goal of adopting a single web framework would be wonderful; Struts wasn't quite it, and JSF looks like a web framework that's in denial about the web. I think for Java to be competitive with the LAMP stack, Isolates and full support for scripting are prerequisites, so we might have to wait for a while. Get the SCSL out of the way. Sun's SCSL and the general approach to open code is confusing. Very confusing. And stupid - witness the Geronimo committers typing in the J2EE APIs by hand because of distribution issues around licences. That's inexcusable. SCSL is the epitome of front door thinking; no one wants to be distracted or stifled by something like it. For Jini and JavaSpaces, the licence seems to be actively harmful in terms of code sharing; the outcome is that one of the most exciting platforms for the service oriented style is a hacker unfriendly one. Support the Eclipse consortium. I understand this is a contentious view, but the Eclipse community and user base is thriving. Arguably, if Sun vanished tommorrow, this is where Java would end up - that's how strong this community is. * Regarding Groovy then. I've very happy that Groovy exists as it attracts the right kind of focus, but sad that it had to be invented. I also think that it will take a lot longer than expected to finish Groovy - good language design is too hard to just dash off in a couple of months. In one sense it's the wrong response to the right problem....