[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Clarification regarding PHP License and DFSG status

On Thu, 22 Dec 2005 19:15:37 -0500 Glenn Maynard wrote:

> On Thu, Dec 22, 2005 at 11:57:18PM +0100, Francesco Poli wrote:
> > | 4. Products derived from this software may not be called "PHP",
> > | nor may "PHP" appear in their name, without prior written
> > | permission from group@php.net. You may indicate that your software
> > | works in conjunction with PHP by saying "Foo for PHP" instead of
> > | calling it "PHP Foo" or "phpfoo"
> This is equivalent to clauses in licenses derived from the old Apache
> license, eg. Subversion:
> These clauses are annoying,

Yes, they are annoying.
Worse: they are non-free.
As Don Armstrong explained more clearly than I did: they are a
restriction on derivative works (DFSG#3) not explicitly allowed by

> These clauses have always been
> considered free, though, just annoying.

They don't seem to comply with the DFSG, so considering them DFSG-free
looks like a mistake.
Past mistakes should not be a justification for reiterating them...

> I've suggested in the past
> that this feels non- free[2], but that's as far as it's ever gone.

Why did you change your opinion on the matter?

> > It gets even worse when applied to anything that is not PHP itself.
> I disagree: it's equally bad or not bad for PHP and anything not PHP.
> The notion that a license could be "free for PHP but not anything
> else" is nonsensical, since modified works are not PHP.  That would
> mean that PHP is free, but modified versions are non-free--an
> impossible conclusion, I hope.

That's not what I meant.
Apologies for expressing myself not clearly enough.

_Second try_

Let's suppose for a simplicity's sake, that the clause under discussion
only forbids derived works to be called "PHP", unless prior written
permission is granted by group@php.net.
The actual clause goes beyond, but now let's just concentrate on its
first part and analyze its DFSG-freeness when applied to various
categories of software, namely:
(a) a piece of software named "PHP"
(b) a derived work of the previous one
(c) a completely unrelated piece of software (not called "PHP")

When applied to case (a) this (first part of) clause is a name-change
clause (acceptable per DFSG#4).

When applied to case (c), instead, it's not a name-change clause as
allowed by DFSG#4 ("[...] The license may require derived works to carry
a different name or version number from the *original software* [...]",
emphasis mine): in case (c) we have a do-not-name-derivatives-like-that
clause, which isn't allowed by the DFSG.

Now the difficult case is (b).
You correctly state that a piece of free software which becomes non-free
as soon as it is modified in any (legal) way, was never actually free in
the first place.
I think that's true.

The question is: how do name-change clauses work?

Let W be a work licensed under a DFSG-free license which includes a
name-change clause (allowed by DFSG#4). Derived works cannot be named
W, but something else. Suppose a derived work of W is called D and is
distributed under the same terms as the license of W (this *must* be
allowed, otherwise DFSG#3 is not complied with).
Now the license of D allows modifications and derived works (otherwise
the license of W, which is the same, does not comply with DFSG#3).
Suppose someone creates a derivative work of D. Is he/she allowed to
call this derivative of a derivative of W, as "W"?
If the answer were yes, then any name-change clause could be easily
worked around through a simple double-derivation (W ---> D ---> W) and
we should stop accepting such a useless restriction and start telling
people that name-change clauses *do not* work.
I think the answer is no.
Therefore the name-change clause forbids both direct and indirect
derived works of W to be called "W". And this should not be surprising,
because a derived work of D is also a derived work of W, as long as
creative expression from W is still present.

So a clause that forbids derived works to be called "PHP" is DFSG-free
for case (a) (that is to say, when applied to PHP) and for case (b), as
well (that is to say, when applied to derived works of PHP).
It's the usual behaviour of name-change clauses, I would say.

The fact that the clause says "PHP" rather than "the name of the
original software" makes it non-free for case (c) (that is to say, for
completely unrelated software).

Wheeew, now I hope I clarified.
Or maybe I confused things even more...  :-(

    :-(   This Universe is buggy! Where's the Creator's BTS?   ;-)
  Francesco Poli                             GnuPG Key ID = DD6DFCF4
 Key fingerprint = C979 F34B 27CE 5CD8 DC12  31B5 78F4 279B DD6D FCF4

Attachment: pgp0Tn0_C0ZHe.pgp
Description: PGP signature

Reply to: