Subject: Re: "On Virus" -- get real
From: "Stephen J. Turnbull" <>
Date: Mon, 27 Sep 1999 16:40:10 +0900 (JST)

>>>>> "bruce" == bruce  <> writes:

    >> So what term should we use instead?  I find Mr. Lang's
    >> suggestion of "hereditary" fair and close enough.  Why not use
    >> that instead?

Hereditary fails the hierarchy test; heredity is hierarchical,
software reuse is not.  A benefit from reusing some piece of a GPL
program can show up in apparently completely unrelated projects.  And
the GPL can become part of a program's environment from many sources,
not restricted by any hierarchical relationships.

This is precisely why "memetic" is better than "genetic" here; few
people think in terms of population genetics---the connotations are
much in terms of "like father, like son" or "blue blood" or "degree of 
consanguinity", very hierarchical.

    bruce> I like "partnership". I think it conveys the spirit of all
    bruce> parties being equal.

That is a falsehood.  Your GPL imposes binding conditions on my use of
a public good.  Show me my name on the dotted line following yours on
a legal contract, and I will concede partnership.  Since such a paper
doesn't exist, this is "partnership" in the same sense that Microsoft
has partnership with people who click-to-accept.

This is not to deny that Microsoft's "partnership" is far more
one-sided; nor that yours creates great benefits to me in the long run.
But it's still unilateral; you, like Microsoft, did _not_ consult _me_
in this.[1]

As for "the spirit of all parties being equal," you will always be
free to sell a license on your code to Microsoft, for any price with
any terms for them (except that you can't abrogate anybody's free
software rights on already published portions), and I never will.  Not
on your GPL code.  True equality means putting it in the public
domain; no restrictions.  _Then_ we're equal.

But you don't want that; you want to restrict me from having rights
that you _do_ have, only because you don't intend to exercise them in
the same way that I would (at least, you believe I or someone that
looks like me would, q.v. "trust").

The fact is that the clause in question is freedom-restricting.
Evidently this loss of freedom is more than balanced by the
preservation of freedom on other projects.  But the clause itself is
merely evidence of the lack of trust of one programmer for another.

Put that way, we would really rather do without it, now, wouldn't we?

>>>>> "kms" == Karsten M Self <> writes:

    kms> I'd been leaning toward "persistant" -- the terms of the GNU
    kms> GPL persist through versions and derivations of the original
    kms> software.

Personally, I think of the pure public domain software as "persistent"
free software; it doesn't change or evolve as history moves around it.

And the GPL is "active"; it doesn't passively "persist" through
derivations, it actively jumps from host to host.  Although viruses
whose vectors are dispersed (the common cold, etc) do infect you
unwittingly, I think the analogy of the GPL to an incurable STD is
accurate (except that the GPL typically strengthens its host in many
ways).  The infection takes place through intentional activity of the
infected, although as an unwanted but predictable[2] side-effect.  To
avoid infection, you don't reuse GPLed software.  Or you interact with
it only when protected by a non-permeable barrier like exec(2).

As many BSD developers have noted with great rue.

Sorry about that (this is even less happy than "viral"), but that's
the most direct way to strengthen the argument for the word "viral"
that I can see.  And it's a rather obvious analogy.

[1]  No reason why you should, of course.  I'm just following Henry
Thoreau in publically resigning from membership in this "partnership"
that I never joined.

[2]  If it were wanted, we wouldn't need that clause.  Again, STDs are
pretty random, but the averages are quite predictable.

University of Tsukuba                Tennodai 1-1-1 Tsukuba 305-8573 JAPAN
Institute of Policy and Planning Sciences       Tel/fax: +81 (298) 53-5091
What are those two straight lines for?  "Free software rules."