Major vendors are getting better at donating source code to the public. But by and large, companies engage in code charity in safe and limited ways. They incorporate existing free code into their commercial products, giving their nonproprietary enhancements — sometimes along with equipment, software, and support — back to the projects that created the free components. Commercialization creates jobs for hungry developers as consultants, authors, trainers and, in rare occasions, employees of the companies that take the code commercial.
Then there are vendors that open up software, usually vintage code that has no commercial value. IBM Corp. opened its Cloudscape Java DBMS, a move that’s a little late compared to Borland Software Corp.’s opening of InterBase and a little irrelevant next to powerful and widely used open DBMSes such as MySQL and PostgreSQL, the latter being my current favorite. Computer Associates International Inc.’s qualified open sourcing of Ingres is, like Cloudscape and Microsoft Corp.’s restrictive Shared Source Initiative opening of parts of .Net and other properties, an apt illustration of how selective corporate code charity is.
In an atmosphere of grateful acceptance of qualified corporate generosity, Sun Microsystems Inc. is squirming in a hot seat created by its potential beneficiaries. Sun wants to give Java to the public. It’s the right thing and there isn’t much left to open up. But Sun can’t part with Java’s value as a point of prestige, a draw to the company’s other technology and a money-making product in itself. Nor can Sun sanction the stamping of the Java brand, which Sun and participants in the Java Community Process busted hump to create and protect, on software that is potentially incompatible with published specifications. You see, the majority of Java users won’t notice that Java has been made open source. They’ll just expect it to keep working the way it always has. And if an open source porting project brings Java to a currently neglected platform, customers will migrate to it with precisely the same expectations they bring to Java downloaded from Sun. License disclaimers will not fix that for people who don’t read open source licenses.
Free software leaders claim that the community can handle the standards certification that Sun now performs. That self-enforcement has reaped mixed results elsewhere. As an example, consider the World Wide Web Consortium’s HTML, CSS, and DOM standards. There are innumerable freeware standards-compliance test suites for browsers. The ink on the standards has been dry for years, yet every browser still has its special set of broken, missing, and incomplete implementations of these very concise standards. Despite community threats of blacklists and boycotts to force compliance, no two browsers look alike.
Opening commercial software that has such a huge commercial installed base has no precedent that I’m aware of. The Java brand isn’t just a logo. It is a contract of trust between Sun and the customers, individuals, developers, and partners that rely on complete and consistent implementations across platforms. It took a long time to build that trust. Sun can’t tear that down for political points, and the free software community can’t define the terms of Sun’s generosity. If that’s taken too far, Sun will leave the table and take the chair that vendors looking to donate meaningful, commercially viable code might have occupied in the future.
Tom Yager is technical director of the InfoWorld Test Center.