In an xml.com blog, Rick Jelliffe argues that the sorry state of desktop Java should prompt Sun to open-source Swing
The poster child for his argument is the utterly inert HTML support in Swing, which is maybe sufficient to render JavaHelp content, or some simple web pages from 1998. It’s certainly not suited to handle arbitrary content on today’s web. But he points out the Flying Saucer project on java.net as an example of a case where the community is picking up where Sun has dropped the ball, and concludes that could be a new model for developing the desktop API’s:
So perhaps Sun could consider this: just open source the Swing tree for now. That is a nice doable chunk, and much work on new Swing development, such as SwingX, is being done in public anyway. Let it evolve independently of the rest of Java. Releases of Java can snapshot Swing. Sun has already lost control of the GUI, because of SWT, and the anti-XML partisans involved in Swing development seem determined to allow MicroSoft and IBM to leapfrog Swing as far as ease of generation of user interfaces (why wasn’t SwiXML grabbed and made part of Swing as soon as the idea was released? — a mystery that is an ongoing fumble by codeheads who don’t get declarative specification using XML)
I’d temper Rick’s enthusiasm somewhat by noting that Flying Saucer’s project owner (and my co-author on Swing Hacks) never intended it to be a general-purpose, real-world web content renderer, so it only goes so far in replacing Swing’s HTML support.
There are similar projects to pick up abandoned Java desktop technologies, such as FMJ’s attempt to provide modern codecs to the flat-lined Java Media Framework (JMF). But there are limits to what can be accomplished — FMJ is working on tying into existing frameworks like jffmpeg and QuickTime for Java, and it’s not clear whether the project would have the skills to implement codecs in pure java or the legal standing to work with royalty-encumbered codecs.
So, could an open-source project pick up the ball with Swing, fix the bugs, and add long-requested features like declarative markup or freeze-dried GUI’s? Could its membership handle the tedious pixel pushing of the striving-to-be-native look-and-feels, or achieve focus and consensus on user interface issues? It’s an interesting idea, but even if Sun agreed to open-source Swing, would it work?