Open source gets pragmatic

Pragmatism isn't necessarily compromise; it's adapting to the world as it is, not as you wish it would be.

Most of the time, changes in the technology landscape happen gradually. Sometimes we can look back and pick out some inflection point--though, in my experience, such are more about storytelling convenience than anything more concrete. However, at least as often, things just evolve until one day we've clearly arrived in a different place.

Such is the case with open source.

It's gone from being an outsider movement to an integral component of the computer industry mainstream. However, more specifically, it's clearly entered a phase in which pragmatism, rather than idealism, is the reigning ethos.

Matthew Aslett touches on several aspects of this shift in his post: "Open source is not a business model." (His alternative title: "freedom of speech won't feed my children.") His conclusions (from a recent 451 Group report) include the following:

  • The majority of open source vendors utilize some form of commercial licensing to distribute, or generate revenue from, open source software.
  • Ad hoc support services are used by nearly 70% of the vendors assessed, but represent the primary revenue stream for fewer than 8% of open-source-related vendors.
  • Most vendors generating revenue from open source software are reliant on direct sales staff to bring in the largest proportion of revenue.
  • There is very little money being made out of open source software that doesn't involve proprietary software and services.
  • ...the fact is there are few vendors generating revenue from open source software that are following a pure open source approach when it comes to developing all of their code in the open and licensing all of their software under open source licenses.

In short, as Matthew puts it: "Open source is a software development and/or distribution model that is enabled by a licensing tactic." That's a far cry from open source as social movement or belief system as predominated early on and still has its adherents today. That's not to say that open-source proponents ever fit neatly into a single mold; Linus Torvalds, the creator of Linux, was always more the pragmatist than the Free Software Foundation's Richard Stallman, for example. However, in the main, we've clearly shifted to a locale where even those who are predisposed to "Software Freedom" as a concept are more willing than in the past to treat open source as just one mechanism among several to develop and distribute software.

In my view, there are a variety of reasons for this change including the following:

Open source has, in a sense, won. By which I mean that it's entered the mainstream and has, to no small degree, heavily influenced how companies do development, engage with user and developer communities, and provide access to their products. Furthermore, the well-established success of many open-source projects (Linux, Apache, Samba... the list is long) makes many of the long-ago barbs thrown at open source (insecure, risky, unsupported, etc.) risible in today's world. Open-source advocates no longer need to jumpstart a software revolution. They can afford to be pragmatic.

And open source has "won" because it's proven to be a good model for development and collaboration in many cases. A lot of the fervor around open-source licensing debates was effectively predicated on a belief that open source had to be protected from those who would strip mine it for commercial ends and kill it in the process. However, today there are plenty of examples of open-source projects that use BSD-ish, anything goes licenses--yet are hugely successful. There remain a variety of implications to using different license types, but we're once again talking more about practical matters than philosophical ones. Few major software companies (including Microsoft) don't intersect with open source to at least some degree.

Business models have had time to play out. At the same time, it's also proven to be the case that, building a sustainable and scalable business around a pure open-source play tends not to work. Many open-source companies have gone down the sell-support-for-the-open-source-bits path. The problem is that not enough customers buy up to the pay version. Thus, companies whose product is built around an open-source project have increasingly moved towards offering proprietary plug-in modules, hosted services, and things of that nature. (MySQL, now part of Sun, being just one example.)

Finally, two words: cloud computing--a term I use to refer generally to running software in the network, rather than locally. Cloud computing is shaping up to be a huge consumer of open-source software.  The ease of licensing, the ability to customize, the ability to try things out quickly, and--yes--costs that tend to be lower than proprietary software, all make open source and the cloud a good fit. And cloud computing, beginning with its early consumer-oriented Web 2.0 guises, is where a lot of computing is headed over the coming years.

Richard Stallman, among other open-source purists, has decried this shift because he sees it as a move back to proprietary, centralized computing.  There are some legitimate concerns about data portability, privacy, and other user rights in a cloud context. However, to narrowly and uncompromisingly focus on open source's historical roots and structure in a cloud-based world is to both tilt at windmills and re-fight a different war with the weapons and tactics of the last one. Pragmatism isn't necessarily compromise; it's adapting to the world as it is, not as you wish it would be.