Reading http://tantek.com/2011/168/b1/practices-good-open-web-standards-development I got to thinking that I should put down some of my thoughts regarding the death -- and possible rebirth -- of that which has been christened (with apologies to the secular) the open web. If you remember our story, for a bit it looked like Microsoft had nearly cornered the market for desktop computing. But their web server was unreliable, harder to use, and more expensive than a free alternative, Apache. Likewise, any company, with little investment in expertise, could rack some Linux servers and throw Apache, MySQL, and PHP on them and have dynamic websites. While today, the LAMP stack looks antiquated (of the four standard evaluations of the initials, I can only really support Linux, and I readily admit its architectural disadvantages compared to other open source operating system, although it does have the standard advantages of a popular monolith), for the first time computing corporate interest had to bow to the demand of the market for cheap servers, a flexible tools-based approach, and the value of expertise over adoption of dogma. A new wave of internet companies, including to-be megagiant Google, embraced the adoption of open source tech and methodologies. Even the failing and eccentric leviathan, IBM, funded a multimillion dollar advertising campaign spouting the phrase "Peace, Love, and Linux", and "open source" and "linux" became part of the required lexicon for tech executives, even Apple forsaking over twenty years of architecture (wisely) in favor of a BSD kernel and cheap x86 chips.

This was 1998. Enter 2011. What has happened to open source?

The admittedly naive idea of those that believed the freedom of information ideals could triumph business as usual has largely been crushed under business as usual. The pure desktop app is effectively dead with a few exceptions, either open source or proprietery. The world now lives in the cloud, so I've been told. While open source software remains minimal in terms of investment of capital towards core development[*], it has become an essential part of the computing infrastructure and ecosystem (also in terms of capital investment). Open source is not dead, just absorbed.

The language of software has been extended. Traditionally, the vocabulary has included "compiler", "operating system", "word processing", "multimedia", and "networking". With the (possible) exception of word processing, these remain vital components in the computing ecosphere, which despite investment against it open source has provided usable solutions for. But modernity has added "search engine", "social graph", and "hosting". These tools take their utility from being continuously online, live, and connected. Since providing a usable implementation is no longer a matter of algorithm but also of bandwidth, the traditional consumer-pays-nothing model of open source becomes less directly actionable. Anyone with talent can write genius code. Servers and bandwidth cost money.

The open source problem has become part of the open web problem. What good is a freely distributable javascript file if it lacks credentials to talk to a needed server? Companies that have reaped and even touted open source software[**] present closed web APIs. Meaning: those who control the information control the universe. While open source software can be made web-scale[***], without access to open APIs (e.g. a search engine), software remains bound in service to data.

Companies like Google often tout both the open source methodology and ethics. While all corporate press-releases should be taken with a grain of salt, Google presents itself as a provider of (essentially) free services in the open source vein. But in the buzzification of "open source", the communal development aspect has often been forgotten in favor of a literal interpretation of the phrase. Taken as such, the entire web is open source: view source in your browser will present the HTML, JS, and CSS necessary to render the page. But this is the most nominal definition possible.

Effectively, open means having two-way communication. Google's (and other companies') methodology involves exposing an API and possibly source code with minimal documentation and relying on a "How high?" user base to jump to use their stuff. Since the corporate (and non-corporate) world is rife with greed, they get away with it. In order to skate on the bleeding edge, consumers go to monumental efforts to utilize Googleware[+] instead of, by righteous restraint, cause the demand for product to be tempered by appropriate ease of use. Contrast how Google presents a software project with a presentation of academic rigor. Regardless of the quality of my research, just a book of notes-to-self and a URL linking to (undocumented) source code, I would be laughed out of any sort of collegiate defense. But Google -- you know, that company that has 40,000 programmers? -- has

Open source projects have never been a democracy. Despite the naive instinct, people don't want a democracy. Capable drivers should take leadership positions to ensure product integrity, steering, and appropriate designation of resources. Other primary project members should be able to drive their areas of interest according to their capabilities, project requirements, and (personal) resources available. Other project participants can contribute as they can, according to their experience, talents, and interest. None of this particularly describes the community of open source. In the classical norm of open source being governed outside of a corporate infrastructure (and indeed sometimes within), the freedom of open source as dictated by supply/demand economics fosters functioning communities. If I am interested in your project but your community is distasteful to me[++], I will take my time and effort elsewhere. If I am only mildly interested but the community is excellent, my interest may grow.


[*] e.g. library code or essential applications, such as the linux kernel, gcc, the python language, or the Firefox web browser

[**] notably Google

[***] for instance, lucene, mongodb, Apache, varnish, etc.

[+] and Facebook-ware, Twitter-ware, Flickr-ware, etc

[++] note that "distasteful" does not equal harsh or unnuturing. As engineers, we have much more tolerance of honest or even exagerated harshness or coldness than placating but untruthful smiles.