[BITS] The early read on Sun's Jini

Rohit Khare -- UC Irvine -- 4K Associates -- +1- (rohit@bordeaux.ICS.uci.edu)
Wed, 22 Jul 1998 16:26:55 -0700


Sigh. I'm really upset this post dissolved into the ether. I wrote Jini
up last Friday based on the articles included below, and had all kinds of
insightful ideas on how Jini may or may not be like a Munchkin. It's
certainly bold stuff, doing what so many thought possible but wouldn't
have tried -- much like Java itself.

There were also bits based on discussing long-term research with Jim Waldo,
a Jini architect. Instead, I'm pissed as all hell to realize the entire
email never happened. Not on FoRK, not dist-obj, not even internal UCI mail.
It's not in any emacs temp files, nada.

So perhaps the moment will come again to wax philosophical, and then I shall
write. For now, I merely want to archive the early buzz and pull out two
quotes, one for Henrik and one for Roy and Robert and M:

Bill Joy: I'm very interested in agent systems. A lot of people in
computer science are looking at the theoretical properties of agent
systems. But the funny thing is, the marketplace tends to run ahead of
understanding. It tends to try to deploy things before we completely
understand how they work. Take the work that General Magic did. They
postulated a new family of agent-based devices and tried to make them
commercial. For whatever reason, that didn't work, but I'm not sure
people have worked out either the social or technical properties of
agents. This summer I want to research what other people think about
agents, both commercially and in research.

Bill Joy: The Open Source theorem says that if you give away source
code, innovation will occur. Certainly, Unix was done this way. With
Netscape and Linux we've seen this phenomenon become even bigger.
However, the corollary states that the innovation will occur
elsewhere. No matter how many people you hire. So the only way to get
close to the state of the art is to give the people who are going to
be doing the innovative things the means to do it. That's why we had
built-in source code with Unix. Open source is tapping the energy
that's out there. Netscape says customers fix the bugs faster than it
can.

============================================================================

JiniTM

Sun's JiniTM research and development project, inspired by Bill Joy,
dramatically expands the power of JavaTM technology. Jini technology
enables spontaneous networking of a wide variety of hardware and
software - anything that can be connected.

Jini allows people to use networked devices and services as simply as
using a phone - plug-and-participate via a network dialtone. The goal
of Jini is to dramatically simplify interaction with networks.

Jini takes advantage of Java technology. Jini consists of a small
amount of Java code in class library form and some conventions to
create a "federation" of Java virtual machines on the network, similar
to the creation of a community today. Network citizens such as people,
devices, data, and applications within this federation are dynamically
connected to share information and perform tasks.

Jini Technology in the News

To learn more about how the world is welcoming Jini technology, check
out these news articles:
* Sun Product Suggests Home Supercomputing from the New York Times
(a free online subscription is required).
* Sun Introduces Jini from the San Jose Mercury News.
* And, pick up a copy of the August, 1998 Wired magazine, which has
Sun's Bill Joy on the cover and an extensive article about the
Jini technology inside. Also, read the interview with Bill Joy,
"Creating One Huge Computer," and news summary of the Jini
Project, "Sun Gettin' Jini Wid It," online in Wired News.

To Learn More

Check this page Monday, July 20th for a closer look at Jini
technology!

============================================================================

July 15, 1998

New Product From Sun Microsystems Allows Supercomputing at Home

By JOHN MARKOFF

S UNNYVALE, Calif. -- For more than 25 years, computer scientists
have been working to develop a technology that would put the
processing power of a supercomputer in the hands of average users.

The essence of this technology, known as distributed computing, is
the ability to divide a large set of computer instructions into
multiple small parts, each of which is processed by a different
machine within a network of computers.

But few people have the need or desire to turn their laptop into a
supercomputer. The computer industry is betting that a far more
popular use for distributed computing will be its ability to endow
consumer appliances -- from telephones, televisions and stereos to
kitchen appliances and cars -- with an infusion of borrowed
intelligence by attaching them to a computer network.

