Sun’s Jonathan Schwartz has posted an interesting blog entry that makes the case that open is more an issue of portability than one of available source code (see http://blogs.sun.com/roller/page/jonathan/20040808#rewriting_history_and_vocabulary). I’ve read this one through several times, and it feels as though Jonathan is trying to redefine the assumed meaning of “open” to make his case, deliberately trying to blur the distinction between “standard” and “open”.
.NET is neither a standard nor is it open. Apache is open, the standard part is harder to quantify there (but the sheer size of its installed base may indeed make it so). IE is not open, but for better or worse it is a standard (and it becoming less so right now). PHP is neither. Windows is not open, but it is definitely a standard (or lots of them, ugh!). That is my viewpoint, and you may agree or disagree with my list. And that is just the point, the terms “open” and “standard” are not one and the same, and users expect them to mean something (that is both vague, and ever changing). And, using the common understandings of these terms, J2EE is a standard, but it is not at all open.
After all, if Java were truly open, would Sun have the right to sue Microsoft over changes Microsoft made to their own Java implementation? If Java were truly open, would organizations have to pay Sun fees for the right to claim Java compatibility? And if Java were truly open, would Sun have ownership over Java logos and their use?
Sorry Jonathan, Java is a standard, I’ll give you that. But you can’t answer the “open” critics by redefining the term.