The Show So Far
So IIUC, Anthony Towns is especially exercised by the alleged
difficulty with the QPL's apparent forced publication requirement,
which he things should be no difficulty at all.
But as Henning has pointed out, the QPL doesn't *have* a forced
publication requirement. Thanks to Henning for actually reading the
license carefully, which I hadn't bothered to do. Shame shame shame
Here's how I think about the topic, however, which has been gelling
over the past several days, and leaked out in bits and pieces, but not
in a single clear email.
Why a Forced Publication Requirement is Not Free
The basic reason here is "for the same reason a forced-disclosure of
your tax returns" is not free. Even if it's only on request, even if
the requestor offers to pay your costs, it's still not free. We
wouldn't tolerate the one, we shouldn't tolerate the other. We
wouldn't accept "you must chant the Hare Krishna". Adding a
restriction, is an impingement on freedom. But free software licenses
do have restrictions? How is that OK? Read on.
Why the GPL is free
But then why is the forced distribution of source ok which the GPL
requires? Because this actually augments the freedom of the recipient
of the code. This is a fix for a technical fact about computer
software: you can't easily modify binaries. Your license can't
prohibit modification if it wants to be free, but using a clever
technical trick (compilation) to prevent modification would be a
restriction on freedom. So the GPL prohibits that technical trick (or
rather, removes the teeth from it).
Note that the GPL only forces distribution of source to the actual
recipient of the binary. That's because while an arbitrary third
party might surely benefit from having the source, you aren't using a
technical trick to keep them from modifying it.
Maybe it doesn't matter though
Adding restrictions and conditions makes a license non-free, but only
if those restrictions are a genuine pain. If the restriction isn't
noisome, then it doesn't really matter. This is the logic behind the
"no warranty" advertisements that the GPL requires: supposedly they
are not a genuine pain, and therefore they are ok. I am of two minds
on this topic and have no settled opinion about whether I'm entirely
happy with the no warranty advertisements. But note for the present
that the discussion about them has been almost entirely about whether
they are or are not a genuine pain.
It is here that the Chinese Dissident and Fred the Lawyer tests arose:
to demonstrate that forced distribution clauses are really a genuine
pain, and not mere trivialities. The Chinese Dissident and Fred the
Lawyer tests cannot demonstrate that they are or are not an
impingement on freedom, only that the impingement is material rather
than trivial. This is also what the Desert Island test shows: that in
some cases at least, active notification requirements are a genuine
Anthony Towns is quite right that it is illegitimate to argue "this is
a genuine pain, so it must be non-free". For some people, complying
with the GPL is a genuine pain, and we don't let that make us say that
it's not free! But the genuine pain requirement is a *secondary*
requirement, not a primary one. Anthony Towns is right that it cannot
be a primary requirement, but I don't see it as that, but rather, as
That is, we must *first* decide whether the restriction is an
imposition on freedom, and *then* decide whether or not it's a genuine
pain or only a triviality. If it's a triviality, then we let it go,
but if it's a genuine pain, then we don't. The GPL's source
provisions and public licensing might be a genuine pain to some
company, but they are not impositions on freedom, so it is irrelevant
whether they are a genuine pain. By contrast, forced publication
requirements *are* an imposition on freedom.
Are they a genuine pain? Anthony Towns, IIUC, would only accept them
if one need not pay for the forced publication. The purpose of the
Dissident and Lawyer tests is to show that monetary payment is not the
only sort of genuine pain that is relevant.
The ASP loophole
We have already said that, in the context of the GPL, static linking
and dynamic linking both make a "single program", and anyone who
distributes that program, in parts or as a single whole, with the
intention of distributing that "single program", must comply with the
GPL as to each of its parts.
The "ASP loophole", it seems to me, is merely another technical means
for a dynamic link, and should be subject to exactly the same
requirements as for all other kinds of dynamic linking.