On Wednesday, Sun Microsystems will unveil the first consumer
version of this technology, a product called Jini, which uses Sun's
Java programming language to harness the power of potentially
millions of computers, ranging from giant mainframes to tiny
palm-sized devices.

"We now have all the ingredients to build a distributed computing
fabric which approaches science fiction," said David Farber, a
University of Pennsylvania computer scientist who pioneered
distributed computing in 1971. "You will be able to sit with your
laptop, and it will be able to reach out across the network. And
for the moments you need the power, it will become the largest
supercomputer in the world."

It could also shift the balance of power in the computer industry.

At a time when worried governments on three continents are
struggling to restrain Microsoft Corp.'s iron grip on computing and
its ambitions on the Internet, distributed computing could level
the playing field by shifting growth in high-tech industries to the
millions of consumer appliances that increasingly contain powerful
embedded processors.

Indeed, Microsoft itself is known to be working on a system similar
to Jini, known as Millennium.

But Sun, among Microsoft's fiercest competitors, has an early
advantage in this race because of the nature of its Java
programming language, which is designed to move chunks of computer
code from machine to machine.

Jini uses this ability in ways that allow computers and other
devices to cooperate, sometimes by sharing instructions or
information, sometimes by actually dividing a program into parts
and spreading the computation work across several computers.

In addition, Java has already achieved widespread distribution --
thanks, in part, to Microsoft, which ships it with its Internet
Explorer browser for navigating the World Wide Web and with Windows
98. Although Sun is suing Microsoft for making unauthorized changes
to Java, the Microsoft version of the language will support Jini.

If all goes according to Sun's plans, over the next 18 months, a
number of companies that make computer hardware and consumer
gadgets will begin incorporating Jini, allowing each of these
devices to talk with each other and to share processing power.

Quantum Corp., a disk-drive maker based in Milpitas, Calif.,
intends to commercialize the Jini technology to make drives that
have built-in office network connections. Once these drives are
plugged in, all the computers in a local network will be able to
use them immediately.

"There is definitely going to be a dramatic leap in ease of use,"
said Paul Borrill, vice president and chief architect at Quantum.

Over the next few years, advocates of distributed computing
predict, today's desktop computer will evolve from a
self-sufficient machine that must hold all the memory, storage and
processing power it needs for any job into a social machine that
will automatically interact not only with other computers but with
myriad consumer devices.

The vision of distributed computing has not escaped Microsoft,
which potentially has the most to lose from such a change since it
would make the operating system incidental to the power and control
wielded by a networked computer in a distributed system. For that
reason, Microsoft would hold no obvious advantage over competitors
in marketing a distributed computing technology.

Unlike its competitors and computer scientists, who view
distributed computing as the antithesis of an operating system,
Microsoft prefers to think of it as the operating system of the
future.

In a recent paper on its Millennium product, a Microsoft research
team wrote: "We argue that advances in hardware and networking
technology enable a new kind of operating system to support
tomorrow's applications. Such an operating system would raise the
level of abstraction for developers and users, so that individual
computers, file systems and networks become unimportant to most
computations in the same way that processor registers, disk sectors
and physical pages are today."

Processor registers, disk sectors and physical pages are all
elements of hardware that today are controlled by an operating
system.

But there is a catch to all of this: The technology at the heart of
this evolution is the network, and all the assumptions about the
future of distributed computing are based on the belief that
computer networks will be ubiquitous.

On a large scale, such networks are now being deployed, both by
cellular telephone companies and by computer industry groups
working on new standards for wireless office networks. Once these
networks are available to consumers, beginning later this year, the
stage will be set for a fundamental change in the computing world.

It is the network, which can range in size from a group of linked
household devices to the global Internet, that is the foundation
upon which the new "meta-computer" will be built.

The network and distributed computing also represent the greatest
threat to the operating system as it exists today.

Until now, of each generation and iteration of computers --
mainframes, minicomputers and personal computers -- has been built
on a foundation of centralized control wielded by an operating
system, a single, monolithic program that performs the combined
role of a traffic cop, butler and secretary.

