Sanity check # 1 : Sourceforge.net. Let's really examine one of ESR's central's claim " Sun's insistence on continuing tight control of the Java code has damaged Sun's long-term interests by throttling acceptance of the language in the open-source community, ceding the field (and probably the future) to scripting-language competitors like Python and Perl. Once again the choice is between control and ubiquity, and despite your claim that "open source is our friend" Sun appears to be choosing control. Sun's terms are so restrictive that Linux distributions cannot even include Java binaries for use as a browser plugin, let alone as a standalone development tool." This is one of the central points of the entire ESR letter. Click on the chart. The chart comes from this site. What is it ? It is the rate of growth of open source projects by computer language at sourceforge. Sourceforge.net is one of the largest repositories of open source code. Both Eric Raymond and Michael Teimann share one thing in common - the supposition that open source and Java in its current state are somehow not complimentary or pervasive. They are both out of touch with the community. Yet, Java is growing at a fairly fast rate and more interesting Java open source projects are also growing quickly. Comparing growth rates is not enough. Let look at sourceforge.net's projects : |
||||||||||||||||||||||||
One should also make the point that if one looks at the Linux distribution - C/C++ dominate. However the Linux distribution is not the open source community. Open source software is written for all sorts of operating systems including Windows, BSD, Solaris and MacOS. In the largest open source repository on the net, Java is third only to two operating systems that are much, much older and are declining in growth. ESR never mentioned this. Java open source software has a large base of projects and is extremely healthy and growing. Sanity Check # 2 : jakarta.apache.org. Of course, ESR's letter and Michael Teimann's utterances both neglect to mention the huge volume of open source projects at sourceforge.net. It is worse they also neglect to mention one of the principle Java open source sites on the net - jakarta. Jakarta.apache.org contains some of the most powerful open source software in existence. It gets more interesting - if you look at xml.apache.org and ws.apache.org there is even more open source software - much of it constitutes the basis for open source efforts into web services. Of course, ESR's letter fails to mention jakarta.apache.org. If the letter is any indication the reality is that ESR seems oblivious to what has been happening open source-wise in the Java community. Open source is happening in the Java community and millions of developers are already leveraging Java and the open source model. There are vast amounts of open source projects which ESR chose to ignore. Look at Tomcat, Maven, hsqldb, POI, ORO, JMeter, JUnit, Cactus, Turbine, Tapestry, Ant, Cocoon, JetSpeed, Axis, jUDDI, WSRP4J, ECS, Commons, Azureus, JBoss, JasperReports, JFreeChart, Neuros Database Manipulator, IBatis Database Layer, Geronimo, Spring Framework, DBForms, JGraph Diagram Component, NetBeans, Eclipse, jEdit, JOnAS, OpenNap, Xj3D and thousands more projects - THEY EXIST. ESR seems to pretend they don't exist. ESR is being disingenuine in this regard. Open source has happened and is happening and these are great Java projects. Some of the best open source software exists on the Java platform. Sanity test #3 : What's Missing? Andy Tripp poses an interesting and realistic question - "Does it really matter whether the Java spec is an ISO or ECMA spec right now? I can 't think of any good features that people say 'that should be in Java by now, but it's not because Sun didn't want it in, and it would have gotten voted in by a committee." This is important. The JCP has become the avenue for the evolution of the platform. Companies and individuals can join and participate in the JCP and the specifications. If someone feels strongly about the need for a feature they can offer a Java Specification Request (JSR) on the feature. For example there are over 15 Java Specification Requests and the spec team consists of 15 companies and 3 individuals for the J2SE 1.5 release spec - you can see the JSR and the members here. The overall J2SE 1.5 Specification PDF on this spec is available here. When J2SE 1.5 is released the source code will be put here for public availability and download. In many respect Linus Torvalds holds as much control over Linux from the standpoint that he is the gatekeeper for new kernel features in Linux. Linus, by the way, holds the trademark for Linux and has sub-licensed it to Linux Mark Institute. I don't think this is bad. My point is simple - even open source projects have analagous organizational infrastructures including gatekeepers. The JCP is evolving. It will change to accomodate open source and market realities. It is a fact that it already has as we shall see in the next Sanity test. Sanity test #4 : JCP, Open Source and Religous Fundamentalism. Conspicuous throughout the letter is the fact that never mentioned in the entire article is the Java Community Process which has successfully provided a mechanism for evolving the platform. You would think that ESR would challenge the precepts of the JCP specifically. A more inflammatory statement comes Redhat's Teimann who states "It's been like oil and water trying to bring those two together. Some people would rather live in a house of freedom than live in a cell with amenities," comparing Java and Open Source. Especially coming after the recent events with regards to Apache's Geronimo Project and JBoss and the JCP. Both The Apache Foundation and the JBoss Group are now JCP members. Both do not mention any of this - instead the tone of the ESR's letter seems to be focused on the "us" (open source) and "them" (Java) tone. This tone seems like open source religious fundamentalism in tone and certainly lacks the reality that Java open source is huge and growing. The JCP has changed to allow open source initiatives. The JCP and Sun have created avenues for open source software such as the Geronimo effort. What is Geronimo ? The Apache Software Foundation is working on a project to develop an open source, Apache-licensed J2EE implementation. Ironically Geronimo is being sent legal letters from JBoss Group with regards to code similarity of another open source program, JBoss. The JCP has carefully added a section to its participatory agreement to allow open source community involvement [1 2]. None of this is mentioned either by ESR or Redhat's Teimann. Sanity test #5 : Java and Other Scripting Languages. Redhat's Teimann talks about Java apartheid, a rather unfortunate choice of words, which to quote him "In my travels I have found the Java community to be marginalized by the Java apartheid —meaning if you are programming in Java you have to shun all other communities." Many, many Java developers are also members of the Linux and BSD communities. Some also contribute to other languages. I think one reason Teimann may feel this way is because in order to build cross-platform Java software - many Java developers stick to Java instead of including other platforms that may require more software infrastructure. ESR's letter also touches on scripting languages claiming that Python and Perl are the beneficiaries from Java not being open-sourced. The simple statistics from sourceforge.net does not bear this out. In addition, Teimann and ESR also don't point out that the Java platform's byte code engine acts as a fertile development platform for languages like Jython, Groovy and Bistro and many other alternative languages on the Java VM. A nice list of alternative open source and commercial languages can be found here. There are probably more languages sitting ontop of the Java VM than Microsoft's CLR. Teimann and ESR also fail to mention JSR#223. This JSR serves to bridge the scripting community (PHP, Python, etc) and Java. Another case where members of the JCP are building features into the platform that will allow interoperability with other scripting languagees. Sanity test #6 : One of Java's key features is WORA. Protect It. No where in ESR's letter are there suggestions on how Java will be improved except to say that legions of developers would write open source Java software and improve the platform. Except... that legions of developers are already developing open source software for Java. Look at sourceforge.net and jakarta.apache.org as evidence. The JCP is chartered with evolving Java and at the same time maintaining its cross-platform nature. It is a weighty responsiblity because an entire commercial and open source eco-system depends on what specs come out of the JCP. One danger in open sourcing Java is that commercial vendors could create divergent and incompatible releases. Hypothetically, IBM, Sun and Microsoft could provide their developers and users with incompatible versions. And of course, there would be an open source version. Microsoft would have a huge desktop advantage. As they could populate millions of desktops with Windows Update. One of the key value propositions of Java would effectively be destroyed. Sanity Test #7 : Java is Free. Simple. Free. You don't pay. Java runtimes, development kits and development environments are free and available for Linux, Solaris and Windows. The most current can be downloaded easily. Other platforms such as many Unix operating systems, MacOS X and Novell's SuSE Linux bundle in Java runtimes as well. Sanity Test #8 : Java : In Great Demand. The use of the word "marginalized" is used by both to indicate that Java is somehow not important or will become unimportant because it is not open source. Let's take a look at the popularity of Java vis-a-vis other languages. The TIOBE Programming Community Index for February of 2004 shows that Java is in great demand (see the site) : |
||||||||||||||||||||||||
|
||||||||||||||||||||||||
| Another measure of the demand
for Java is in job listings and it is routine to see Java in great
demand in that respect, it is only second to SQL. Let's take a
look at the numbers of job listings per language from Steven Hilton's
poll of dice.com site : |
||||||||||||||||||||||||
|
||||||||||||||||||||||||
| Sanity
Check #9 : Sun and Open Source. ESR's letter
appears
to be confused on the issue of Sun's contributions to open
source. He is busy questioning Sun's motivations in donating
huge chunks of source code to the open source community.
Sun is one of the largest contributors to open source - IBM's donations
by comparison seem small. A simple examination reveals for
example that Sun has donated one of the premier Java IDE's NetBeans, an office productiivity
suite in the form of OpenOffice, a
peer-to-peer protocol call JXTA, an
identity implementation called Liberty
and much more. More examples can be found at http://www.sunsource.net. In what appears to be more political sniping than a criticism based on reality - ESR's letter really damages the open source cause because it is confused, polarizing, error-ridden and mostly a half-thought out attack on an open source contributor with little upside for the community. ESR's letter ends with "Mr CEO, tear down the wall. You have millions of potential allies..." I had to laugh a bit at this point - it was Reaganesque ... painting Java as the Iron Curtain. Painting Java open source as marginalized. Nothing like being over the top while at the same time being dead wrong. What wall ? In the end the ESR letter is reminiscent of a Daniil Kharms anti-story. |