The Success of Java is Based on a History of Mistakes

What was the vision Sun had back on May 23, 1995? And where has Java evolved to today?

Herring: It really started a couple of years before, in the sense that the technology was then called Oak and its goal came up in the labs. The engineers were looking at how do we go off and create a little programming platform to run on a TV set-top box. As we looked at the problem of running an application in set-top boxes the first thing we had to worry about was how we get code down to all these set-top boxes. First we created a security model around Oak and then we were also worrying about the need to be small enough to run on a set-top box. However in 1995 we lost the deal on the set top box (Time Warner’s RFP for its interactive cable TV trial in Orlando, FLorida. The deal was won by SGI) and we were looking at what to do with Java. Almost with perfect timing comes this thing called the Internet looking for a programming language that has very similar characteristics to what we were designing for the set-top boxes.

And so really the vision in 1995 was almost a ‘vision by chance’ that we have this technology we’ve created that didn’t make it into the set-top boxes and we have this world out there that’s defining a set of characteristics that we have in this thing called Oak and the two things sort of come together. (The story goes that the name Oak came to Java co-founder James Gosling as he gazed out his office window at an oak tree). 1995 was an interesting convergence of two massive ideas, one of the massive proliferation of the Internet really characterized by Netscape and Sun with this technology called Java and us going and sitting down with Netscape and basically both of us agreeing that Java would be inside of Netscape. And that’s really the birth of Java and where the name changed.

What do you credit making Java successful?

Herring: I think it really is that we never took it as only as our own; we never looked at this thing called Java and said this is Sun’s and this is only Sun’s. I think it was the sharing of Java that made it successful and continues to make it a success. Java has evolved in ways we never imagined and I think it will continue to evolve in ways that we will never imagine. And the reason for that is it’s a community effort. I think this is the core strength of Java.

Ten years ago, the Java developer team had fewer than 30 people. Can you estimate how many Java developers are there today?

Herring: The number we estimate is 4.5 million developers today, a figure we got by combining developer data from IDC and Evans Data. In the past we established something we call the Java Community Process (JCP). Anyone can be a member of the JCP. It is basically about 900-1,000 members that are all actively involved in deciding where Java goes next. You’ve got people there from the gaming industry and the cell phone industry and the server world. They’re all sitting out there and evolving the platform in ways that quite frankly we would never have dreamt of.

Could you talk about why embedded Java did not take off initially as developers had hoped?

Herring: I think it was more of a timing thing. If you look at embedded Java todayJava is in about 2.5 billion devices, about 708 million Java-enabled devices are currently shipping and 1.5 billion cell phones. Today Java is successful in that environment. When it was created, it failed because the market wasn’t ready for it. The embedded market today is ready for it and markets like smart cards in the back of most cell phones and a lot of credit cards today all use a Java chip inside to store security details.

While other companies have made billions of dollars selling Java services and tools, Sun’s Java products have never done well in the marketplace. Could you explain why?

Herring: I think in terms of revenue on the software side of the world, if you look back at Sun’s history we were very much a workstation company, and then moved into being a server company. Initially we had no software offerings other than Java. We basically went out and licensed it and our whole business model. The first six or seven years inside of Java space were really around how we sell more servers. All we were looking at is how to continue to be more price competitive out there, how do we make sure that we get a piece of this pie.

Our goal is not to own the pie. If we can increase the size of the pie and have a little sliver of a huge pie, it’s better than trying to own a lot of a little pie. If you look back, BEA had to run on an operating system and it had to run on a piece of hardware, most of the time it was Sun. And so this is the weird thing: when people look at it, they compare a software company (BEA) to a hardware company like Sun. BEA made a ton of money on Java, but we made a ton of money on the servers that ran BEA.

Why do you think that providers of business software solutions like SAP switched to Java?

Herring: If you look at any provider of any bit of infrastructure, SAP is a great example. You have to convince the company to adapt your technology because it will solve some business problems. So SAP came along and we said well you know we can solve these certain areas. And everyone says this is great, from a business perspective it can solve it all. Our business looks like this and you can come and customize our software. What language do I need to use to customize software because I need to find now developers that are going to help me with customization.

And this is exactly where Java comes in because you can choose a technology like Java that’s got 4.5 million developers that can say all I need to teach you is how to make this call into SAP. I think you know the reality of Java is that such a lot of people could come and work in the environment if you use Java; if you use something of your own you have only about 100,000. And who would you rather appeal to?It’s like we’re not in the programming business, we’re in the business solving business. Java is in the programming business, let’s just marry the two. I think you’ll see more and more of that as companies re-design their architecture. But for someone like SAP, it was a huge decision. Obviously SAP had a lot of time, effort, money and everything hooked up into the old world and it’s just more of a nod in Java’s direction, saying this is the future and the way things have to be.

What is the importance of Java with respect to Web services, the Semantic Web, SOA?

Herring: If I look at what Java did and continues to do, I can write applications that run anywhere. We still need to do a lot and so building any new services I think Java is the best choice to do that because it gives you that flexibility of being able to say, hey I can write this to run anywhere. A great example might be someone like eBay where you have all these auction services so that I can have my own auction site running on my own website or it looks like its running on my own website.

So to me it’s basically a hand and a glove. If you look at it whichever way you want it to be. If you are going to create a services oriented architecture, there are two choices. You either create it in (Microsoft’s) .Net or create it in Java. And I think Java allows more of a multiple-vendor and multiple-operability story whereas .Net is very much a single vendor solution. Having said that I think there’s going to be even more interoperability needed and this is where we’ve been working with Microsoft to make sure that Java interoperates better with .Net because it isn’t just a Java versus .Net world, it’s a Java and .Net world for most people.

Your personal opinion: Is there anything in the history of Java you would have done in a different way and why? Was there any big “mistake”?

Herring: I would say that the success of Java is based on a history of mistakes. It started off for the set-top box then down on the Internet we were a phenomenal success. Then it should be a desktop thing and well you know we could look back at each one of those and go what a huge, big mistake. We made a big mistake there and should have realized that it was going to be a server technology and adopted that even faster.

And so I think there’s a lot of those sort of big mistakes, but I think the thing is that none of the mistakes have killed Java. And why has Java been able to sort of evolve into that area because it wasn’t just Sun driving it forward. It was the Java Community Process, it was all the other vendors out there going we can collaborate and share our ideas and we can then come to market. If Java had never been put out there, if it had never been shared, that would have been our biggest mistake, because it never would have evolved in any of these areas.I think Java is a history of mistakes, it’s a history of doing things that didn’t quite go the way we thought and then it goes in a totally different way and is incredible successful over there. I think Java has proven us wrong on every attempt.