Croquet is built on some well-used, but not mainstream technologies. A colleague has asked “Why should we believe that Squeak scales to the enterprise?” I’d like to share my answer, to solicit comment.
It is good to ask this, and there are several aspects to the answer:
1. How reliable is the underlying software?
2. How much use can the software support?
3. How will applications be developed?
4. How reliable is the community.
Part 1 of 4.
1. HOW RELIABLE IS THE UNDERLYING SOFTWARE?
In addition to the work done by developers on campus, every application uses libraries and other code that must work correctly. Military and aerospace software undergoes rigorous and expensive certification to weed out bugs that cause applications to fail or produce incorrect results. However, this is not the practice for most so called “enterprise software,” and most implementations contains many such bugs. In fact, their “standards certification” procedures often require that such bugs be reproduced exactly in subsequent versions. For most of the history of Java, Sun licenses used to warn that the software should not be used where there is a potential for human or monetary loss. (The licenses now merely warn, “You acknowledge that this software is not designed, licensed or intended for use in the design, construction, operation or maintenance of any nuclear facility.”)
The approach of the open source community is that such bugs can be found by the thousands of non-proprietary eyes that have access to the full source. Further, these bugs can be fixed immediately and made available to the community. This has been borne out in several studies. The first shown to me by Google include one from at UW:
The effect of open source on reliability is even more dramatic when you restrict the class of bug to those involving security.
Of course, the potential reliability of open source in general does not necessarily translate into actual reliability for the particular open source used by Squeak. There are currently just over a thousand highly trained computer scientists working on the Squeak source, and we expect this to grow with the success of Croquet. However, there will still be bugs. How are these addressed?
Croquet goes beyond the benefits of open source, by using a technique called ‘late binding.’ This allows bugs in a running application to be fixed while the application is in use — without restarting. This is one reason why several very large operations use late-binding systems as a competitive advantage in their most mission-critical enterprise applications. (E.g., Orbitz travel service, American Express fraud detection, Yahoo Store).