But the recent proliferation of high-speed and wireless networks
and the melding of computing and telecommunications technologies
driven by the Internet has encouraged developers to proceed on the
assumption that every home, car and other personal environment will
eventually be part of -- and empowered by -- a universal network.

Distributed computing, sometimes known as "ubiquitous computing,"
foresees a world in which millions of small programs, called
objects, seamlessly flit back and forth between tens of thousands
of devices that have been enabled to recognize and be recognized by
the network.

For example, in a world of cars equipped with distributed computing
devices linked by a wireless network, each car would be delivering
and receiving information from every other car, or to and from
aggregated traffic reports, along the route being driven. This kind
of networking could significantly reduce traffic congestion by
alerting drivers to concerns like accidents, congestion and weather
conditions.

In such a world, the traditional operating system, say advocates of
distributed computing, becomes an ungainly encumbrance, sort of
like placing a baton-wielding orchestra conductor at the front of a
jam session of jazz musicians.

Moreover, in such a distributed world, the boundary lines between
individual computers blur as thousands or even millions of
computers are harnessed to particular tasks as exotic as predicting
the weather or as mundane as controlling the heating and lighting
in a building.

"The trend is very clear," said William Joy, a cofounder of Sun
Microsystems and the chief designer of Jini. "We are moving toward
a world in which it will be possible to move software codes that
act as our personal agents between many different computers in a
global network."

Such a transformation goes directly to the heart of the central
issue in the Justice Department's antitrust lawsuit against
Microsoft. The company's executives have argued -- so far
successfully -- that as a result of the company's strategy of
continuously integrating new features into its Windows operating
system, the consumer benefits.

However, the strategy has led to a vast increase in the memory
requirements in the standard personal computer, from 640 thousand
bytes of main memory in 1988 to 64 million bytes today.

Moreover, Microsoft's critics charge that in addition to the
monopoly control this strategy has given the company over the
software market, the operating system's growing complexity has made
its programs increasingly prone to error. In recent days Microsoft
has been facing a growing chorus of complaints about bugs in its
new Windows 98 operating system.

Advocates of a distributed computing philosophy believe that with
the advent of high speed networking it is now possible to achieve
the value of integration without submitting to the vast memory
requirements or the complexity of the Windows operating system.

Modular software design, they assert, makes it possible for each
user to select just the set of applications needed at the current
moment rather than carrying extra baggage.

They envision a computerized world in which human computer users
will be surrounded by a web of hundreds of small computers embedded
in everything from smart cameras to pagers to cell phones, and
handheld computers will exchange messages and data without the
intervention of a centralized master computer.

============================================================================

Posted at 9:51 p.m. PDT Tuesday, July 14, 1998

New Sun technology to extend PC power

BY MIGUEL HELFT
Mercury News Staff Writer

Computer networks could soon become as easy to use as telephones,
thanks to a new technology that aims to fundamentally alter the way
computers interact with each other.

Sun Microsystems Inc. of Palo Alto is getting ready to unveil a new
software technology called Jini (pronounced ``genie'') that would
allow any computing device to connect to a network as easily as a
phone plugs into the wall. If successful, the technology could boost
the fledgling market for connected consumer products, from cell phones
and digital assistants to home appliances. It could also open up the
traditional computer market in ways yet unknown.

In principle, the technology would alter the way networks currently
operate. Now, a few powerful computers act as the traffic cops that
channel data and files between smaller computers, printers and other
peripherals. With the new technology, computing power would become
more distributed among devices connected to a network, making them
able to share each other's resources.

``We don't really know exactly where we are going, but we understand
that significant technologies like this one don't come along very
often,'' said Billy Moon, director of new concepts at wireless phone
maker Ericsson, one of the approximately 30 companies that have tested
Sun's technology. ``I see this is as a majorly significant technical
event.''

``This is outstanding stuff,'' said Paul Borrill, vice president and
chief architect for disk-drive maker Quantum Corp. ``We intend to go
into full commercialization with it.''

