Openness in software

Jonathan Schwartz of Sun has a piece on about open source and open standards (via “Scripting News”). He says that, of the various forms of openness in software, "open standards are the most critical, because making a choice today shouldn’t preclude you from making a different choice tomorrow." He continues, "The best open-source projects are the ones that actually amplify a standard."

This is easy to dismiss as Sun propaganda, since the company is finding itself squeezed by Linux on one side and Windows NT on the other. But it’s an argument worth engaging. The best known open-source projects take advantage of established standards — Linux and Unix; Sendmail and SMTP; MySQL and SQL; Apache and HTTP; Mozilla and HTML. But then again, so do most of the proprietary applications these days. Networked computing necessarily requires standards, because no one entity controls the whole environment. Microsoft sells standards-based proprietary software that competes with all of the open source projects listed above. As does Sun.

The problem with Jonathan’s argument is that it conflates two processes. Standards are critically important. As he points out, open standards are what allow for choice and prevent lock-in, regardless of whether source code is publicly available. But there are two sides to the standards process: development and implementation. If a standard solves a real problem and has a critical mass of industry support, it will promote openness. That’s what has happened with HTML and RSS, for example. What application developers do with standards is another story, and this is where open source comes into play.

Open source changes the dynamics of building software. It creates opportunities that would not otherwise exist. A successful open source project, like Linux, creates a large and diverse community that contributes to or makes use of the codebase. In effect, it creates a standard through developer adoption rather than vendor promotion. Linux leverages the Unix standard, and the standards-based GNU tools of Richard Stallman. But Linux itself has become a de facto standard. Bill Gates has often described Linux dismissively as just "the first version of Unix that works on Intel processors." That’s true, but not the whole picture. It’s ironic to see a top executive at Sun, Microsoft enemy #1, make the same basic characterization.

Open source cannot simply be reduced to open standards. Jonathan understands this, and in the article he acknowledges that different software licenses have value in different contexts. Open source projects tend to be better at some things, while proprietary software tends to be better at others. There are no abolutes, just general trends based on the underlying incentive structures of each method. The "best" open source projects are those that facilitate a community and achieve its members’ objectives, whatever those may be. Today, when no application is an island, the same is true for proprietary software.

Jonathan will be speaking at “Supernova”, so I look forward to continuing to conversation there.