Microsoft's bid is Hailstorm, Intel's is the peer-to-peer working group, and Sun Microsystems on Wednesday posted source code and specifications for Jxta. Sun is backed by Intel, several start-ups and the consultant CollabNet, which is helping Sun build an open-source developer community around Jxta.
Jxta is Sun Chief Scientist Bill Joy's abbreviation for Juxtapose, which represents the temporary associations of devices that the protocol makes possible. Joy and Sun VP Mike Clary began working on Jxta with a small group of advisers last summer and gradually expanded the group to include around 25 companies. In March, Sun acquired Infrasearch, a start-up with technology for conducting peer-to-peer searches.
Sun hopes to avoid the licensing difficulties and control issues it encountered with Java and Jini by making Jxta available under an Apache open-source license. Joy thinks that with developer support, the protocol will be in good shape in about a year. Jxta also in some ways replaces Jini, Joy's previous attempt to create networked federations of devices. Jini was not a protocol and was Java-centric, making it too fat for many of today's networks and mobile devices.
Joy acknowledged in February that with Java and Jini, Sun bet too early on the development of high-bandwidth 3G networks.
Although Jxta is currently implemented in Java, which allows it to run on all major operating systems, it is language-neutral and does not require Java. Sun and its partners are also working on an implementation in C, although Joy says Jxta users will get the most benefit from Java because Java is designed to easily reuse code. Taking a leaf from Microsoft's playbook, Sun has defined the Jxta protocols in XML, making Jxta relatively lightweight.
Jxta consists of a core running on a variety of devices that handles security, monitoring, and the ability to create groups that communicate through pipes. Above that is a services layer, which will handle basic functions like searching or indexing, and above that is an applications layer that takes advantage of the services.
Sun so far has provided the core components and a shell, or command environment, so developers can play with Jxta and figure out how it works. Sun also is running a Jxta overlay network on top of the Internet. Although it can punch through firewalls, the network does not yet allow devices to discover each other over long distances.
Michael Tanne, the CEO of XDegrees, one of the start-ups working with Sun, says that in the wake of Microsoft .Net, developers have been waiting to see how Sun would respond. XDegrees is extending the Internet's Domain Name Service to create XRNS, an LDAP-compatible utility that makes mobile devices, applications and so on addressable and hence findable.
One of the things that's going on is the ability to let network applications operate where they naturally should, Tanne says. Another is Web services, which allows applications to publish themselves as services and create very flexible APIs using XML so people can call applications across the network. The third is name spaces and some kind of routing mechanism to have these previous two things interact.
This is illustrative of where the Internet is going, from an Internet where publishing is the model, where you craft a Web page and expose an application through a Web front end assuming forms, to a place where we interact bi-directionally with others. I don't know what to call it, but friction is reduced.