Q. What does the open sourcing of Java mean for developers and users of the technology?

A. All that means is that we changed the licensing terms a little. What people really value is that it’s solid, interoperable, and reliable.

Q. But do you think the open sourcing of Java will lead to a different group of people helping to guide its evolution?

A. No, I think pretty much the same group of people will be involved in Java that were before. Open source has generally worked really well for us. The use of Java on Linux, for example, is really high. There’s no central Linux body of course, it’s a tag group of individuals.

Q. Can the open source community produce great software?

A. There are parts of Linux that are completely brill. There are other parts that are complete rubbish. It’s a function of who wrote those bits. Peer review works for some things but others have not had as many eyeballs on them and stupid code can get through unless someone happens to notice. The less scrutinized parts of Linux are more stupid.

Q. Have you been surprised by the success that Java has seen?

A. Yes and no. Yes in the sense that I felt like it offered solutions to a lot of problems. But there is a huge leap between having something that solves problems and having something that people actually adopt and use.

Q. Is Java’s write once, run anywhere its greatest asset?

A. As well as write once, run anywhere, just as key actually is learn once, work anywhere. Java gives you a skill set that you can apply to far more platforms.

Q. Do you think of Java as still being your baby? Does it give you a buzz to see how pervasive it has become?

A. I did this little thing but it has had a cast of thousands who have contributed to it. In some senses my kid has gone off to college. It has its own life now. It still gives me a nice warm feeling when people show me the cool things they did with Java. It’s so large and so interesting now that nobody could control it. I’m like a tug-boat alongside a supertanker – I can butt it every now and then but I can’t stop it.

Q. But you do that – you do give it a butt every now and then if you think it is taking a wrong turn?

A. Every now and then, sure.

Q. What are your thoughts on the way certain other vendors added proprietary extensions to the Java code that their development tools produce, making the resulting applications less than pure Java?

A. There are two ways that people have chosen to change it. BEA is perfectly able to add their own stuff, and the developers who use it have the knowledge that they are using extensions that are not strictly Java. With Microsoft it got a little sticky. They didn’t make it clear where they had added Microsoft extensions. So developers using Microsoft tooling would be only able to run it on the Microsoft VM.

As a market force people tend to prefer interoperability. You find that the BEA extensions don’t get used a lot for exactly that reason. Developers might like BEA but they also want to be able to switch to Tomcat or WebSphere. Since then Microsoft has disappeared from the scene – they are not participating at all.

Q. But how much of a threat to Java is Microsoft’s rival language, C#?

A. Before C# we heard all these rumors that it was going to be really great, but in the end it was so derivative that it was blatantly a messed-up copy of Java. So we don’t need to put in a lot of effort into competing with it.

Q. Derivative enough to warrant legal action?

A. There is a reason they give us $100m a year. There is all sorts of cross-licensing in that. But we do keep an eye on the scripting languages — Ruby, Python, PHP and so on.

Q. What do you say to observers who argue that Sun has not made as much money from Java as it might have done?

A. That’s only true if you do direct revenue accounting. Of the millions of copies of Java downloaded last month, why not get $10 per copy? Our answer is that there are lots of different sources of revenue: software, hardware, services and support. Charging a license fee will drop adoption, and we know that we can make a lot more money from the sum of those sources of revenue if we make the volume very, very large.

Q. Talking more broadly about software development methodologies, is SOA simply old wine in a new bottle – I mean, there are lots of similarities with objects, and they have been around since the sixties.

A. Yes, there is a certain amount of old wine in new bottles. It’s another one of these that is more about marketing: depending on your definition it means different things to different people. Structured systems as loosely coupled services has always been a good idea. That’s what OO [object-oriented programming] was all about. SOA is OO in the large. Which networking technology you choose to use to link those services I deeply don’t care.

Q. The difference between OO and SOA, if you boil it down, is really just about the size of the chunks.

A. It is just about the size of the chunks.

Q. I am assuming you believe that Java plays well in a world moving towards SOA?

A. Yes, the nice thing is that Java and web services fit together perfectly. It’s all about how two machines communicate and Java is good at implementing that. With its wide-spread adoption and standards support that makes it really powerful.

Q. Why is it that software development projects are still so utterly prone to failure?

A. It’s just the way of the world. It’s about the loss of institutional control. The people who build it are the big problem for lots of companies. It’s almost impossible to characterize the reasons behind so many software failures.

Q. But if you had to pick some common mistakes – people, process, the technology? It seems to me things often go wrong right from the capturing of requirements from business users.

A. Yes, it’s a myth that you can write the requirements and then build it – in almost any non-trivial system that is almost impossible. No one knows what the requirements are: ‘oh, we forgot about this or that’. So yes, they have to get it completed but you can never believe there is such a thing as a final set of requirements.

If I had to pick a cause for these things screwing up I would say it tends to be a combination of people being completely clueless about what they are doing, and companies fighting people that do not know what they are doing. Often these things are intensely politicized, the company spends an immense amount of money and has a giant team, and the result is that no one can do anything.

There are too many cooks in the kitchen. If I was doing a project like the NHS I would start with 10 people in a room. Prototype it, shape what you want, and then start adding people when you need them.

Q. Why is it that for all the work in artificial intelligence (AI), genuine machine cognition is still so difficult to achieve?

A. AI led people to make outrageous claims, I think because people didn’t understand how hard some problems are for a machine to solve. Take speech understanding -a three-year-old can do a pretty good job of it but people underestimated how powerful human cognition is.

Machines still struggle with actually understanding speech. That’s very different from merely recognizing speech. Also there’s a very anthropomorphous element to everything, for example chess is remarkably simple from a machine’s point of view. But to humans it appears complex.

Q. I heard that you had to shave off your trade-mark beard for an operation last year, and you said before then your family had never seen you without one. Did they still recognize you?

A. They were kind of weirded out, but overall they were cool with it. My children were more freaked out than my wife.

Gosling did a BSc in computer science at the University of Calgary, Canada in 1977. He received a Ph.D. in computer science from Carnegie-Mellon University in ’83. Over the years he has built satellite data acquisition systems, a multiprocessor version of Unix, several compilers, mail systems and window managers. He has also built a WYSIWYG text editor, a constraint based drawing editor and a text editor called ‘Emacs’ for Unix systems. But he is best known for being the father of Java. In February this year Gosling was named an officer of the Order of Canada.