Download the authoritative guide: Cloud Computing 2019: Using the Cloud for Competitive Advantage
As one of the developers of the original Java programming language and "Father of Java," James Gosling is easily a cyber celebrity in the open systems community.
Since creating Java and implementing its original compiler and virtual machine, the language has blossomed into an environment with a global install base of 5 million with more than 6 million Java developers.
There is strength in numbers, but Java's future -- as well as the long-term acceptance of NetBeans and other Sun products -- depends on how well these technologies play in the enterprise market and adapt to changes in the open systems landscape.
Gosling recently talked to InternetNews.com about open systems, collaborative systems and even that little company called Google.
Q: Why is there so much activity right now surrounding the area of open source, especially in the enterprise?
Open source is somewhere in between a marketing buzzword and a religious movement. For me, the piece about it that is important is community engagement. Collaborating with our customers and not treating them like animals at which you throw meat, but people that you work with and collaborate with -- particularly when you are doing sophisticated enterprise software.
It's asking them what the need and why they need it, and if they usually have a proposal about how to solve them. There are actually people on the outside who want to solve the problem for us and have the code. A lot of our customers and the people we work with are just really smart and really good people.
Q: I imagine the customer demographics and mindset have changed a lot as work tactics become more collaborative and the dynamics of the supply chain change.
We're a supplier to other technology companies. So the people who consume our stuff are not so much the enterprise endpoints as the people who build the software for them. We don't really build enterprise apps; we build frameworks for enterprise apps. We don't, for example, build cell phone applications, we build underlying infrastructure for people who do build cell phone applications.
Q: But even that activity has changed a lot, because a lot of the underlying structure does have applications or applications modules embedded on both the server and the client side. It seems to be a lot more complicated.
Well, it's very applications specific. For some things, you end up doping some sort of a split between local and remote. A lot of these apps on cell phones need to work on networks that are a little shaky, and they are slow. Certainly, in North America the networks are sadly slow, and in Europe they are expensive.
Q: So the solution for many developers is to build applications that can deal with network inconsistencies and let you continue working even if you are offline. Does this make it any better in terms of dealing with these networks?
It's getting better, but it's sort of like the iPhone solution to just write Web pages. Unfortunately, there are all kinds of apps you just cannot write that way. You really can't do a decent game as a Web application. You can't get the kind of responsiveness that you need. Anything that requires tight user interaction just doesn't work as a network application.
Q: Is this a problem as we put more emphasis on collaborative applications and social networking environments in the enterprise?
It depends on what you are doing. There are things that kind of look like chat rooms on steroids, and then there is simpler much more mundane stuff like filling out an expense report and filling out tax returns. There are some pretty interesting collaborative applications, though, like workforce scheduling apps.
Q: Is a lot of this really neat stuff still under wraps and in development?
No, there is a lot of production stuff but it's actually remarkably hard to find it in the U.S. because the U.S. is such a third-world country.
Q: In terms of the networking in infrastructure?
In terms of the mindset around networking. It's really frightening to compare the U.S. against other places like Asia. There is this rather parochial view that the U.S. is the leader and that hasn't been the case in quite a while.
Next page: Is the U.S. open systems movement more of a revolution than an evolution?
Q: Does that same third-world mindset apply to open systems as well? Is the U.S. open systems movement more of a revolution than an evolution?
The real fervent push for open system really got started in Europe. It originated in North America, but the real force behind it really got strong in Europe. A lot of it is about the user community banding together to do the right thing when suppliers don't do the right thing.
The Apache Web server, for example, was a whole lot of people who built Web sites and got together because none of the Web server providers were doing the right thing.
Q: Are the Europeans a bit ahead in terms of these grassroots efforts, as well? Is Europe faster to adopt new techniques and technologies?
It almost feels like the U.S. took capitalism too far. It's kind of like we compete ourselves to death, so instead of having one good cell phone infrastructure, we have half a dozen really mediocre ones.
A lot of the stuff that has worked well in Europe and Asia is entirely because it has been a government-regulated thing. In the case of NTT DoCoMo, for example, when it first got started it was a semi-regulated, quasi-government monopoly thing. They had to figure out how to make money off of the bits, so they pushed hard to focus on the bits.
A U.S. company, on the other hand, would not want to marginalize it just as a bit-pipe, but would want to be a full-service provider and then try to get into things in which they really didn't have any corporate confidence.
Q: A lot of high-tech companies in the U.S. seem to be moving from a decentralized computing and networking approach back to a more centralized architecture. This would seem to be better from a security standpoint, but does this have any adverse impact on the open source development?
I don't think it makes a whole lot of difference. Certainly, manageability and security are a lot easier when it's more centralized. A lot of open source is about building large clusters, which works really well in a centralized kind of way. A lot of the issues are about the ebb and flow of network bandwidth. When network bandwidth isn't great, you kind of have to put as much out to the edge as you can.
As network bandwidth gets better, it actually works to make stuff more centralized. There's really no one answer that makes any sense without knowledge of the context.
Q: Are software development and development concepts changing to any great extent as we move more toward pervasive and higher speed networks and software as a service environments?
Well, we've kind of been there for quite a few years now. Software as a service hasn't been a technology problem, but it has been a business-model problem. We've been talking about doing software as a service for close to a decade I think.
Q: It's a tough sell?
Yeah. It's a tough sell when you ask if the software as a service that you sell should be external or internal. Do the external providers actually do a good job?
Q: In terms of the technology and network infrastructures, will it be easier for open source development once technologies like WiMAX become widely available?
As networks get better, it is certainly easier to deploy services centrally and to do software as a service, and that's going to work for some things and not for others.
If you have to do expense reports then you don't need a lot of bandwidth for that. In terms of videogames, the network is important if the games are collaborative. However, with most games, most of the application is close to you and no network change is going to make a big difference. So, it's a pretty uneven landscape.
Q: Java has been around for a while now, but how is it changing to adapt to new technologies and dynamics in the enterprise market?
A lot of this ties back to the whole open source effort. We put a lot of emphasis on working collaboratively with the development community, and Java has gone off in a lot of directions form smart cards to supercomputers and there is a great diversity of applications that people build and the interconnect.
The word "application" in my mind stopped making sense a long time ago, because these things have become pretty sophisticated assemblages of components that run here, there and everyplace else. You really have to think of software as an ecology and not just deconstructed components.
Next page: What is your impression of Google?
Q: So how do you sell it through channels and work with partners and developers to offer it as a product or collection of products?
It's hard to know. I don't think the notion of a developer community is going to go away. Certainly, the depth of the developer community has been increasing pretty dramatically. There has always been an uneasy relationship between the engineering side of software and the business side of software. A lot of software engineers are somewhat depressed because technology has not been the leader for some time. The hard problems are not technology.
Q: What is your impression of Google and its potential impact on the market and Sun's efforts?
They're having an unbelievably huge impact, and in many ways I love them to bits. I just hope they don't self-destruct. Their hiring these days just feels crazy -- more like a cancer than growth. They've really got one business, and that is advertising. Part of me feels really deeply disturbed that the killer app for the Internet is turning out to be advertising.
People talk about how wonderful being able to search the world's knowledge is and how wonderful being able to connect to people through things like Facebook is, but at the end of the day all that is turning out to be just a scam to sell advertising.
Q: Do you think part of the problem may be that the whole area of collaboration is hot right now and companies may be pushing that concept as a solution instead of an enabler?
Yeah, and just what is collaboration for? There are all kinds of collaboration facilities for enterprise software developers, for example, who are not geographically integrated to work together.
Then there are collaborative tools for college kids who like to go out on the town and party. That's actually pretty cool and you can make money from it. You're not going to sell that, but you may make a lot of money by putting advertising next to it. You just have to figure out what kind of economic model is best.
It's really the long-tail argument, that the number of big communities is actually very small, but the number of small communities is really big.
Q: So how does a large company like Sun deal with the concept of micro-communities and long-tail marketing when it really levels the playing field and dramatically increases the competition? Just how any ways can you see a product?
For us it's mostly the stuff we sell doesn't solve any particular problem. The stuff that we sell is more like clay that people mold into whatever they happen to need. We don't build much of anything really that is focused on any one community. But a lot of stuff is applicable to many communities.
We've got things identify management software that people use for all kinds of stuff, but we don't have identity management stuff for people who are deeply involved with a particular community of users.
Q: So Sun prefers to be the technology that is way inside and leave the focused stuff up to partners.
We're definitely a company that does deep subterranean plumbing. A lot of our intellectual property and a lot of our skills sets, and the way are sales force is built, is based on doing this kind of subterranean technology.
This article was first published on InternetNews.com.