Udanax Gold
Full Transclusive Versioning


Opening Date not yet set

Udanax Gold, formerly known as Xanadu 92.1, was in active development from 1988 through 1995 at Udanax.com, and briefly at Memex (now known as Filoli).

At the present time, the only body of code we have prepared for external contribution is the Udanax Green code base. The Udanax Gold code base is much larger and more ambitious, and will take more effort before it is usable by those who haven't lived through its history. Nevertheless, as an irreversible act of disclosure, we are making available on our download page the bulk of the code, and the code that embodies all of what we were holding as proprietary secrets -- including General Enfilade Theory and The Ent.

Back in our proprietary days, we never pursued patent protection on these ideas -- only trade secret. Now that the trade secrecy is gone, this disclosure also constitutes prior art that prevents anyone else from preventing you from using the ideas embodied in this code.

Foreign Entanglements

The rest of the Udanax.com intellectual property assets have been declared, by irrevocable board decision, to be open-source (see our license page), including, of course, all of Udanax Gold. However, not all of it is posted yet. There is much more Udanax Gold code that we will post as we extract it. However, some of our code is in the form of edits to classes in the ParcPlace 2.5a image, which we have no rights to. Fortunately, there are few dependencies from the code that matters to the code which in entangled with ParcPlace intellectual property. We will seek an adequate remedy to this problem, such as fixing these remaining dependencies.

Obviously, all the code we are posting is free of such entanglements, and you are free to use it without worry.

Where to from here?

At the time we originally built Udanax Gold, there were no decent object platforms for delivering large object-oriented servers. There was not even any one workable choice of language! Smalltalk was a great development language, but the only decent Smalltalk platform at the time -- the one from ParcPlace -- had a fatal runtime license fee. C++ was a plausible delivery platform, but had no decent programming environments. So we developed in Smalltalk and automatically translated to C++.

There were no available adequate persistent object systems, distributed object-message systems, or incremental-generation collectors suitable for running a server. All this we built ourselves.

Since then, the world has changed. Several of these components are now off-the-shelf, and a few may even be adequate. To carry this code forward, most pressing is to choose a single implementation language. The split language effort was almost too painful when it was necessary. It is now no longer necessary, but the choice of language is far from obvious. Two likely candidates are Squeak and Java, and either of these would make the conversion process less painful. Our sources are already in Smalltalk (although a different version), and we can already translate to X++, which bears a strong semantic resemblance to Java.

We look forward to your suggestions.