Java-based technology

The technology, which is based on Sun's Java programming language,
would essentially let appliances plug into a computer network as
simply as a tape deck and a CD player plug into a receiver. Once
connected, the device would announce itself and tell the network what
it is able to do.

A printer, for instance, would identify itself and give some details
about its capabilities, such as its color quality, resolution and
speed. After that, any device already on the network could use the
printer. Currently, connecting a printer into a computer is much more
cumbersome, requiring a lengthy installation and rebooting of
computers.

Jini is the fruit of a research-and-development project quietly headed
by Sun co-founder Bill Joy over the past four years. Sun says that in
the future, Jini will turn devices connected onto a network into peers
providing services to each other. A disk-drive maker, for example,
could create drives that can plug into a network and act as a storage
service for anyone on that network.

That is precisely what Quantum plans to do, Borrill said, adding that
Jini could open new business opportunities for companies like his.
Disk-drive makers, which currently sell most of their products to
computer makers who insert them into their machines, could now have
their brand visible on the stand-alone disk. They could also offer
valuable services in addition to their products, which have become
commodities.

For instance, Borrill said, Quantum could sell a Jini-enabled drive
along with a similarly enabled backup tape drive and the Java software
to create automatic backups on tape. Mike Clary, project director for
Jini, and one of a handful of scientists working with Joy at Sun's
facility in Aspen, Colo., said even computing power could become a
service, as computers on a network could effectively rent their brains
to other devices.

``It's spontaneous networking,'' Clary said. A device such as a cell
phone could connect to a network and introduce itself, saying whether
it has a color screen, a black-and-white screen or no screen at all.

Based on that description, a service provider could decide what
functions are appropriate for that cell phone and deliver them. Even a
video camera could be easily plugged into a Jini network. The images
captured by the camera could be processed by various service providers
along the network: A surveillance computer would automatically process
the images, a printer could selectively print them and a storage
device could archive them.

Internal bulletin board

Sun's Jini performs its magic through a ``lookup service,'' a piece of
the Jini architecture that acts as an electronic bulletin board
keeping track of all the devices available on the network. It is
Java's ability to run on different types of computers that lets
Jini-enabled devices send their own software code to the lookup
service and receive instructions from others on the network.

Others have tried different, more general approaches to simplify
networking but have not been entirely successful. ``You can't get
there by taking what we have and making it easier,'' said Greg
Papadopoulos, Sun's chief technology officer.

Analysts said Sun was able to address what is essentially a very
complex problem by focusing on one small part. Jini works on top of
existing networking software and protocols and only aims to simplify
connections and interactions between devices. It doesn't address the
more complex underlying technology that allows data to go from one
place to another.

Sun still faces some major challenges. Testing of the technology isn't
complete, and its success, as with most networking technologies, will
be directly tied to its acceptance in the market.

``As a technology, it is very significant,'' said Eric Schmidt,
president and chief executive of networking software maker Novell Inc.
As Sun's former chief technology officer, Schmidt had a hand in Jini's
genesis. ``The real problem it has is that it is not from Microsoft.''
Schmidt said that anyone trying to create a new software architecture
needs a good strategy to outmaneuver the software giant.

Tim Bajarin, president of Creative Strategies, a San Jose technology
consulting firm, agreed, saying that for the ``fascinating
technology'' to succeed, it has to have ``serious'' industry adoption.

Sun hopes that its business plans for Jini will help it spread
quickly. The company plans to offer a free license for the Jini code,
much like Netscape Communications Corp. has made its Internet browser
code free. The company hopes that many companies will adopt the free
technology and make it nearly ubiquitous.

Clary said Sun may charge for a trademark that would indicate a device
is Jini-enabled, but he said details of the technology's
commercialization have not yet been finalized. Besides any revenues it
may get from the trademark, Sun said it will reap its benefits by
delivering the computing, storage and other network services that will
be in high demand if Jini takes off.

