Subject: Re: the walls have ears
From: craig@jcb-sc.com
Date: 31 May 1999 11:15:47 -0000

>You will never hear the relevant anecdote you're asking for.  The
>reason is that having source code is _always_ good (with the exception 
>of having the source code to Adventure; getting caught with that would 
>be like having Playboy on your coffee table when you invite a new lady 
>over for dinner for the first time).
>
>However, you will never hear my mother, or 99% of the other hundreds
>of millions of users of Microsoft Word, tell "if-only-I-had-source"
>anecdotes.  And _that_ is my point.  You argue that users always have
>a value for source, and I say, of course.  But if it costs too much to 
>use it, they won't act on that value.

Do your mother and 99% of the hundreds of millions of users of cars,
tell "took-my-car-to-my-*own*-choice-of-mechanic-thank-you" stories?

Pretty much everyone I know does.  Very few of them say "it costs too
much to use the access I have to the engine in my car", very few of
them refuse to act on that value (by having all maintenance on the
car done by an Official Dealership).  Even if they do, they don't
consider having the *choice* as of little or no value, except in
rare circumstances.

What you're arguing here, in essence, is that the *value* of the source
is too low, in the way *I* mean value.  What *you* call "value" is
clearly just one input to what *I* call "value".  *My* definition
of "value" includes not just having the source code, which I don't see
as much of a value per se, but having the ability to make determinations
as to *whether* acting on having it might be worthwhile, etc.

