OpenP2P.com    
 Published on OpenP2P.com (http://www.openp2p.com/)
 See this if you're having trouble printing code examples


A Conversation with Bill Joy

by Tim O'Reilly
02/13/2001

Fortune Magazine calls Joy, Sun Microsystems' chief scientist, "The Edison of the Internet." Joy is a cofounder of Sun and a member of the Executive Committee. His work on BSD Unix and Berkeley networking qualifies his as one of the founding fathers of both Unix and the Internet; work springing from his research group at Sun led to Java, Jini, and various networking technologies yet to be announced.

Joy keynotes the O'Reilly Peer-to-Peer Conference Thursday, February 15, "From UNIX to Java to XML to Peer-to-Peer."

Tim O'Reilly: You've been talking about peer-to-peer for a long time, and I know you're still in stealth mode on some new projects you're working on, but I'm wondering whether you have anything that you're ready to unveil?

Bill Joy: Well, Mike Clary and I have been working with the idea of connected computers since the early '90s. In 1992, I gave a talk at Esther Dyson's conference that looked forward 10 years - which isn't very far in the future now - about having a quarter billion connected mobile professionals each carrying several devices with them. So we've long been concerned that software be architected in a way that would allow you to live with those devices. Having that many devices creates a nightmare because they all have to be managed and found and addressed and named and so on. We just couldn't imagine that the devices would be as complicated as conventional systems. We also felt that they had to be more reliable, so we took some early steps with Java to make things simpler and more modular. I think we've had good success with that. We also brought out the Jini technology with the idea that devices need to find each other dynamically.

Related Articles:

Tim O'Reilly's Guide to the P2P Conference

Code + Law: An Interview with Lawrence Lessig

A Directory of Peer-to-Peer Projects

Crudlets: Making Peace Between Extreme Jini and XML Viewpoints

Remaking the P2P Meme


More from the OpenP2P.com

Now we believe that the kinds of things people are calling peer-to-peer are part of a set of technologies to deal with these same problems. Of course, there's the problem of coming up with any sort of business model, especially in the current market environment, but we believe it's an appropriate area to invest in at this point. Sun's always had a very long-term approach.

O'Reilly: I think peer-to-peer is part of a much bigger movement in the world of networking, one that really caught on with all the buzz around Napster. Napster woke everybody up to the idea that the issue wasn't just a matter of centralized vs. distributed computing, but it was somewhere in between. What do you think of Napster?

Joy: I'm a shareholder, but as I wrote in Time magazine, I don't understand how Napster isn't infringing on the rights of the artists when their music is taken without compensation. I don't know whether you saw today's Dilbert cartoon, but Dilbert says, "I created software that makes all copyrighted work on the Net available for free." The second panel says, "Wouldn't that destroy all forms of creativity and throw us into a depression?" The third panel says, "Yes, but it's very neat."

I think the big appeal of Napster was that people could get music easily and that it was free. I think we need the "easily," but I don't see how people's work can get taken without compensation. I understand it's very popular, but we do have to have a better policy. I think the Napster people recognize that. I'm going to be working with Senator [Orrin] Hatch [R-Utah] on the Senate Judiciary Committee to try and look at some of these issues and come up with better public policy so that we can encourage innovation but also find a happy medium here. It's not going to be easy, but not to try is not acceptable.

O'Reilly: Can you say more about possible solutions?

Joy: I think that the copyright laws need to be enforced, and maybe they need to be changed. We need an enforceable digital-rights management scheme or else we will do severe damage to the book industry, which is the one that I'm most concerned about. Books are the best bargain in the world. And perhaps only if we go through taking an industry apart by having widespread copying for free without compensation, we'll realize in the end what we've thrown away. Hopefully that won't happen. The reading devices fortunately are bad enough that hopefully the newer ones can have reasonable rights management software in them.

O'Reilly: What do you think about Larry Lessig's concern that when we go down the path of strong rights management that we will end up in a situation where we lose some rights that we've taken for granted. For example, the first sale right on books or the ability to redistribute portions.

Joy: Exactly. The reason I'm working with the people at the Senate is that you clearly would like to be able to put the e-books in libraries and have people check them out, and give the book you have to your friend, and we have to find workable mechanisms within the context of the rights management for socially acceptable solutions to that - I mean which should account for the fact that the consequence can't be that everybody gets everything for free, because then it will destroy the ecosystem. You can't say, "This is really neat," but you just destroy the ecosystem. That's too much of a nerd view of the world. What I said in Time is, "Just because it's possible doesn't mean it's OK." Yeah, it's easy to steal stuff, but it's not OK, because it destroys stuff without creating any value in return. I mean the fact that we can easily get access to music is of no use if the music industry falls apart.

O'Reilly: Isn't that somewhat alarmist? The fact is there are certainly studies that show that people are buying more music as a result of free sampling.

Joy: I'm more concerned, as I said, with the book industry.

O'Reilly: Yeah, well I'm a publisher and I'm not concerned about that one.

Joy: I know you aren't. And people also weren't concerned that the market was going to go down when the Nasdaq was at 5000. People's ability to see forward is very limited. People generally assume that tomorrow will be like today, and it's just not the case. I mean this technology is transformative enough that we could have a big problem, and if we don't take steps before we have the problem, we won't be able to take steps when we have the problems.

O'Reilly: Well, that's certainly true, but what about software? I mean software has been freely copyable now from the beginning, and we don't have that problem.

Joy: Well, software is a safe harbor that's morphing into a service. People don't want to install and manage software on their machines. They want someone to do it for them. You can steal software on an individual basis. It's very hard for an institution to steal a service, or in fact to deploy software that implements a service on a large scale. So that largely solves the problem. The personal productivity stuff is mostly given away in the context of a subscription or a communication service. You know, mail isn't an application, mail is a service.

O'Reilly: No, I understand, so the point is that there are business models that end up routing around the business-free problem. The fact is Windows is installed on machines through OEM contracts. People sort of take for granted that they just get it at this point.

O'Reilly: But the point I'm making is that given that when we started down the path of software distribution over the Net, it wasn't clear that it wouldn't be freely copied. We had many copy protection wars in the '80s and it ended up not being the problem that the fear mongers articulated.

Joy: Well, it's clearly a problem with music.

O'Reilly: Is it? Aren't we at about the stage with music that we were with software?

Joy: No, it's a problem. It's that the rights of the artists aren't being respected that I think is the problem. And with CD writers and MP3s and Napster, the artists have lost control of the uses of their recordings. In a way, then, whose financial viability long-term is unclear? So I think we need to take a good hard look at how we are going to do this and come to a consensus. We're going to have a scheme that's workable.

We do the same thing with the broadcast spectrum. There are frequencies in the air and people don't make devices in general that can transmit and receive and just jam - or else as a society the whole communication system would break down. That's essentially a social contract and we agree that it's quite easy to build a radio that transmits and receives on any frequency, but in practice we don't do it and we enforce those laws and the society benefits. And I think the same thing can be true for music and books. The fact that they're distributed electronically doesn't change the fact that we need to have an agreement as to who owns what and how it's protected.

O'Reilly: Yeah, that's fair. Let me move on to this whole question of wireless and the wireless spectrum. It raises an interesting question of standards. One of the things that always has appealed to me about Unix is this idea that there were a few simple rules, and once you have those rules, people could write programs that work together. And it seems to me that part of what we're lacking in the peer-to-peer space so far is that sense of what are those minimum standards that a program needs to follow so that it will work with other programs? Do you have any thoughts on that topic?

Joy: It's very difficult to get people to agree.

O'Reilly: But we did it with Unix and we did it with the Internet.

Joy: Well, there weren't very many people.

O'Reilly: That's a good point.

Joy: People just generally like to disagree. One thing I would say, though, about peer-to-peer is that the real trend here is optical networking. It's going to provide us with almost unbelievable bandwidth. You know, to the extent that it's optically switched, the photons really do go in one end and drop out the other. It's not really even packet-switched; it's circuit-switched. And that provides you with what you might call cross-sectional bandwidth. You know, the sum of all the point-to-point bandwidth is just huge, and that provides an opportunity for connecting machines in a way that is much more powerful than they have in the past.

Gordon Bell used to say any two connected computers, if they're connected with a tin can, or two guys in Morse Code, that makes a parallel computer. But obviously the economics of the parallel connection affects the viability of the algorithms that you can run, and things like SETI@Home, which are embarrassingly parallel, work quite well, but with the kind of optical bandwidth we see, to the extent you can tolerate latency, you'll have as much bandwidth as you want.

You're not going to repeal the speed of light in the near future. You're going to have a latency issue, but you won't have any real bandwidth constraints. This has enormous implications: It helps things to become a service, and it makes it possible to cobble together machines to do certain problems and to replicate things real easily. It affects the whole economics of peer to peer. It's a strong wind at the back of this kind of distributed architecture.

O'Reilly: When you say "if things become a service," I'm assuming that obviously there will be services that come where people are converting existing software into services. They're going to be new services, presumably Napster will try to offer itself as a subscription service. But how are you going to find all these services? What do you think about things like UDDI as a stab in that direction?

Joy: Categorizing and finding things is a problem that's just vexed philosophers for thousands of years and well into some of the craziest thinking of the 20th century. It's not easy to name and categorize things, and no single method of doing that will be sufficient. You'll need things at different levels of abstraction and you'll need some things that machines can do, some things that humans can do. Sometimes people are involved. Everything cannot be described as a bunch of predicates.

O'Reilly: Sure, that's fair. But you can still get something useful. Both Yahoo and Google I find work pretty well for their respective uses, and presumably we could do something like that for services if we start thinking about it.

Joy: It may be very difficult to say, "What I want to do is to interconnect these parts." With Jini we said, "We're going to describe the parts as Java types," because in the end the actions and the data formats that they're going to interconnect with have to interoperate. That was basically the equivalent of designing guns with interchangable parts. For the military that makes a huge difference. But it's still relatively brutal in that it's mechanically engineered, as opposed to biological systems. Biological systems are designed in a way that is more tolerant of misalignment. Things in an engineering sense have to be machined to be very precise. But when you try to make parts that are machined that are more biological, you fall off the end of computer science, basically. We don't know how to do that yet. We don't know how to describe systems in a more flexible way.

O'Reilly: So what do you think about .NET?

Joy: I don't know, they had to do something. It's imperial overstretch. It's just way too much. It's a top-down design, where they weren't even clear - the problem is they need a strategy, not ... the goal is total world domination and they invented something really complicated and messy.

O'Reilly: So SOAP and XML-RPC - things like that - are in some sense relatively simple. Do you see them ...

Joy: But Java and linking together the data types solves this component service composition model using programming language technology. XML doesn't because it's still just data. You still have to have a type system to plug the things together and essentially, dynamic linking, and you don't find that in XML just by itself. So you need Java and you essentially need what Jini does - whether you're hooked together with Jini RPC or an XML-formatted RPC is really kind of irrelevant. You still need the moral equivalent of dynamic linking if you're to have rich things that connect to each other. People will eventually realize that you need to do something like Jini.

O'Reilly: I wouldn't necessarily disagree with that. On the other hand, I would argue that from a pragmatic point of view, systems that don't have all the features often beat systems that do. You know the Web was sort of ...

Joy: Well, but either you can compose components with behavior or you can't. It's like the evolution of multi-cellular creatures. You can go along with single-cell organisms but at some point you will come up with a multi-cellular body plan. And you either can do it or you can't. And the problem is that without the ability to plug together behavior, you're basically stuck in these single cellular things. You end up with 1,000 different XML-based thingies that don't ever really compose to do anything together. You don't have composable things because you don't have the algebra to put things together.

I think WAP is an example of a similar problem. Why did WAP fail? Because it's boring, and it's boring because it's static, because it didn't have any behavior. The screen is small and there's no way to really do much of anything dynamic. And so what you needed is downloadable behavior. You need basically a scripting language or Java or something in the handset to make it interesting.

I think a similar problem here is XML. Yeah, you can do a few little things, but you're going to quickly run into the fact that you need behavior, not just data formats, because otherwise everything is too static and brittle. As long as there's no alternative, it's fine, but then you quickly discover things get to be kind of messy.

O'Reilly: I'm not sure I agree with you there. I think you can in fact ...

Joy: I know. The market doesn't agree with me, either. We'll come back in five years and find out.

O'Reilly: Well, but is it really either-or? There really isn't ...

Joy: Yes, I think ultimately these data-driven things will prove to be unsatisfactory. If anything, what we need is procedural component things plugging together using a more biological metaphor rather than -- Java is an engineered connection and what we really would like is some sort of constraint-based list-like connection which is, you know, rather difficult. We really wanted something that's beyond the state of the art, even goes beyond Java to do things in a much more organic-biological kind of way.

O'Reilly: So is there anything else like that you say we're missing now that we're going to be kicking ourselves 10 years from now?

Joy: I think in particular there are a couple of things going on here. One is I don't think we're ready for the explosion of optical bandwidth. I think we really still have failed to deal with the manageability problem when you have lots of these devices. The industry just hasn't done a good job of taking responsibility for making them easy to own and to use. We've tried with Java and with Jini. I wish we had made more progress on the usability side. I think people haven't recognized how important this is, to have really reliable software in individual devices. So that's a coming embarrassment: in my opinion, the continued use of unreliable languages in a lot of these devices.

O'Reilly: You're keynoting at our Peer-to-Peer Conference. What can you tell us about what you're going to be talking about?

Joy: I can't.

O'Reilly: In other words, people have to come to the conference to find out?

Joy: Well, no, I mean we're going to be as upbeat and talk about as much stuff as we can talk about, and we're doing stuff in an entrepreneurial style. We hope to be a player in this space, but a very supportive one. And so I think our efforts are the appropriate kind of efforts for a company of our size who can make a commitment that people can depend on. We will decide what we think is right and stick to it, like we've done with Java.


Tim O'Reilly is the founder and CEO of O'Reilly Media, Inc., thought by many to be the best computer book publisher in the world. In addition to Foo Camps ("Friends of O'Reilly" Camps, which gave rise to the "un-conference" movement), O'Reilly Media also hosts conferences on technology topics, including the Web 2.0 Summit, the Web 2.0 Expo, the O'Reilly Open Source Convention, the Gov 2.0 Summit, and the Gov 2.0 Expo. Tim's blog, the O'Reilly Radar, "watches the alpha geeks" to determine emerging technology trends, and serves as a platform for advocacy about issues of importance to the technical community. Tim's long-term vision for his company is to change the world by spreading the knowledge of innovators. In addition to O'Reilly Media, Tim is a founder of Safari Books Online, a pioneering subscription service for accessing books online, and O'Reilly AlphaTech Ventures, an early-stage venture firm.


Discuss this article in the O'Reilly Network General Forum.

Return to OpenP2P.com.

 

Copyright © 2009 O'Reilly Media, Inc.