``We want to be a technology supplier for the consumer and embedded
world,'' said Papadopoulos. The technology is already in what is known
as beta, an industry term describing working technology that is being
tested for bugs.

Details on the Web

On Monday, Sun expects to post details of Jini on its Web site. The
company intends to incorporate some of the feedback it gets from
software developers and industry leaders into its first full release
of Jini, which it expects by the end of the year.

But several companies, including Quantum, Ericsson, Canon, Epson,
Toshiba and Mitsubishi are already working with Jini.

``This is not going to happen overnight,'' Quantum's Borrill said.
``But it is the beginning of a seed for a new paradigm shift.''

Borrill said he expects the first Jini-enabled products to be
available late in 1999. ``I think you will see a lot of companies
investing in it now, but the marketplace will start flowering around
the year 2000.''
============================================================================

Sun Gettin' Jini Wid It
Wired News Report
12:55pm 15.Jul.98.PDT

Sun Microsystems is ready to deliver on the notion of the "Internet
appliance," making computers and networks as ubiquitous and easy to
use as consumer electronics devices.

The company is expected to introduce today a new software technology
called Jini that will take the guesswork out of plugging a computer
device into a network.

"There's one thing we've all learned from watching Java and the Net,"
said Sun's Jini product manager Mike Clary in a story in the August
issue of Wired magazine. "This can only be an ubiquity play."

Jini promises to make setting up a computer as simple as hooking up a
telephone. Should the plan succeed, Sun (SUNW) will write the next
chapter of network computing, in which distributed computing -- or
processing which is shared across many machines on a common network --
becomes a reality.

Computing power has traditionally resided in both a rich operating
system and a desktop PC. Even when computers in this model are
networked, they operate as islands in the network stream, accessing
applications from the local hard disk to create and edit documents.
The ebb and flow of network traffic is limited to the access of shared
devices, such as printers.

Over the years, this arrangement has led to a bloated operating system
- Windows 98 requires at least 16 MBs of memory - and applications so
larded with features and capabilities that many consumers don't really
know what they do. This model is based on Moores Law, which holds that
computing power will double every 18 months.

Sun hopes Jini will change all that.

"We know Moore's Law will run out sometime around 2010," Sun
co-founder Bill Joy said in the Wired article. "We've been getting a
free ride with Moore's Law."

"We can write worse and worse software, and the machines just get
faster and faster and cheaper and cheaper - and they cover our
tracks," Joy said.

Jini uses Sun's Java programming language to weave together the
collective power and capabilities of devices along a network, be they
a supercomputer or the tiniest hybrid cellular phone/computer. This is
the essence of distributed computing.

On a Jini-enabled network, all devices will become equals that can
provide services to each other. A user who needs some extra processing
power to run a palmtop computer application could borrow it from
another computer on the network.

Sun says Jini will be able to do this through a part of the
architecture called JavaSpace, a type of electronic bulletin board
where devices can go to look up functions available to them along a
network.

For their own part, devices on the network "announce" themselves by
sending information about their capabilities to the bulletin board. So
a device such as a palmtop computer, looking to print a document,
would call up the bulletin board, see the specs for the printer, and
request to be connected to it.

"[Today] if you want to do a transaction, you have to crank up an
Oracle database," said Joy. "With JavaSpaces, you have simple
transactive communication."

Developers of cellular phones and video cameras are currently working
with Jini to incorporate its technology into future devices that can
be shared immediately upon hooking up to a network.

