|
DTrace, Leopard, and the business of open source
If you haven't seen it,
DTrace is
now shipping in Mac OS X Leopard. This is very exciting for us here
at Sun,
but one could be forgiven for asking an obvious question: why?
How is having our technology in Leopard (which,
if Ars
Technica is to be believed, is
"perhaps the most significant change in the Leopard kernel")
helping Sun? More bluntly, haven't we in Sun handed Apple
a piece of technology that we could have sold them instead?
The answer to these questions -- which are very similar in spirit to the
questions
that were asked over and over again internally as we prepared to open
source Solaris -- is that they are simply the wrong questions.
The thrust of the business questions around open source should not
be "how does this directly help me?" or "can't I sell them something
instead?"
but
rather "how much does it cost me?" and "does it hurt me?" Why must one shift
the bias of the questions? Because open source often helps in much more
profound (and unanticipated) ways than just this quarter's numbers; one
must look at open source as long term strategy rather than short term tactics.
And as for the intense
(and natural) desire to sell a technology instead of giving away the
source code, one has to understand that the choice is not between
"I give a customer my technology" and "I sell a customer my technology",
but rather between "a customer that I never would have had uses my
technology" and "a customer that I never would have had uses someone
else's technology." When one thinks of open source in this way, the
business case becomes much clearer -- but this still may be a bit abstract,
so let's apply these questions to the specific case of DTrace in Leopard...
The first question is "how much did it cost Sun to get DTrace on Leopard?"
The answer to this first question is that it cost Sun just about nothing.
And not metaphorical nothing -- I'm talking actual, literal nothing:
Adam, Mike
and I had essentially one meeting with the Apple folks, answering some
questions that we would have answered for anyone anyway. But answering
questions doesn't ship product; how could
the presence of our software in another product cost us nothing?
This is possible because of that most beautiful property of software:
it
has no variable cost; the only meaningful costs
associated with software are fixed costs, and those costs were all borne
by Apple. Indeed, it has cost Sun more money
in terms of my time to blog how this didn't cost anything to Sun
than it did in fact cost Sun in the first place...
With that question answered, the second question is "does the presence of
DTrace on Leopard hurt Sun?" The answer is that it's
very hard to come up with
a situation whereby this hurts Sun: one would have to invent a fictious
customer who is happily buying Sun servers and support -- but only because
they can't get DTrace on their beloved Mac OS X. In fact, this
mythical customer apparently hates Sun
(but paradoxically loves DTrace?) so much that they're willing to throw
out all of their Sun and Solaris investment over a single technology --
and one that is present in both systems no less. Even leaving aside that
Solaris and Mac OS X are not direct competitors, this just doesn't add
up -- or at least, it adds up to such a strange, irrational customer that
you'll find them in the ones and twos, not the thousands or millions.
But
haven't we lost some competitive advantage to Apple? Doesn't that
hurt Sun?
The answer, again, is no. If you love DTrace (and again, that must be
presupposed in the question -- if DTrace means nothing to you, then its
presence in Mac OS X also means nothing to you), then you are that much
more likely to look at (and embrace) other perhaps less ballyhooed Solaris
technologies like
SMF,
FMA,
Zones,
least-privilege, etc. That is,
the kind of technologist who appreciates DTrace is also likely to
appreciate the competitive advantages of Solaris that run far, far beyond
merely DTrace -- and that appreciation is not likely to be
changed by the presence of DTrace in another system.
Okay, so this doesn't cost Sun anything, and it doesn't hurt Sun. Once
one accepts that, one is open to a much more interesting and meaningful
question: namely, does this help Sun? Does it help Sun to have
our technology -- especially a revolutionary one -- present in other
systems?
The answer is "you bet!" There are of course some general, abstract ways that
it helps -- it
grows our
DTrace community,
it creates larger markets
for our partners and ISVs that wish to offer DTrace-based solutions and
services, etc. But there are also more specific, concrete ways: for
example, how
could it not help Solaris to have Ruby developers (the vast
majority of whom develop on Mac OS X) become accustomed to
using
DTrace to debug their Rails app?
Today, Rails apps are generally developed on Mac OS X and deployed on
Linux -- but one can make a very, very plausible argument that
getting Rails developers hooked on DTrace on the development side could
well the change the dynamics on the deployment side. (After all,
DTrace + Leopard + Ruby-on-Rails is
crazy delicious!)
This all serves as an object lesson of
how unanticipatable the benefits of open source can be:
despite extensive war-gaming, no one at Sun anticipated
that open sourcing DTrace would allow it to be used to Sun's advantage
on a hot web development
platform running on a hip development system, neither of which
originated at Sun.
And the DTrace/Leopard/Ruby triumvirate points to
a more profound change: the presence of DTrace in other systems assures
that it transcends a company or its products -- that it moves beyond
a mere a feature, and becomes a technological
advance.
As such, you can be sure that
systems that lack DTrace will become
increasingly unacceptable over time.
DTrace's shift from product to technological advance -- just like the
shifts in NFS or Java before it --
is decidedly and indisputably in Sun's interest, and indeed it embodies
the value proposition of the open systems vision that started our shop
in the first place. So here's to DTrace on Leopard, long may it reign!
(2007-10-30 08:08:41.0/2007-10-29 11:25:23.0)
Permalink
|