|Tim Bray and I
hosted a discussion at JavaOne 2004 on the realities of open source
development for subscribers to Sun's Inner Circle Newsletter - mainly
CIO/CTO types from some of Sun's best customers, plus a few stragglers
(an IBM employee or two for example). It was a small, select, friendly
but alert audience, a pleasure to meet and an honor to present to.
asked a question that often crops up; 'Sun is giving so much
source-code to open source (Project
and Solaris the most recent announcements), how will it ever monetize
these donations - how can you make money if you keep giving stuff
away?' It's a good question. At its heart lies a misunderstanding about
the nature of open source software, and once that's cleared up
everything falls into place much more easily. The paradox - profiting
from what is given away - is actually one many of us participate in
every day in another area of our lives.
Open Source Development in Overview
source software development is best defined using the phrase coined by Professor
Yochai Benkler - "commons-based peer production".
Open source development uses a pool of software assets that is held in
common by a community - termed a 'commons' by Professor Lawrence Lessig
- which is enhanced and expanded over time. The community is comprised
of peer experts of all kinds, each with a status reflecting only their
abilities - age, previous achievements elsewhere, employer or external
factors such as race or politics should be irrelevant. The community is
focussed on production of software - "code talks, talk doesn't code".
each aspect there is a facilitator.
- The Commons
facilitated by a license that grants the rights that the community
needs to function. The license will offer unrestricted access to the
source code that comprises the commons, unrestrained by either payment
requirements (gratis) or usage restrictions (libre).
nature of the
community is facilitated by the governance model of the community. This
is often overlooked but it's just as important as the license. Good
governance will for example result in the power to permanently change
the contents of the commons (the power to 'commit' changes, exercised
by a 'committer') being held only by those the community respects as
key to quality thus lies in
governance. Bill Joy pointed out that no-one can hire all the smart
people; open source development gathers them together and recognises
the smartest as committers. The quality of good open source software
comes not from many hands being involved but from the best being given
the keys to the commons.
- The production
of software from the commons is facilitated both by the license and the
worth noting that the focus of an open source community is development
- none of the freedoms required of a software deployer
(such as strict compatibility with externally-defined standards,
essential if the freedom to switch to a different software solution is
to be preserved) are explicit objectives. All the time that open source
software has been the preserve of developer-deployers there's been no
issue, but as it becomes more widely used by deployers with no interest
in development, the need for new ways to provide deployers with their
necessary freedoms will grow.
freedoms do deployers need? They're actually rather traditional:
that meets actual business needs
to change supplier, so that prices can always be negotiated
to choose new software solutions as business needs evolve
of the data, by implication control of the format it's stored in
from liabilities associated with the development of the software
derived from an open source
community may or may not meet these requirements. For many companies,
there has been an initial rush based on the abilities of skilled and
visionary employees to obtain software gratis from open
source communities but increasingly CIOs are realizing this doesn't
secure all the freedoms they need for long-term business. They're
turning to commercial suppliers to act as their intermediaries with the
open source communities - "they join the community so we don't have to."
Just Like The Newspapers
Sun is developing for giving customers the benefits they need using
open source is illustrated well by Sun's Java Desktop System
(JDS). JDS comprises many software elements drawn from a wide range of
open source communities. To understand what's happening, let's consider
the newspaper industry.
haven't been killed off by
the Internet (at least, not yet!). The reason for this is that when we
buy a newspaper, we're not buying the news. These days the news is free
(gratis) - we can go online and read newsfeeds from
organizations like Reuters or the Associated Press, or original
reporting from an organization like the BBC. When I buy a newspaper
like 'USA Today' or 'The Independent', I am actually buying an editorial
The editor-in-chief for the newspaper sets the outlook, and then the
editors and other staff select the news stories, phrase the reports,
position them in the publication and perform the lay-out in support of
that editorial outlook. If I go online to get the news, I have to do
the work of selecting and filtering the news, and I may not always be
aware of the biases of the source I am using. To get an aggregation of
the news I want delivered in a style that helps me and with biases I
understand, I subscribe to a newspaper.
just like this. Almost all the
elements that comprise it - the Mozilla browser, the Evolution mail and
calendar client, the StarOffice document productivity suite, the
underlying GNU/Linux operating system they depend on, the Gnome desktop
environment they use and much more - come from open source communities.
You could go get all those parts yourself - they are all available gratis.
But then you'd have to integrate them yourself, support them yourself,
accept joint liability for their use of ideas yourself.
Sun acts like the
editor-in-chief of the JDS 'publication.' Staff select the software
components to include and exclude, work to integrate them, constribute
to each of the open source communities to improve their compatibility
and completeness. Sun packages and delivers the final publication,
offers support and updates, fixes security exposures, offers indemnity
and generally joins the communities so you don't have to.
buy the software from Sun -
instead you subscribe
to the editorial outlook. Sun's editorial view is to deliver high
function, ease of use, data format and networking compatibility, low
migration cost, re-use of existing hardware, escape from Windows
viruses and security risks and minimal retraining. If that's an
editorial outlook that fits your corporate needs, you'd do well to
the analogy further, you're not
just subscribing to a publication that's tightly bound together between
stitched hard-covers. JDS is more like a publication delivered in a
ring-binder on punched paper. You're free to insert extra pages - add
software like Wine to allow existing Windows applications to run, for
example. You're free to remove pages you don't need. You're free to
substitute pages where you have another preference (maybe you'd rather
use the new Firefox browser?)
Resolving the Paradox
it's clearer now why Sun
donates software to open source communities. It's not a matter of
'giving away'. Instead, Sun is joining with the other smart folks out
there and contributing to the commons of many communities to create and
enhance the pool of software from which 'publications' such as JDS are
then derived. Sun has always believed that business success comes not
from eliminating competitors or always 'coming first' but from creating
marketplaces in which Sun and others can all succeed - "a rising tide
lifts all boats."
will be other 'publications' you
could choose - you could even assemble your own if you wish. But the
right editorial outlook at the right subscription price will allow Sun
to monetize its software investment more effectively than a closed sale
of a sealed product ever could in our new, massively connected society.