As if driven by the cycles of the moon, it seems like the Java community gets a monthly visit from that special topic that divides and angers us more than any other: the question of whether Sun should "open source" Java? Most recently a top open source advocate named Eric Raymond (author of The Cathedral And The Bazaar) published an open letter to Sun urging them to "Let Java Go." I have huge respect for the achievements of the open source community, but I tend to stay away from the pissing contests that these discussions about open sourcing Java often devolve into.
I think the issue is something of a bugaboo, anyway. The source code for Java is readily available to anyone who accepts the Sun Community Source License (SCSL.) You can fix problems and submit patches to your heart's content. You can freely use the source code to better understand where problems in your own code are occurring, and you can also look to the Java source for useful examples and implementation patterns which you can emulate in your own code. Most of the technical benefits of source code availability are present to developers under the SCSL, and they are a very significant set of benefits. Furthermore, the Java Community Process (JCP) does a fine job of driving Java technology innovation in a balanced way that meets the needs and serves the interests of many vested participants. The problem definitely isn't that the source code to Java is unavailable or that the community has no voice in the platform's ongoing evolution.
What you cannot get from the SCSL and JCP is any reason to trust Sun regarding the disposition of the Java brand, their ultimate lever of control. I hope I am not the only one who cringes every time I hear Java described as a product of Sun Microsystems. Java has long since transcended it's origins at Sun to become a globally preferred platform, an industry and a community powered by the tireless work of countless individuals and organizations. Java today is not much more a product of Sun Microsystems than the telephone is a product of AT&T. But the ownership and control of the Java[tm] BRAND is 100 percent firmly and resolutely in the hands of McNealy and crew, and that's why they are so utterly alone and without allies in the platform-level marketing of Java.
Sun's over-insistence on total control of the Java brand has created a situation where nobody else is willing to help them with the general platform marketing of Java. Although this technology is useful and attractive to many strategic industry leaders, very few of them would be so naive as to place any trust in the goodwill and beneficence of Sun Microsystems, Inc. Why should Intel, Hewlett-Packard, Sony, Apple, Oracle, BEA or IBM expect Sun to do anything but look out for itself? Why should they invest valuable resources in the consumer marketing of Java platform advantages when they reasonably fear that Sun could turn a cold shoulder on them at any time?
The simple answer is: they won't! They don't trust Sun, and they won't engage cooperatively as long as they feel that their resources would be invested for the benefit of a Sun-owned and Sun-controlled product brand name. I don't blame them. As long as they feel the risk that Sun could perform an about-face on key positions and start to charge usurious licensing fees (or even revoke licenses!) they will not invest in helping to increase the consumer appeal of the platform and drive its adoption. I have personally spoken with the CEO's and heads of marketing for dozens of Java industry players, and virtually none of them is willing to shoulder any of the load for marketing the benefits of the Java platform as long as they feel disenfranchised and powerless where strategic marketing decisions are involved. If Java is merely a product of Sun Microsystems, and the benefits of owning that product accrue exclusively to Sun, then why should any other company or organization devote any resources to helping with the consumer marketing of Java - marketing which Sun is apparently unable or unwilling to do?
So there's no place where all the many interested parties invest and work together to ensure that our Java industry is strategically well-positioned against competitors. That's the real heart of the problem. Isolated Sun lacks the consumer marketing skills and budget resources to promote Java at the platform level the way the vastly more successful monopolist in Redmond promotes Windows. The core messages of Java, the ones that attracted most of you years ago, are no longer being marketed to the general public by anyone at all! Nobody is telling average people about the benefits of WORA and platform independence, freedom of choice in vendors, community-driven innovation, or Java's ease of learning and use. Without these core messages forming a foundation for consumer acceptance, we really don't have to worry about whether people will buy their Java products from Vendor A or Vendor B - they won't be buying Java products at all.
Most consumers (you know, those people who will gladly pay $8.95 for funky little dolls that say "Intel Inside") do not have a clue what Java is or how it benefits them. Their lack of awareness is hurting you because average consumers are much more involved in the economic big picture than we typically give them credit for. It's making it harder for you to get a good Java job. It's making it harder to sell your Java-based products. It's increasing the risk that the Java job you now have will be gone in two years. Today, more than ever, we need to organize ourselves as an industry and engage in marketing efforts to cooperatively protect, sustain, and grow the market share of the Java platform.
Eric Raymond has focused on the wrong issue. Making Java "open source" might placate a vocal contingent in the software development world, but it would not significantly raise consumer awareness and acceptance of our platform. I simply don't care all that much whether Java is "open sourced" because I don't consider that to be the central problem. I do, however, very much want to see the Java platform more competently and competitively marketed so that this great industry and community can grow and provide all of us with a foundation for thriving prosperity.
The only way that will happen is for Sun to yield some control over the Java brand in the same way it has yielded a great deal of control over the platform api evolution. Sun needs to learn from its own success with JCP, and it needs to learn quickly. They simply cannot continue to go it alone on platform marketing. If McNealy can be shrewd enough to trade a modicum of control now in order to drive the formation of a Java industry marketing coalition, then the tide would rise for everyone in the Java world, and his shareholders would profit greatly. If Sun continues to doggedly insist on total control, then it will never be able to enlist the allies needed for success in such a daunting marketing challenge. Sun may retain 100 percent control, but everyone knows 100 percent of a marginalized market can be a lot less than a lion's share of a mainstream, successful industry.
There's powerful magic in the Java platform, but we need more powerful resources than Sun alone can muster if this industry is ever to reach its full potential. I hope you'll join me in urging Sun to provide meaningful incentives to rally this industry into action and to create a cooperative industry alliance for Java platform marketing. Just as the dairy industry jointly funds the "Got Milk?" campaign, all of us in the Java industry need to work collectively to promote key messages that lay a foundation for consumer acceptance of Java and for our long term economic success.
Rick Ross is the founder of Javalobby. His e-mail address is firstname.lastname@example.org and his identity on AIM and Yahoo Messenger is RickRossJL .