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. Commercialisation 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 opened its Cloudscape Java DBMS, a move that's a little late compared to Borland's opening of InterBase and a little irrelevant next to powerful and widely used open DBMSes such as MySQL and PostgreSQL.
Computer Associates' qualified open sourcing of Ingres is.
In an atmosphere of grateful acceptance of qualified corporate generosity, Sun 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 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 will 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 the community can handle the standards certification that Sun now performs. That self-enforcement has reaped mixed results elsewhere. 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. 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.