FRUUG - Front Range Unix Users Group
FRUUG home
meeting archive
about FRUUG
join FRUUG
contact info

November, 1999: From BSD to Jini:
Adventures in Technology, Openness, and Community

At our November 1999 meeting, Bill Joy, Chief Scientist of Sun Microsystems, Inc., discussed the journey from the Berkeley Software Distribution (BSD) of UNIX to the development of Jini technology. Bill's talk was a relaxed chat about the technologies that have been developed during this time, and how the open source movement has influenced them.

He talked about the state of computer science upon his arrival at Berkeley and how CS departments often thought that research consisted of theorem proving; not "experimental" computer science that consisted of building systems. A result of his time at Berkeley was the shift in perspective that computer scientists should be able to publish their code much as a physicist would publish a refereed paper-- both are the results of extensive research.

Bill talked about how TCP/IP became the standard Internet protocol because the same set of code was developed and honed by developers around the world. Whereas the OSI protocol stack was "supposed" to supplant TCP/IP, the latter prevailed because of its open source nature. At an early "connectathon," the code was tested for interoperability between around fifty different ports to different operating system environments. In contrast, the same exercise with the ISO protocols consisted of a test of fifty different implementations of the same specification-- a much more daunting problem.

Bill did muse that a weak point of the resulting TCP/IP protocols is that there is now no commonality in how to handle transactions and security because they were not planned and done in an ad hoc fashion. For example, we have HTTP and HTTPS, but how about SMTP and SMTPS for secure e-mail. We don't have these facilities because they were never properly layered.

Bill talked about his search for a "safe" programming language, knowing that C++, like C, was basically a "peek and poke" programming language that is fraught with the problems of languages that allow pointers into memory. Bill reviewed the all-too-familiar debugging session where one piece of code keeps a pointer, uses it later, and interprets what was a string as a floating point number-- say 3.7-- and now you start trying to figure out who else in the environment might have such a number floating around. Java enables programming that is safe from these problems, and also enables a world where one can freely send code around. Because Java is interpreted, the world only has to agree on an interpretation of the byte code. You don't need to have 502 tests between ports of the same code (as in the TCP/IP days), only tests of 50 implementations of the Java virtual machine.

Bill closed with a discussion of the community source model of Jini, and how it contrasts with the "free" licensing used by other organizations, and with the licensing for Java that has required the courts for enforcement. The community source model limits access to code to those developing the system or application, and requires the developers to return the improvements to the community. The spirit of the community sourcing model is that you join the community, get access to the code, obey the rules, follow the compatibility tests, and don't abuse the trademarks. Bill compared Sun's community licensing strategy to the Visa model, where the various organizations providing credit cards to customers must interoperate with the Visa organization and follow their licensing terms to utilize the trademark. (Further information on Sun's licensing for Jini is available at

Apparently Bill enjoyed the meeting as much as we did, as he stayed way beyond his intended departure time answering questions for a good hour.

Site Map Recruiter Info
February 15, 2009

February 2008: FRUUG Enters Quiescent Phase
After 27 years running, we're suspending operations.

Future Meetings:
None planned

Site by
Lone Eagle Systems, Inc.,
Powered by
Sun Microsystems,
Hosted at NeTrack