QCon 2008 preview Rod Johnson, chief executive of SpringSource, made his name both as a critic of bloated Java environments and as an advocate of a slimmed-down, pragmatic approach to Java-based development in enterprises.
His experience as a consultant in the late 1990s prompted him to look at how Java had failed to deliver good results in enterprise computing. It also led him to devise the Spring Framework to make Java development easier and to found Interface21, which evolved into SpringSource.
Back in 2000, as Johnson has acknowledged, his views on Java were seen as heretical. This was long before Sun Microsystems decided to open up Java as an open source project and a time when Enterprise Java Beans (EJB) was the only - highly flawed - technology for enterprise Java.
Johnson's criticism of EJB eventually led to changes. It is generally accepted that EJB 3.0 owes a lot to alternatives such as Spring and Johnson's views are no longer seen as heresy.
Johnson notes he was always a reluctant heretic. But his argument that good enterprise software can come from a combination of open source innovation and traditional professionalism is still seen in some quarters as controversial.
He continues to maintain a robust view on how software technology - and Java in particular - should evolve. In the run up to QCon 2008 in London next week, where he is chairing a panel on open standards and on the evolution of enterprise Java, he told Reg Dev he wanted to see even more openness.
Specifically, Johnson wants to see changes in the Java Community Process (JCP) that oversees the evolution of Java.
"The JCP definitely needs to learn from the recent successes of open source development. It needs to open up the ability to collaborate without legal eagles having to oversee everything. You don't want to make every little aspect of the process subject to a legal agreement - it stifles innovation," Johnson said.
The JCP governs the development of the Java language and associated standards. It produces specifications that are then developed into code through the Open JDK, the Java open source community Sun created in May 2007.
Johnson said the JCP was created in a monolithic era of computing that has passed. Software development needs have changed - and are likely to continue changing even faster. The structure of JCP must change to cope with this.
"The JCP is set up as closed committee which makes it very difficult for outside people to contribute. Although recently it has sought input from expert groups and canvassed external sources it needs to do more. I would, for example, like to see it make more use of wikis to improve collaboration," he said.
Johnson also felt the license arrangements for Java technologies could be improved as current arrangements act as a disincentive to using Java. Johnson said: "Its too legalistic and there is concern about agreements that bias things in favour of Sun. JCP could use BSD or Apache licenses for example. This would remove a lot of the issues that IBM has about contributing intellectual property."
Despite some industry criticism of Java and the emergence of alternatives, Johnson remains a strong supporter of the language. He is positive about Sun's policy of extending the Java environment to include other languages and frameworks, and expects this will lead to improvements both in Java and its support technologies.
"I think a world where Java dominates is unhealthy," Johnson said. "Broadly speaking, Sun taking a positive position on languages such as Python and Ruby is good. It is natural that these up and coming languages get the attention - but it also means that Java is getting some wake-up calls. There are some good ideas coming from these new languages and they are having an effect on Java."
But Johnson went on to say it is important to see beyond comparisons of the relative merits of Java and other programming languages. The operating environment that supports a language is as important - especially given the wide use of the Java Virtual Machine (JVM).
"It is not enough just to compare Java with Ruby or Python. You have to put it in the context of the JVM as a platform with 10 to 15 years of rich enterprise integration. With dynamic languages such as JRuby and Groovy, for example, you can get access to the JVM. But it is still too early to say that dynamic languages are taking over."
Sun's support of alternatives to Java is, Johnson believes, part of a grander strategy to take a lead in open source software development. "Sun is broadening its position and making an ambitious push around open source. It wants to be the dominant company. Extending language support is a part of this and so is the MySQL acquisition."®
The Register is a media sponsor of QCon London 2008.