In the seven years since its introduction, Java has made rapid advancements into the enterprise. In the burgeoning field of Web services, Sun Microsystems Inc.s Java-based technology is in tight competition with Microsoft Corp.s .Net initiative for the heart and soul of developers. James Gosling, a Sun vice president and fellow, and father of Java, spoke with eWEEK Senior Writer Darryl K. Taft over the summer from Goslings Palo Alto, Calif., office about Web services, the future of Java, open source software and its impact on the software business, and Suns success in the tools business.
eWEEK: I want to talk a little bit about whats close to you, what youve been dealing with in the lab. Can you talk about what you are working on?
Gosling: A little bit. Its a research project. Theres not much reality there, but Ive been looking into issues around developer tools, working with the NetBeans group. And Ive been mostly working on analysis and transformation tools based on having a complete semantic model of the application.
eWEEk: What do you mean by that?
Gosling: Its one where I have the application as a database and then can do analysis on it, though its not exactly a database, its more data structure.
I keep sort of an annotated parse tree, which means that instead of the way that most tools look at programs as a series of lines and text, with punctuation and letters, left to right on a page, top to bottom, I actually have all of the different entities all related so I can do things like find all the places a particular variable was used, trivially. If I want to rename a class, thats a trivial operation. Youre including accounting for changing that name every place that its occurred. Its easy for me to do things like if youve got any such variable and you make it private, then go and find all the places where that variable is used, turns them into instantiations of access or methods, and if the access or methods dont exist then construct them as well. Thats not a difficult thing to do in my experiment test bed.
Its still kind of early. Its still a research labs project. The project is called Jackpot.
: Interview With James Gosling”>
eWEEK: What do you think Java needs to become truly pervasive in the enterprise? Or do you think its already there?
Gosling: Its kind of hard to imagine it getting any more pervasive than it already is. Its just used all over the place. At this point, about the biggest thing that could happen is for people to be re-writing all their dusty deck COBOL code. And a lot of that is actually happening.
In some sense weve been terrifically successful in the enterprise. And theres all the sort of usual competitive stuff to be there and duke it out with Microsoft, but for the growth areas and the places that are going from where we are today and where we have been as strong or where the market is going is sort of elsewhere and lately the prime new thing has been whats going on in cell phones. But thats sort of a strange one because its sort of everywhere except North America.
eWEEK: Ive heard of Microsofts developer tool rating going up at the expense of Java and Java-based tools. Do you see that as the case?
GOSLING: Its difficult to answer that without knowing exactly what is being measured. One of the things thats difficult to measure about the developer tools world is that in the Microsoft [Corp.] developer tools world, there is essentially one tool. In the Java world there are dozens of them. And I dont know how you compare all of the different tools from all of the different vendors to the Microsoft tool.
One of the really telling points for me between the two is that even when people are in the Java world, they get to go shopping for development tools. And for lots of different issues, there are lots of different tools that fit them. Theres no one size fits all.
In the Microsoft world its one-stop shopping, for all the sort of good and bad that that means.
eWEEK: The one thing thats been curious to me is that Sun is the inventor of Java and yet your tools have never really led the way. The same situation exists in the application server market.
Gosling: Were trying to do better there, but for us its been a combination of two things, one being Microsoft is the most profitable company and they can outspend us on anything by 10 to one. But the more important thing for us is that weve actually concentrated a lot more on the platform technology and on supporting third parties and on creating an outside industry.
Yes, we would like to be making some revenue from software, but by and large weve ended up putting more of our emphasis on building the infrastructure underneath it all so that it is really industrial strength and robust and can support a large community of users and providers.
: Interview With James Gosling”>
eWEEK: Whats your stance on the GPL (GNU General Public License for open source software)?
Gosling: There are all of these open-source licenses out there. They pretty much all have their own political agenda. Sun has its own. The one we use for Java is really about compatibility. The GPL one is, I find, rather odd because it has this string socialist agenda that basically says intellectual property is bad. I think its perfectly fine for people to say, “I want to give my stuff away for free.” When it turns into, “Nobody else should be able to make profit off of intellectual property,” I start to have a hard time with it. And the core of my hard time with it is its sort of like a physics argument about conservation of energy. It takes an awful lot of energy to produce software. Somehow or other that has to be matched. The energy that comes out as software, somethings got to go in—if only to pay the salaries of the people who are working on the software. And you can have all kinds of indirect models and all the rest of it, but somehow or other it has to happen. Thermal dynamics and energy conservation laws have been absolutely strong, and theyre that way in economics as well.
And the GPL version of the universe, where everything is free and essentially no software engineer can get a job doing software engineering because theres no money in software engineering, I sort of have a hard time with.
I have a certain sympathy about it because I think that there are ways in which the software industry gets really out of control. And intellectual property can be abused, but theres a midpoint somewhere in there that is much more balanced.
eWEEK: What do you expect next for Java?
Gosling: Well, there are a whole lot of different directions. Certainly the enterprise stuff is going to carry on and continue to be a very big thing. The interesting bit for me these days has been whats been going on at the edges and getting all the different kinds of devices becoming participating parts of the Internet. Thats things like cell phones, which are pretty much everywhere but North America, to more interesting devices. People are increasingly putting things like gas pumps and light bulbs and automobiles and random other things on the Internet. People do some pretty cool things.
eWEEK: The fact that Sun now has one person entirely in charge of software, what does that say to you? Will it mean anything different or will it mean just business as usual?
Gosling: Its sort of a bit of both. The company has really been solidifying the three legs of our software effort: Solaris, Java and the product world—or the software we sell for money world, the thing that used to be called iPlanet that is now Sun ONE [Open Net Environment]. And the company has had very heavy commitment to all of those for quite a long time. Weve been putting a lot into Solaris for the entire lifetime of the company. And Javas been getting pretty central attention for almost 10 years now. And Sun ONEs internally been a big thing for a couple of years. And having them all together is something of a new thing and it should be interesting to see how that goes out.
A lot of what we would like to do is try to exploit the synergies between them, like how can we do things like improve Solaris to support Java better. And Java is in kind of a unique position because we have a pretty heavy obligation to the community to maintain fairly strict fairness across platforms. So that adds a layer of complexity. We often divide our Java work into two camps. Internally were referred to as church and state. The church side is the people who are trying to service the industry, and the state side is the people who are allowed to charge money.
The thing that has been changing has been Suns increasing focus on software, and increasing commitment to software.
eWEEK: I tried to avoid the obligatory Microsoft-vs.-Sun questions, but has there always been support for SOAP [Simple Object Access Protocol] within Sun or did Sun decide to go along grudgingly?
Gosling: As always, these things are a mixed bag. We were really the original instigators behind XML, and weve had a string commitment to XML for quite a long time. SOAP—which is kind of taking XML, gluing it together with HTTP and calling it a remote message passing system—is definitely a Microsoft thing. And it has its good aspects and its bad aspects.
At Sun, we tend to evaluate these things technically and come to a technical opinion. And then theres also the competitive thing. And in general we try to support our customers with what theyre interested in. And one of the things that has always been very important for Sun as a company is interoperability with everything. And since Microsoft was pretty clearly doing SOAP pretty heavily, we had to be able to interoperate with that. Since they used XML, which is fairly near and dear to our hearts, it wasnt all that big a deal.
There are clearly technologies that Microsoft has come up with that we have thought were pretty horrific, like the whole Hailstorm thing. We were all pretty appalled at that. But that wasnt really a technology comment, that was a business plan comment. And as near as I can tell, just about the rest of the world who scratched that thing discovered there was something that they really disliked underneath.
: Interview With James Gosling”>
eWEEK: Has the software development paradigm had to shift as more companies start to write Web services? It seems like more and more companies are starting to make this a part of their pitch.
Gosling: The way that I look at it, people have been building Web services under different names for 20 or 30 years, so there are a lot of protocols that people have used to build communications between components and across networks, and theyve been in pretty wide use for quite a long time. The distinction that SOAP brings to the party over CORBA and XML, some of them are interesting, but I wouldnt call any of them life-changing.
One of the descriptions of XML is that it is HTML for a silicon-based life form. Namely its this observation that weve been building distributed systems for years out of using CORBA and RMI [Remote Method Invocation] and all of that. But as a matter of common practice, people havent been doing a lot of interconnection between disjointed organizations that also are distributed. And weve had these facilities available on the Web for years through HTML—things like auctioning and booking reservations.
What people have done when they want to write an application that finds things on an auction service is theyve essentially screen-scraped the HTML and thats worked perfectly well. Its awkward, but XML is really. One way of looking at XML is a way of cleaning up that process.
So I dont see how that changes everything. Theres certainly a mindset and a business proposition people have to answer about—do you want to have what services you are offering on the Web available to other organizations available through something other than the Web? So do you want to have the ability to have applications that other people write talk to your airline reservations or auctioning or online payments or whatever? And I think the real hard issues there are the business ones.
Do people want to? I dont know. A lot of companies see their Web pages projecting a lot of their identity. And one of the complaints Ive heard about Web services is it would cause people like Travelocity or Expedia to essentially submerge their identity. And I think its going to be an interesting social experiment to see what people do.
In terms of developing and building distributed systems, boy, thats been around for years.
eWEEK: Thats just it. You get one side or the other. One side says its been around for years, its just a rehash of things that either werent ready to go earlier or failed. And on the other side you get companies playing it like mad.
Gosling: I wouldnt say that the other messaging systems have been failures, theyve been resounding successes. There are literally millions of developers out that that have written applications using CORBA and RMI and a variety of other things that work perfectly well.
(Editors Note: This story has been updated since its original posting to specify the location of Goslings Palo Alto, Calif., office.)