Updated [22-Mar-2010]: Added a little text around the Ohloh javascript widget so Google Reader sees a URL to follow.
Recently, I've encountered several technologists that still don't understand open source software economics and got suitably cranky about "people giving away software for free" and "destroying the value of innovation". I thought it time to try to reach for an easier way to demonstrate what's happening in the industry in pictures.
Everyone is familiar with the idea of a normal "bell curve" distribution representing R&D investment over time. As a technology is better understood and a product succeeds in the marketplace, R&D investment increases, and over time as new technologies advance, the R&D investment in the original technology and product wanes. The integral represents the total R&D investment over time. The function can also represent the "knowledge" gained or the increase in the intellectual asset base.
Good companies develop and invest in new successive waves of sustaining technologies. So, looking at Microsoft's success with PC operating systems, DOS was replaced by a greater investment in a more innovative Windows, was replaced by a larger investment in a more innovative NT.
This also fits nicely with Christensen's original observations about incumbent companies being good at sustained innovations and well run companies knowing how to jump from technology to technology along a sustaining innovation path. This all makes sense when considering a single company's R&D investment. It applies equally well to Sun Microsystems when considering that the steeper slope of successive sustaining innovations was on the hardware side versus the slower (but not inconsiderable) investment from SunOS (a BSD variation) to Solaris.
The investment curve for projects like Linux and Apache, with lots of individual and corporate contributors, still looks like a bell curve, but the contributions might better be viewed as a stacked bar chart. Individual contributors invest to meet their specific needs. Because there is enormous overlap in their common needs, they all share the overall investment.
Individual contributors get enormous return on their investment. (One gives a few bug fixes to the Apache httpd team, and in return one gets an entire HTTP daemon.) Corporate contributors give for the same ROI. They get enormous return on their investment in technology they use in a product complement space or as a component in their overall solution to the customer. (Before someone takes issue with my Red Hat example above below, understand the "solution" in the customers mind was "UNIX-like servers on inexpensive 'PC' hardware" and not "Linux".)
Christensen was careful in subsequent work to point out that the disruption wasn't about technology but about business model. The disruption often started when someone assembled standard cheaper lower performing parts into a solution that solved a completely different need with a very different cost basis. The new solution begins its own sustaining innovation curve until the new technology can compete with the incumbent compared against the criteria about which the customer/consumer cares.
The disruptive business model isn't about Linux so much as the ability for corporations to do collaborative development at the component/complement level in a "frictionless" well-managed Internet-enabled community. (The original OSF/1 shared-development of a UNIX-like replacement failed: too few players, too much politics.) Linux is a much stronger disruptive business solution as a way to handle a particular sourcing problem.
It would be interesting to consider the difference between projects with enormous inbound code contribution (versus all the other strengths a well run community brings to the table) distributed across a wide group of players like we see in the Linux and Apache projects, versus projects managed more tightly by a company like MySQL was. Another interesting attribute of this collaborative business model to investigate is how contribution mutates over time. Christensen's work demonstrated that an incumbent gets in trouble when they begin to over-deliver on functionality for attributes their customers consider important. The customer can't absorb the sustaining technology innovation any faster and literally won't pay for it. The slope of the sustained innovation of the competing technology is sufficient to cross into the space covered by the incumbent's solution.
In a shared collaborative development environment, however, because the technology isn't being driven by a single corporate entity, the community of corporations collectively contributes to their own needs and the technology may (i) stabilize where it needs to stabilize, and/or (ii) be taken in new and interesting directions. There is less pressure (if any) to over-deliver with new innovation. The consumers are the developers, but it's a very broad community indeed. This is what I believe just happened with the MeeGo announcement and the combining of the Nokia Maemo and Intel Moblin projects. This is a great inflection point for Linux into the new mobile Internet device space.
One only need read the report from the Linux Foundation charting the growth statistics in the Linux kernel to understand the enormous value generation happening release-on-release, four times a year. Using the Ohloh rules-of-thumb of US$55,000 per person year one gets US$142M of value creation in the 2.6 Linux kernel. The fact that some business models have been destroyed (Sun), or threatened (Microsoft) doesn't mean there's not enormous ongoing value creation in the technology.
Ohloh value chart for Linux 2.6 kernel.
Neither is intellectual property being "destroyed". Again, this is a disruptive business model discussion. Intellectual property is a business choice made on how a company will protect certain intellectual assets as legal property. Which assets to protect, and how, and which property to defend is a business choice based on the cost model a business uses with respect to turning assets into value propositions customers will buy. When a group of companies chooses to collaboratively develop a technology complement/component, they're making a business model choice on how they will selfishly share certain intellectual assets. Nothing was destroyed along the way.
> It would be interesting to consider the difference between projects with
> enormous inbound code contribution ... versus projects managed more
> tightly by a company...
There's a line being drawn, here, between two kinds of open-source projects. I'm strongly tempted to call them "Community" open source vs. "Commercial" open source. Then, I think, "no, that will make a lot of people defensive." Then I think, "well, yeah, that's kind of the point."
This all suggests that a key metric, perhaps the key metric, is not "who uses it," but rather "who gives back to it?"
Posted by: Jack Repenning | 02 March 2010 at 11:23
Thanks for the comment, Jack. I'm not sure that it's the key metric. I think it would be interesting for someone with time to investigate and access to something like Ohloh's data to look at churn numbers across a wide variety of open source software projects over time for patterns. Do community projects (Linux, Apache, Eclipse) churn differently than corporate run projects (MySQL, OpenSolaris, Alfresco)? Do they churn faster? Is there a way to measure breadth of deployment? I'm not thinking desktops or server counts for Linux, so much as embedding as a component (printers, TVs, mobile handsets, server products, etc.). Is the "vibrancy" of community (% codebase churn and # developers and relationship between the two) a useful metric?
Posted by: Stephen Walli | 02 March 2010 at 11:45
Thanks for this. It's extremely lucid and helpful.
I think the bad name open source gets is a case of positive externalities being diffuse while the negative externalities are concentrated on a few with the deep pockets to make an issue out of it.
People wouldn't contribute if they didn't see value in doing it.
- Greg
Posted by: Greg Satell | 02 March 2010 at 13:07
Stephe,
awesome blog post!
Sandro
Posted by: Sandro Groganz | 03 March 2010 at 01:44
Great post Stephen: a historically complex issue explained in an easy way, just clever. Congrats.
Back in 2007, I gave a speech on the model of free software as being the innovative disruption itself, but I like much more how you explain it, mine was not so specific and clear:
"The disruptive business model isn't about Linux so much as the ability for corporations to do collaborative development at the component/complement level in a "frictionless" well-managed Internet-enabled community. [...] Linux is a much stronger disruptive business solution as a way to handle a particular sourcing problem."
PS: I also love Christensen's work :-)
Posted by: javivazquez | 04 March 2010 at 18:01