Java: Nothing Without The Community
In The Deal, Stephen Colebourne paints a very accurate picture of how the interaction between Java and it's community works.
The owner of Java makes a large investment.
The community makes it relevant.
By "owner of Java", I mean Sun, then Oracle.
By large investment, I mean money, development time, marketing and energy.
By relevant, I mean interesting and productive for mass use.
This is a very important point. When people think Java, they are
always thinking of more than the JVM and the core JDK. They think about
that and "everything else":
Servlets, JMS, Tomcat, JBoss, Lucene, JMX, Eclipse, Ant, Portlets, Lombok, Devoxx, Javalobby, Axis, JIRA, RESTEasy, Terracotta, Ivy, JSP, TestNG, Grails, Mule, Android, ICU4J, MyFaces, Scala, James, Geronimo, JCS, OFBiz, Jetty, GWT, Websphere, JFreeChart, JavaMail, FastUtil, Xerces, JDBC, Griffon, JProbe, SLF4J, Wicket, XOM, JavaOne, Seam, Emma, HttpClient, EHCache, TheServerSide, Roo, Mockito, HSQL, Guice, FOP, Kindle, Velocity, Clojure, JNDI, Clover, Hadoop, JSF, Jackrabbit, Livescribe pen, Commons, Hibernate, EJB, Tobago, IntelliJ, Jersey, Scalaz, HornetQ, JAX-RS, Lift, Derby, JUnit, Freemarker, JavaME, Mylyn, Gaelyk, MINA, Play, JBPM, Cobertura, Antlr, Artima, Findbugs, Hessian, OGNL, Quartz, Trove, Tales, Javolution, Weblogic, Spring, Maven, QCon, Guava, JPA, Colt, Zing, Pico, JAXB, Applets, Struts, Groovy, JavaFX, Log4J, BluRay, Glassfish, Tapestry, JavaRanch, JRoller, Fusion, Excelsior JET, JAX-WS, BIRT, JDOM, Yourkit, SmartCard, JTA, Fantom, Gradle, Netbeans, OSGi, CXF, JSTL, ActiveMQ, JEDI, Camel, JRuby, ServiceMix, Jython, Joda-Time, and many, many more!
Now that is a staggering list of frameworks, technologies and websites. All of which make Java what we know it is today. All of which make you proud to be a Java developer.
One of Stephen's main points is that the JCP really is important. The investment that Oracle put into pushing Java 7, and subsequent releases, forward are of little value without a community to give Oracle's actions further weight. The problem at the moment is that the lawsuit issues with Google, and the JCP actions that forced Apache to move out, could have a negative effect on the community.
Sometimes it means taking decisions that are against the immediate and obvious business benefit in order to keep the community and ecosystem happy and productive, gaining a bigger business benefit later.
What I hope is that the community hasn't lost hope. While I understand how people may not be so happy with the state of Java, I think that everyone has put too much into the community to do anything like giving up now. The ultimate Christmas present from Oracle would be to somehow resolve the Apache situation, drop the lawsuits and focus on the technology. Wishful thinking perhaps, but I know that the community will keep Java going.