In essence, if successful, Jini will tip the scales from large,
all-encompassing computers and applications to smaller, specialized
programs that are more easily digested by the general consumer. And
this could upset the current balance favoring Microsoft, which is
building its own distributed architecture program dubbed "Millenium"
[Microsoft's misspelling], as well as Intel.

Joy believes Sun has the edge in this arena.

"Any program that is written by hundreds of programmers will
inherently be too hard for most people to understand," Joy said of
Millenium. "It just has too many features.

"We are better off being a little more decentralized and a little less
complicated."

Sun's business plan for Jini boils down to "share the wealth." Part of
this strategy includes sharing the source code, or software
instruction set, by offering a free license to developers in the hopes
of wooing many into Jinis court.

Already, Sun counts a stable of developers so diverse to include
cellular phone maker Ericsson, hard-drive manufacturer Quantum, and
printer manufacturer Canon.

The company will also ask for input from developers in the final
stages of Jini's development.

This coming Monday, the company plans to post details of Jini to its
Web site, and incorporate the resulting feedback into the software's
first full release, anticipated by the end of the year.

The full story of Sun's Jini project will appear in the August issue
of Wired magazine, on newsstands 28 July.

============================================================================

Creating One Huge Computer
by Kevin Kelly and Spencer Reiss
3:25pm 15.Jul.98.PDT

In an interview with Wired magazine, Sun Microsystems visionary Bill
Joy gives the first in-depth glimpse of Jini, the Java-based
distributed-computing technology that aims to give all computers
everywhere the ability to interact.

Wired: What do you see as your job?

Bill Joy: I like to create technology dislocations. How much
dislocation they ultimately create depends on how well they are
executed by the organization that I have some involvement with.
Typically, once I make a dislocation I am on to trying to find the
next one.

Wired: What are some technological dislocations happening these days?

Bill Joy: In microprocessor design you can make a chip for a dollar.
We are in "the second half of the chess board," where Moore's Law of
doubling has reached a point that every doubling now makes a huge
difference. A single chip becomes a system. Now we can build a whole
economy around the way chips become systems.

Wired: What about bandwidth?

Bill Joy: It's coming. In Aspen, where I live, we have a
spread-spectrum 1-megabit T1 wireless network which we put in
ourselves. This network covers the whole town. It operates as our LAN,
except we put antennas up on the mountains so we, and others, can go
anywhere in town and be on it. It was just an experiment. There is a
cab driver in town who has a wireless T1 in his taxi and a laser light
show and all this gear and MIDI on board. He is truly wireless. But by
doing this time warp, we discovered a discontinuity. There is a break
point in bandwidth around a million bits, or a megabit, per second. If
you get below a million bits you notice the lack of speed. But with
anything above 1.5 million bits you hardly notice the increase; the
difference between 2 megabits and 10 megabits is negligible. It is
really surprising.

Wired: One of the current myths of the digital era is that we have an
insatiable appetite for speed and storage, yet probably neither is
true. You seem to be suggesting we now know the saturation point in
bandwidth speed.

Bill Joy: Yes. Before I got involved with Java, Mike Clary and I were
looking at threshold points. A number of people have calculated that
if you were to record everything you ever said and everything you ever
typed, the storage needed would not be that high. And cheap, even at
today's prices. I recently saw a plug-and-play 14-gigabit server for
US$1,200. I mean, 14 gigabits is more than you will type in your life.
It may be more than you will say.

Wired: Where are we in the curve toward the Network Society?

Bill Joy: We know Moore's Law will run out sometime around 2010. It's
probably not going to be a crash into the wall. Things will just start
slowing down. We've been getting a free ride with Moore's Law. We can
write worse and worse software, and the machines just get faster and
faster and cheaper and cheaper -- and they cover our tracks.

Wired: Do you think there is a dislocation as a result of wireless and
mobility itself?

Bill Joy: Whether you have to sit in one place to do your work or you
can move around is a big deal. Your life changes.

Wired: What comes after cheap chips and mobile bandwidth?

Bill Joy: The next step after cheap is free, and after free is
disposable.

Wired: User interfaces -- is there a dislocation there?

Bill Joy: Microsoft would say it's going to be speech input. I kind of
doubt it. You're talking to me, but you don't want to have to be
talking to your notebook at the same time. So you write. The future is
probably much more gestural.

Wired: You've been writing computer languages like Java. Do you
envision a computer-language dislocation?

Bill Joy: The common programming languages of C and C++ basically
beached us. These languages are like whales. Sun and Microsoft
maintain these monstrous C programs -- Solaris and Windows NT -- that
are built out of materials that are very difficult to work with.
Windows NT 4.0 is 16.5 million lines of code that will never be
debugged. It is infinitely complex. It is like having an elephant
living in your apartment. The thing is just monstrous. NT for
consumers is an oxymoron because NT is basically mainframe software
with all these windows and very little architecture. It is a mess.

Wired: Yet NT is a hit. Everyone is moving on to it.

Bill Joy: Many people were happy with the cars they bought from
Detroit before Honda came along. I'd like to think that Java is more
like when the Japanese came along with quality cars. With Java-based
programming, instead of having one big system with infinitely complex
buggy software, we can get a federation of machines working together
to solve problems. The individual components are simpler.

Wired: But why bother when there are other, less radical options in
the marketplace already?

Bill Joy: Yeah, but those options are no better than what we had 15
years ago. Windows 98 is basically the same architecture that the Mac
had in 1984. In a world of millions of devices, what you want to be
able to do is send new bits of code and have them interlink. Ideally,
the code would have flexible linkage -- flexible linkage is, in fact,
the hardest bit of the job. C and all the programs related to it don't
solve the programming problems of this world. They did not anticipate
a world of millions of devices.

Wired: And you feel Java does?

Bill Joy: Yes. Java is state of the art. I don't know how to do
better. We have in mind that all these things -- bolts, shirts,
watches, smart cards, rings, physics, chemistry, instructions -- all
of this knowledge can get represented as components. I think Unix is a
great system -- especially for running data centers -- because it is
very mature, very reliable, very scalable. But when I want to go out
and populate small devices, I think Java. That is why "Windows
Everywhere" is such a flawed idea. You don't want the same user
interface on a small device as on a desktop. They can't both be right.

Wired: Can you give me your version of what Java is?

Bill Joy: Java makes it easy for more people to write smaller programs
that can be combined to make larger pieces. Think of it as letting you
do Lego software. It has a network effect. Something like Windows or
the Mac or even Unix doesn't really have a network effect. They have
pieces of code that must grow linearly into one big mess.

Wired: Let's be realistic. NT is pretty locked in right now.

Bill Joy: Technology is still moving along fast enough that there are
opportunities for lock-ins to be broken. It's still possible. Also,
being first is risky. It's best to be second. It's difficult to be
first because you make the commitments too early and you typically get
stuck in the wrong standards. It's better to be Yahoo than Netscape.

Wired: When is Java going to get locked in?

Bill Joy: We're in a tool-building phase. Once we have enough tools,
things will happen very quickly.

Wired: Microsoft is now into components. It's developing new tools
that help string Visual Basic components together, making software
that automates the job.

Bill Joy: If you're Microsoft, that's what you do. Why is that
approach not as good? Because the language will forever be test-free.
You can't check the software. But with Java you can.

Wired: Microsoft has its own distributed architecture project going,
called Millennium. Are you impressed?

Bill Joy: Any program that is written by hundreds of programmers will
inherently be too hard for most people to understand. It just has too
many features. It is going to be so complicated. They are trying to
make an operating system that gives you an infinite number of choices,
that anticipates everything you might want to do.

Wired: Is that their problem?

Bill Joy: They are trying to plan the whole world. For our own good.
But we are better off being a little more decentralized and a little
less complicated.

Wired: Do you think making code open, or even free, is the way to
shift allegiances in your favor?

Bill Joy: The Open Source theorem says that if you give away source
code, innovation will occur. Certainly, Unix was done this way. With
Netscape and Linux we've seen this phenomenon become even bigger.
However, the corollary states that the innovation will occur
elsewhere. No matter how many people you hire. So the only way to get
close to the state of the art is to give the people who are going to
be doing the innovative things the means to do it. That's why we had
built-in source code with Unix. Open source is tapping the energy
that's out there. Netscape says customers fix the bugs faster than it
can.

Wired: Of course, the question with open source is how you make a
profit. How will Sun make money on all this, five or ten years down
the road?

Bill Joy: We'll make money from platform royalties. We'll make money
from some applications. I think we'll make money from drag-through
sales of devices.

Wired: What is the problem that Jini is trying to solve?

Bill Joy: If you have two programs talking to each other, even the
simplest incompatibility is really inconvenient. If I have a different
floating-point number format than you do, and I send you a
floating-point number, it might be a number here and it might be an
infinity over there.

Wired: Don't architectures like Corba and IPC address those issues?

Bill Joy: They don't really solve them, because in the end, the
programs don't communicate at the level where I can take an object and
give you an object. If you already have an object, they can tell you
to use it. But, they can't send you an object and they can't send you
the code. They can only send you the name. And there is a huge
difference between being able to send you a program that you can run
or a piece of program that you can run, and being limited to the
repertoire of what you already have.

Wired: Jini employs something you call JavaSpace. Can you explain
that?

Bill Joy: JavaSpace is just the idea of a space where a device can
"read," "write," or "take." I'd say it is like the co-op bulletin
board. You go in the door and there are all these pieces of paper: You
have that, I want this. Some of them have little strips along the
bottom; you can take a phone number. You can make a copy of it without
removing it or you can just take the whole piece of paper or you can
stick one up. It's transactive. Today, transactions only come in the
context of these funky database systems that are huge. If you want to
do a transaction, even for something as simple as a purchase, you have
to crank up an Oracle database. With JavaSpace, you have simple
transactive communication.

Wired: Is there a simple way to describe how Jini actually works?

Bill Joy: Jini provides what you can think of as a "JavaTone," the
equivalent of what happens when you pick up a telephone. The services
it links to can be hardware -- a disk drive, for instance, for storing
things. Or it can be software -- any consumer service you can think
of. If you're providing a service, you don't have to be a Java Virtual
Machine -- you can be a light switch, or a legacy mainframe. What we
call a "lookup service" goes out and finds the service -- or the users
-- you want, and you get back a Java object, which you reconstitute
after downloading the appropriate code.

Wired: Where are you headed next?

Bill Joy: I'm very interested in agent systems. A lot of people in
computer science are looking at the theoretical properties of agent
systems. But the funny thing is, the marketplace tends to run ahead of
understanding. It tends to try to deploy things before we completely
understand how they work. Take the work that General Magic did. They
postulated a new family of agent-based devices and tried to make them
commercial. For whatever reason, that didn't work, but I'm not sure
people have worked out either the social or technical properties of
agents. This summer I want to research what other people think about
agents, both commercially and in research.

Wired: So what is your methodology?

Bill Joy: I'll probably go to Yahoo and HotBot and type in "agents"
and see what I get. I'm searching for a breakpoint in the technology.
A dislocation. A conceptual breakthrough. It is really hard to say. I
don't even know what problem I am trying to solve.

Wired: How will you discover the right problem?

Bill Joy: I'm opportunity-driven. It seems that there is an
opportunity with mobile code, since we haven't had mobile code and now
we do. Once, we didn't have batteries and now we do. Once, we didn't
have fractional-horsepower motors and now we do. Now that we have
mobile code, let's figure out some things we can do with it.

Wired: So you're courting the killer opp.

Bill Joy: I like to work on interesting things and push the rock a
little bit of the way up the hill. And I like time warps, because they
can give us a vision of the future. But they are expensive.

Wired: What does that mean?

Bill Joy: In the 1970s, Xerox PARC built all the researchers in the
lab a 42-mips personal computer. The computers were so noisy that
first they built this cone-of-silence device around each one -- they
called it the armored personnel carrier. They eventually had to put
them all in a separate room. But by spending $50,000 or whatever per
person, they built a time warp and they got to see the future. That's
what we did with the wireless network in Aspen. That's what Jini is.

Wired: Isn't that a bit idealistic?

Bill Joy: Sometimes the easiest way to get something done is to be a
little nave about it -- and just ship it.

This interview originally appeared in the August 1998 edition of Wired
magazine