In other words, when I say "source code has value", I mean it has
value even if the *only* value it has to a given person is that
they take one look at it, say "why, I can't make heads nor tails of
it, and certainly wouldn't ask *anyone* but the original author to
modify it", and never deviate from that path.  By your apparent definition
of value, if they take that path, the source code therefore has *no*
value.  In my view, the mere fact that they *could* look at the source
for themselves (in fact, regardless of whether they do or not, e.g.
if a neighbor tells them "don't bother, you won't be able to figure
it out" and they trust him) implies a substantial chunk of value,
just as I consider having a recipe for some dish to be valuable to me
even if I never make it or share it with friends.

Indeed, if you focus on too narrow a definition of "value of source
code", as I believe you're doing, the GPL doesn't look so good,
when it comes to benefitting end users.  Sure, it looks fine for
*coders*, but they can get the original BSD/X11-licensed code (or
whatever) for non-GPL-derived products anyway, so that looks fine
for them too.

Essentially, you're deciding, on behalf of all those end users, that
the value of them having the source code is too low for them.  I say,
let *them* make that call, let them learn from their experiences, and,
lo and behold, they might begin to *demand* source code, because
they might begin to *value* it, even if they know (or believe) that
they're highly unlikely to exploit its availability.

Part of the reason I find this narrow definition of value, often the
"widest" one used by those argument pro-BSD/X11, anti-GPL, so peculiar
is that they place so much stress on the value of an end user having
*some* chunk of the source code for their program available *somewhere*,
out there, on the net, under the BSD/X11 license.  (Well, to be fair,
I they probably mean that such availability is also of little value
to end users, but has value to coders who might be motivated to go
find that source code.  Still....)

>    >> One problem with programmers' discussion of management
>    >> decisions is that programmers rarely consider all the costs
>    >> that management does; they don't have the experience to do so.
>    >> (Of course, the big problem with programmers not discussing
>    >> management decisions at all is the converse ;-) Keep talking
>    >> guys!
>
>    craig> Interesting assumption there, that, because I'm a
>    craig> well-known programmer, I'm therefore not a manager.
>
>You're not well-known to me; I made no such assumption.

Sorry, I thought that, since you were responding to my post, your
use of the phrase "programmers' discussion" applied to the discussion
we were having.

>How much
>corporate finance and marketing management experience do you have?

Some, but not nearly enough to start my own business with much
confidence.

However, to be blunt, I'm incredibly brilliant.  :)

Put another way, before I ever saw a line of code of any operating
system, I'd already reverse-engineered one or two, enough, in my head,
to immediately recognize which of several potential models the
first one whose source I saw fit, allowing me to very quickly come
up to speed on it.  (TOPS-10, if you're curious.)

It's not that I'm all that great a programmer, certainly not a
great algorithmist.  What I do *very* well is think in abstract
terms, which helps with architectural and design issues for both
software *and* businesses.  I have a tendency to be data-deprived
(thanks to not tending to research topics well) and, accordingly,
be too reticent to assign value to my inferences, knowing that
I probably have too little data.  (Sometimes people mistake my
reticence for not knowing squat about a subject.  My wife often
chides me along these lines, for being too "modest", and she's
basically right.  But when I *know* I know someting, I'm hardly
modest about expressing my opinion on the subject...and I'm very
rarely wrong about it when I reach that point.  Get me talking
about language design issues, the "backspace/delete problem", etc.,
and I'll be a lot more certain than I am in this forum.)

>But do you maintain that you
>have, not just a clue, but full comprehension of _all_ the costs of
>programming projects and distribution of the product that management,
>in the global sense, has?

If anyone claims to have such full comprehension, I'd be vary wary of
any *other* claims they might make.  :)

But, I have a skoshe more than a clue, perhaps less than a drizzling
more than one, maybe a skoshe plus a dash or at least a pinch.

Though, I don't see how thorough knowledge of the process of product
development and deployment is needed to understand *customers*, and
how their perceptions and values might be changing out from under
the market.  Despite having led something of a "sheltered existence"
for the past 10 years or so, I do encounter customers of software
all the time -- they often ask me if I can help them with it, or
fix it for them.  99% of the time, the answer is "no, I don't do
Microsoft software, mainly because I can't get at the source, but
also because it's so poorly designed I'd have to invest months just
to get up to speed on all the stupid design decisions they made".

Remember, the US auto industry in the early 1970s had a product
reesarch, development, and deployment infrastructure that would
make your head, not just mine, spin.  Probably in our wildest
dreams neither of us could *ever* have full comprehension of how
all that was managed, the planning and effort it took, and so on.

But the sheer magnitude of that process not only failed to prevent
the *market* from shifting to smaller, lighter Japanese vehicles,
it probably made it *harder* for the US auto industry to rapidly
respond to that situation.

So when I talk about what customers want today, and might want tomorrow,
and how that might affect the market, I really don't *care* how
big a deal developing and deploying software under the *current*
regime might be, especially since I already *know* the process quite
well when it comes to what I'm suggesting might be the *new* regime,
namely, source-available software (a la g77).

>(This is not just to get back at you; my
>point is that many of the relevant transaction costs may in fact be in
>areas you wouldn't know about unless you have quite broad experience.)

I've worked in sufficiently broad areas of product development and
deployment to have *some* understanding.  Let's put it this way: how
these things get done, and what the cost factors are, are *generally*
no mystery to me.  (Of course, the devils are in the details, as I
well realize....)

>    craig>   "But a good businessman does everything he can to reduce
>    craig> the amount of information he has on, and control he has
>    craig> over, his business, so your free-software notion will never
>    craig> catch on."
>
><sneeze>  (Damn that hay fever.)

Dunno what that means, but, in past discussions on g.m.d, proponents
of BSD/X11-style licenses have basically said the above -- more often
stating that "real" businesses would literally *avoid* using,
certainly distributing, GPL'ed software, to keep confusion and legal
risks down.  (The names John Dyson and Austin Ziegler come to mind,
though there were others, less obnoxious, who made many of the same
arguments.)

And, yes, maybe I'm preaching to the choir after all, but, in the past,
on g.m.d, I made many of these exact same arguments about how the
*market*, if it moved towards choosing source-code availability, would
diminish the disadvantages of the GPL, and nobody seemed to be agreeing
with me back then.

(This all has a strong sense of deja vu about it, except instead of
people telling me I'm full of BS for even *believing* in this GPL
stuff, they're telling me I'm not getting the setting of "value"
just right when it comes to how grandma looks at source code for
her favorite bloatware.  We certainly seem to be following that
classic "4 stages of a new idea", or whatever it's called, path when
it comes to the GPL, and we seem to be entering the final stage,
which, IIRC, is when people say "but we always knew that!".)

(Which reminds me: most of Word has no value to your mother, either,
because she'll never use probably 99% of its features.  That doesn't
mean she doesn't *value* having those features available to her,
does it?  After all, she paid *cash* for them, right?)

>    craig> the assumption that source code is of little value will
>    craig> have nearly vanished.
>
>    >> Who assumes this?  I would say almost nobody.
>
>    craig> The answer is "almost everybody" when it comes to people
>    craig> arguing that the BSD is "more free" *or* "more successful"
>    craig> vs. the GPL, in the context I wrote, specifically, the
>    craig> importance of source code to *end users*.
>
>Say bloody f**king what?  Anybody arguing for MIT/X-style licenses
>(aka BSD, thanks to RMS for the URL on why not to use BSD as the
>generic term), obviously knows that source code is of great value.

To the end users, as I said?  That's good to hear.  So then you agree
with what I've been saying all along, that the main question is
whether those end users will *recognize* the great value of their
having the source code to the programs they run?  (Though you might
disagree with my opinion that, having done so, they'd no longer support
today's huge market for non-GPL'ed, especially proprietary, software.)

>As
>for end users, (1) end users like my mother really do have zero use
>for source

Yet you just emphatically claimed it has "great value" to her!!
What's up with that?

>Brian Behlendorf makes a coherent argument
>(which you summarily dismissed)

Please quote me on that.  I recall making no such dismissal.

>that there are reasons why most of the
>benefits to end users of source code (namely, embedded in it during
>development) will be captured by say Apache's business model, and for
>the rest, ones for whom source really is important for fixing bugs,
>say, they can use Apache instead of WebSphere.

Indeed, many of the benefits might well be captured.  But if users
start insisting on their having the source code *anyway* -- and
users aware that they're using "free software" are more likely to
do this -- the *value* of the source code *not* being GPL'ed goes
*down*, whereas the *cost* of not being GPL'ed (not having pro-GPL
hackers like me as willing to work on it) doesn't go down quite
so fast (as they'll still be wary of people *trying* to profit off
of proprietary versions, even if they think they won't succeed).

(Remember, *value* is a major issue raised by this thread.  Paraphrased:
"BSD is most free"; "Well, from certain perspectives, GPL offers more
freedoms"; "Those freedoms are unimportant because they have little
value".)

>Finally, I can't imagine that Brian would argue that WebSphere would
>not be even better for its users if it came with source!  Surely you
>can't either.  His argument is something besides "source has no value
>to end users."  You are simply putting words in other people's mouths.
>Bad practice.

Strange thing is, I keep seeing people like you saying that your mother
has no use for source, implying that, therefore, it has no *value* to
her, in the sense that she won't see a GPL'ed product as having any
more intrinsic *value* to her than an identical proprietary product.
(Let's forget about the make-copies-for-my-bridge-friends issue, to
keep the focus on the source.)

Maybe someday I'll figure out just what y'all mean by saying "yes, we
agree source code has great value to end users, except it doesn't have any
exploitable value to 99% of them", but, so far, I haven't, and haven't
really understood which of your writings might be even *attempts* at
explaining that.

Meanwhile, I think *I* understand those issues perfectly.  I'll probably
never use the fire extinguishers in my home, and I find the smoke
alarms only *annoying*, but they *all* have value to me.  Not only have
I not simply disconnected the smoke alarms, but I went to some trouble
(being mechanically declined ;-) to mount the extinguishers in suitable
locations throughout the house.  But we don't smoke, we hardly ever
use the one real fireplace in the house (three times in five years or
so), we use the sealed-in gas fireplace only a bit more often, and we
don't have kids or pets.  Further, I'm hardly a safety nut -- I drive
an '83 Camaro Berlinetta, my wife an '86 Toyota Camry, which means,
no air bags, not much rollover safety, my car's lousy in rain or snow
(but it's a standard, at least), etc.

So is that fire stuff not valuable to me?  Of course it is, because
I understand the value of something that is never used, especially
of something that is *hopefully* never used (which, in a sense, goes
for much of the source code I have in my possession).

I just don't understand why BSD advocates don't "get" the applicability
of this to source code, for people just like me (not as a hacker, but
as a regular joe who happens to find Linux modestly usable), who'd rather
be safe than sorry, rather have choice than be locked out of the source
code, rather be able to share with friends than twiddle our thumbs waiting
for license-checking software to run, and so on.

My suggestion: don't waste another breath deprecating the value of
source code to the end user.  Instead, promise end users that you'll
forever deliver *more* value in the form of BSD'd software, especially
when it comes in the form of proprietary products *without* source code.

That way, we'll be comparing feature sets, code robustness, and so on,
not about terms like "value".

>    craig> Without the source code, you never get to find out.
>    craig> Period.
>
>My mother doesn't need to have source code to know that she can't use
>it.  It's an extreme example, I admit.

It's also wrong.  *My* mother is probably less technically astute than
yours, but when she's had trouble, *I* could have helped her out if
she'd been using a source-available system.  And I've made sure she
knows it, by, pretty much ever since she traded up from an Apple IIc
(which I had some experience with, 15+ years ago) to an IBM running
Windows, saying "why don't you call Kim", referring to my MS-employed
sister.

In other words, your mother might "know" she can't use source code,
but she's, quite simply, wrong about that, unless she knows she'll
buy the product one day, and die the next, or some equally strange
corner case.  In which case, she can't use a smoke alarm, fire
extinguisher, air bag, Social Security, etc., either.  Those corner
cases are not interesting in determining market factors, though.

For myself, I haven't looked at the source code for probably 99.5%
of the programs on my system, probably 95% of the ones I run, and
probably never will.

But having that source code *available* to me is *valuable*, in case
of emergency, and it's certainly inexpensive enough to have it lying
around on a CD-ROM.  (This is all ignoring the freedom component, which
is important to me as well.)

As soon as you, or anyone else, puts their source code under a license
other than the GPL -- precisely, under a license that doesn't assure
source-code availability for the end user of a program derived from
their code -- they're, to a degree, counting on there being value in
having someone other than the end user decide that the end user shouldn't
even have an opportunity to find out if having that source code is
valuable to him.  That's worked well in the past, but is increasingly
risky.  At some point, it will be *visibly* risky, assuming it isn't
already.

>Unfortunately for you, it's no
>straw man: it applies to 99% of users by head count, and you can't
>just blow it away like the Big Bad Wolf did.  The "corporate users do
>need source for that" argument runs afoul of the advantage to a
>corporate user in having exclusive rights to source, see below.  The
>argument for free public licenses has to rest on benefits to large
>numbers of users.

Indeed, and one of my points has been that, just as exploiting having
the source *available* has traditionally been hard but is getting
easier, at the same time, exploiting the advantage you cite of having
*exclusive* rights to source (above and beyond the advantage of simply
having the source *available*) has traditionally been easy, but is
getting harder, in comparison with the advantage of simply having it
available over not having it at all:

  delta-exploitation-value         delta-availability-value
  ------------------------    <    ------------------------
           time                               time

where
  delta-exploitation-value = exploitation-value - source-availability-value
and:
  delta-availability-value = source-availability-value - product-value

So, while the trend line of difficulty of exploiting exclusive rights
to source might still be going down, the trend line of difficulty
of exploiting *availability* of source is going down *faster*, and
the industry and trade press are waking up to the fairly steep slope
of that latter trend line, if not the fact that it's steeper than
the former one.

That means the market, especially the end users, who are (especially
now) *far* less likely to think in terms of exploiting *exclusive*
source than in terms of exploiting *available* source, is seeing,
over time, the latter as increasing in value faster than the former,
even assuming the former is seen as increasing in value at all.

>    craig> Again, once enough *end users* decide that the risks of
>    craig> being "caught with their source down" (no source code for
>    craig> their products) are just too great, the profit-making
>    craig> potential of proprietary or BSD vs. the GPL will stop
>    craig> appearing so great.
>
>Exactly.  Again, nobody as far as I can tell would deny this.

Hmm.  Well, that's good to know.  It has often seemed, in these discussions,
as though people believe the market will never change its opinion of
the value of having source code available.  Which is especially strange
now, considering that it is *clearly* doing so.  (Well, it's conceivable
that it's getting a free ride due purely to Linux not crashing thrice
daily, but I find that hard to believe.  We'll know after W2K comes out.
If MS can't make it crash-proof, though, which the market, to which it is
claimed to be so finely tuned, must be demanding if it isn't the
source-availability issue, as it sure as heck isn't demanding UNIX, then
I think the market might well conclude that the bazaar model of source
development has triumphed over the proprietary model, for large-scale
projects, *period*.)

>Users will stop using MS Word on the day that
>a free word processor offers the same functionality, _including the
>promise of current and future external network benefits_.

I'm not quite sure I understand that last phrase, but Eric Sink believes,
if I recall his argument correctly, that users won't stop using
Word in favor of a free one until one comes along that is *better*.

(IIRC, he pointed out that there were three competing Office-like
suites, not free AFAIK but, still, two quite a bit cheaper, all
basically functionally the same.  Yet users spent the big $$ on MS's
offering in droves anyway.  I think this is why he believes a mere
free clone won't cut it, despite the source availability!  I tend
to agree, for now, because I don't know that the market is moving
all that fast increasing its valuing of source availability, though
I often underestimate things like this.  Though perhaps it would
if a GPL'ed Office suite with equivalent functionality came out
running on W9[58], WNT, W2K, whatever...still, I don't think it
would for some time.  Eric also claimed nearly no Word users he talked
to actually liked it, the way most Wordperfect users like their
product; similarly, few W9[58] users like that OS the way MacOS users
like their OS.  So, it's not clear to me how receptive the Word/W9[58]
audience is to free software per se -- I suspect they're more interested
in jumping aboard *whatever* dominant bandwagon comes around, since they've
basically already done that as unhappy users of Word and W9[58].  If that
new bandwagon happens to be Linux/GPL, they'll be preaching to us choirboys
in another few years about the wonders of free software, but that won't,
by itself, convince me *they* have truly converted.  I might still think
a non-GPL'ed, even proprietary, bandwagon could reclaim them by simply
becoming dominant.)

>    craig> How many businesses that buy fleets of cars (looking at
>    craig> only those that don't do it as part of their central
>    craig> mission, or at all of them, e.g. whether you include
>    craig> rent-a-car companies) deliberately choose to buy them with
>    craig> the hood welded shut?
>
><sneeze>  Get the straw off that crash-test dummy and I'll see if
>there's anything left I want to answer.

I have yet to see *any* explanation offered by you, or anyone else,
as to why the market cannot possibly change its perceptions of the
value of having access to the internals of software just as it did
regarding the internals of cars, or the stock market, or anything else.

As long as you appear to campaign for a static model of the market's
perceptions, I'll keep reminding you that, 80 or so years ago, hardly
anybody knew how to work under the hood of a car, but there were
still plenty of cars out there.  The "any color, as long as it's black"
attitude reminds me of today's "anything you want, as long as you don't
insist on source code" attitude.

>I'm convinced that a rapidly
>increasing share of businesses will demand source-availability over
>time.  _That has nothing to do with free ****public**** (flags flying,
>brass band, 4-part harmony) licenses._  In fact, I can see companies
>deliberately trying to get _exclusive_ source licenses from
>consultants on customized software to get competitive advantages in
>their industries.

Okay, maybe this is all we disagree on after all, except for subtle
differences in how we define things like "value".

So, I'd like to know just how, if the public values *available* source,
licenses that don't *guarantee* that continue to offer the same kind
of added value compared to the GPL.

In other words: where do those "competitive advantages" come from
if the consumers of that customized software insist on getting source,
especially on it being GPL-style source that they can have maintained
by others (and then sell copies of their improved version, if that's
what they want)?

>    craig> But there are more convincing arguments in favor of
>    craig> choosing a slide rule than there are in favor of choosing
>    craig> to not have the source code to programs you're using.
>
>Numerically, yes.  But the really convincing argument is one that
>you've chosen to basically avoid: if the price for closed source is
>right, people will forego source.  RMS doesn't avoid it, you know;
>he's well aware of this factor.  That's one reason (of many) why he
>argues for Copyleft.

If the price for closed source has to become near zero to be "right",
then the *value* of closed source will be pretty near zero as well,
at which point the *value* of putting new code under licenses under
non-GPL licenses compared to GPL won't look all that great, either.

That's my understanding of the market dynamics, anyway.  Where is
the value of a non-GPL'ed license over the GPL, if not in the assumption
that end users of the *code* (not the other-licensed *program*) will
continue to be willing to not have the source code for the *program*?

So, it's not that I'm choosing to "basically avoid" that issue --
after all, that's the *dominant* issue *today*, so I hardly need
waste any time talking about it.  I've been talking, all along, about
how the real (and supposed) advantages of non-GPL'ed licenses *decline*
as the market increasingly values *source availability* for end users.
If it values that, people will no longer (as they do today) forego
source simply because the "price is right", any more than they do that
in a variety of other industries.

OTOH, if the result of this present state of affairs is that the
proprietary-sw industry wakes up and starts making truly well-
engineered, industrial-strength software that "just works" out of the
box, is fully extensible as far as nearly any user would want, and
doesn't need lots of upgrades to keep it running, then the market
probably will *not* greatly increase its valuation of having access
to the source, assuming that happens before the market takes to the
source-availability argument in droves.

In that case, BSD/X11 will continue to enjoy certain substantial
advantages over GPL, such as being able to protect code under
development in a way that still allows it to find its way into
those rock-solid proprietary apps.

I don't know when the market might, if ever, take source-availability
to heart, but my impression of the proprietary-software development
process is that it'll be a *loooong* time before producing rock-solid,
crashproof, bug-free software (a la qmail) will be the dominant
paradigm.  There might be a software-house equivalent of Nordstrom's
before that (i.e. "we might not sell perfect software, but we do sell
you perfect service"), but my guess is they'd focus so much on service
that they'd *inevitably* get heavily involved in servicing OSS anyway,
such that they'd not be an argument for the public not caring about
having source availability.  (They might even be an argument in *favor*
of it.  For all I know, Cygnus is Nordstrom's for software, though
I don't think so...at least because a Nordstrom's for software would
service desktop-PC users doing end-user stuff, among other things that
Cygnus does not, to my knowledge, get involved in...yet.)

>Look, I _hope_ you're right.  If you are, the revolution will happen,
>and faster than most of us would expect, and it will sweep all before
>it with its light-GPL-saber (that's poetry, you can make fun of me if
>you like, I'm not making fun of you).  But what if you're wrong about
>the value to users?  There are still reasons why free software is a
>GoodThang[tm], and it behooves us to try to find ways to implement
>those benefits---which may involve non-GPL licenses.

Correction: If I'm right, the revolution *might* happen, since I don't
believe I'm arguing that it *will*.  What I will predict, though, is
that if the market does embrace having source availability, there *will*
be a sea change, one of the results being that getting VC for a new business
with the goal of producing yet another proprietary software product
will become much harder than it's been for most of the past 20 years,
and perhaps harder than getting VC for a GPL-related business.

But, of *course* free software is a Good Thing, and of course finding
ways to obtain benefits from it might involve non-GPL licenses.

RMS said he preferred for people to use GPL.  I know *I* prefer to use
it for my new code, and thus prefer any code I might want to hack on
to be GPL'ed, but, like RMS, I believe free code is free code, and has
value regardless of the license.  Since I don't speak for the FSF,
I hesitate to tell others they should be using the GPL for their code
(though I want them to carefully study all the issues), and few would
care if I did, anyway.

        tq vm, (burley)