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

Re: GPL v3 Draft 3- text and comments



On Wed, 28 Mar 2007 16:07:34 -0400 Joe Smith wrote:

[...]
> For the record: IANAL, IANADD.

My comments on the new draft follows.
I will send them to the FSF public consultation system RSN (since they
are accepting comments for only 60 days, starting on 28 March).
 
IANAL and IANADD either.

[...]
> ---------------------------------------------------------------------
> ----------------------
>     GNU GENERAL PUBLIC LICENSE
>         Discussion Draft 3 of Version 3, 28 March 2007
> 
> THIS IS A DRAFT, NOT A PUBLISHED VERSION OF THE GNU GENERAL PUBLIC
> LICENSE.
[...]
>          TERMS AND CONDITIONS
> 
> 0.  Definitions.
[...]
>   "The Program" refers to any copyrightable work licensed under this
> License.

:::: Style: Program or Work?

Since the GPL is designed to be applicable to any work of authorship
(not only computer programs), I would suggest using a more neutral term
than "the Program".  Something like "the Work" would avoid misleading
many many people into thinking that the GPL can only be applied to
computer programs.

[...]
>   To "modify" a work means to copy from or adapt all or part of the
> work in a fashion requiring copyright permission, other than the
> making of a verbatim copy.  The resulting work is called a "modified
> version" of the earlier work or a work "based on" the earlier work.  A
> "covered work" means either the unmodified Program or a work based on
> the Program.

:::: Good: clear definitions

The definitions of "modify", "modified version", work "based on" another
work, and "covered work" are slightly changed with respect to
GPLv3draft2, but they are still clear.  It's good that the definition of
"modified version" exploits applicable copyright law without trying to
rewrite it.  This ensures that the license does not place restrictions
on activities that do not require permission under applicable copyright
law.

[...]
>   To "propagate" a work means to do (or cause others to do) anything
> with it that requires permission under applicable copyright law,
> except executing it on a computer or making modifications that you do
> not share.  Propagation includes copying, distribution (with or
> without modification), making available to the public, and in some
> countries other activities as well.  To "convey" a work means any kind
> of propagation that enables other parties to make or receive copies,
> excluding sublicensing.  Mere interaction with a user through a
> computer network, with no transfer of a copy, is not conveying.

:::: Good: clear definitions

The definitions of "propagate" and "convey" seem fairly clear.
Again, their linking to copyright law ensures that the license does not
place restrictions on activities that do not require permission under
applicable copyright law.

[...]
> 1. Source Code.

:::: Good: clear and appropriate

This section seems OK to me.

> 
>   The "source code" for a work means the preferred form of the work
> for making modifications to it.  "Object code" means any non-source
> form of a work.

:::: Good: please keep these definitions

I like the definitions of "source code" and "Object code" as they are. 
Good to see that they were kept unaltered.

[...]
> 2. Basic Permissions.
> 
>   All rights granted under this License are granted for the term of
> copyright on the Program, and are irrevocable provided the stated
> conditions are met.  This License explicitly affirms your unlimited
> permission to run the unmodified Program.  The output from running a
> covered work is covered by this License only if the output, given its
> content, constitutes a covered work.  This License acknowledges your
> rights of fair use or other equivalent, as provided by copyright law.

:::: Good: mentioning of fair use is an improvement

Good to see that fair use and similar rights are explicitly mentioned. 
This is an improvement over GPLv2.

> 
>   Propagation of covered works that you do not convey, and making
> modified versions of the Program that you do not convey, are permitted
> without conditions, so long as your license otherwise remains in
> force. Conveying is permitted under the conditions stated below.
> Sublicensing is not allowed; section 10 makes it unnecessary.

:::: Good: overreaching patent retaliation clause has been dropped

I'm glad that the patent retaliation clause has been dropped: it was
overreaching IMHO.

> 
> 3. No Denying Users' Rights through Technical Measures.
> 
>   No covered work shall be deemed part of an effective technological
> measure under any applicable law fulfilling obligations under article
> 11 of the WIPO copyright treaty adopted on 20 December 1996, or
> similar laws prohibiting or restricting circumvention of such
> measures.

:::: Problematic: possibly untrue

This clause is improved (being now denationalized), but still
problematic.  It could be seen as an untrue statement in some cases. 
How can the licensor say that the covered work won't be judged as "part
of an effective technological measure" under a given law?  That is for
the courts to decide.  In some scenarios, GnuPG may actually be
considered "part of an effective technological measure" and could be
deemed so by a judge...

> 
>   When you convey a covered work, you waive any legal power to forbid
> circumvention of technical measures to the extent such circumvention
> is effected by exercising rights under this License with respect to
> the covered work,

:::: Bad: possibly overreaching

This clause is clearer than in the previous draft, but still
troublesome, as it seems to be overreaching.  For instance, it could be
interpreted as covering legal powers to forbid "computer crimes" such as
unauthorized intrusion into computer systems.

E.g.: suppose that the covered work is a vulnerability scanner, or
password cracker, or anyway a tool that could be used (among other
things) to break into other people's computers.  Using that tool in this
manner is exercising a right "under this License" and is a circumvention
of appropriate technical measures set to protect a computer system or
network from unauthorized access.  Gaining unauthorized access to a
protected computer system or network is forbidden by law in several
jurisdictions; do I waive such a legal protection, when I convey the
covered work?

I suggest dropping the waiver entirely, thus leaving the following
disclaimer only.

===> waiving legal rights can be seen as a fee: this clause could fail
DFSG#1

> and you disclaim any intention to limit operation or
> modification of the work as a means of enforcing, against the work's
> users, your or third parties' legal rights to forbid circumvention of
> technical measures.
> 
> 4.[1] Conveying Verbatim Copies.

:::: Good: substantially unchanged

This section seems to be reworded for clarity, but not much changed in
its meaning with respect to previous drafts.  It's not that dissimilar
to the corresponding section in GPLv2 (apart from the references to
section 7) and looks OK to me.

[...]
> 5.[2] Conveying Modified Source Versions.
> 
>   You may convey a work based on the Program, or the modifications to
> produce it from the Program, in the form of source code under the
> terms of section 4 above, provided that you also meet all of these
> conditions:
> 
>     a) The work must carry prominent notices stating that you
>     modified it, and giving a relevant date.

:::: Good: improved wording

This subsection is clarified as to which date(s) must be given.  This is
an improvement, since many people were uncertain on how the
corresponding language in GPLv2 should be interpreted.

[...]
>     c) You must license the entire work, as a whole, under
>     this License to anyone who comes into possession of a copy.  This
>     License will therefore apply, unmodified except as permitted by
>     section 7, to the whole of the work, and all its parts, regardless
>     of how they are packaged.  This License gives no permission to
>     license the work in any other way, but it does not invalidate such
>     permission if you have separately received it.

:::: Good: disjunctive licensing is explicitly acknowledged

I think that explicitly acknowledging the possibility of dual licensing
(GPLv3 or OTHERLICENSE at the recipient option) is good, as it clarifies
that the GPL does not try to take away permissions that are separately
granted.  This is an improvement over GPLv2: good to see that it was
kept in GPLv3draft3 too.

Section 5 seems OK, so far (apart from the reference to Section 7, more
on this in a later comment...)

> 
>     d) If the work has interactive user interfaces, each must
>     include a convenient feature that displays an appropriate
>     copyright notice, and tells the user that there is no warranty for
>     the work (unless you provide a warranty), that licensees may
>     convey the work under this License, and how to view a copy of this
>     License. Specifically, if the interface presents a list of user
>     commands or options, such as a menu, a command to display this
>     information must be prominent in the list; otherwise, the
>     work must display this information at startup.  However, if the
>     Program has interactive interfaces that do not comply with this
>     subsection, your work need not make them comply.

:::: Bad: too restrictive

Clause 5d in GPLv3draft3 is basically unchanged with respect to previous
drafts.  It's worse than the corresponding clause 2c in GPLv2... :-(

It's an inconvenience and border-line with respect to freeness. 
Actually this clause restricts how I can modify what an interactive
program does when run.  It mandates a feature that I *must* implement in
*any* interactive interface of my modified work.  It's very close to
place an unacceptable restriction on modification.  What is more awkward
is that it seems that when a non-interactive work is modified so that it
becomes an interactive work, the modifier is *compelled* to implement
these features in *any* newly created interactive interface...

I would like to see clause 5d dropped entirely. 

===> very close to fail DFSG#3

[...]
>  6.[3] Conveying Non-Source Forms.
[...]
> A separable portion of the object code, whose source code is excluded
> from the Corresponding Source as a System Library, need not be
> included in conveying the object code work.

:::: Good: basically unchanged so far

Section 6 seems so far to be basically similar to section 3 of GPLv2,
just more explicit and clear in some respects and a little more
permissive in other ones.  Good.

> 
> A "User Product" is either (1) a "consumer product", which means any
> tangible personal property which is normally used for personal,
> family, or household purposes, or (2) anything designed or sold for
> incorporation into a dwelling.  [In cases of doubt concerning whether
> an item is a "consumer product", the interpretation of the
> Magnuson-Moss Warranty Act, 15 U.S.C. 2301 et seq., shall provide the
> basis for interpretation, regardless of the choice of law
> determination for this License as a whole.]

:::: Problematic: very U.S.-centric

This part between squared brackets looks too U.S.-centric and awkward to
see in a license text.  I feel uneasy in reading such specific
references in a license...

I suggest dropping this sentence entirely.

> 
> "Installation Information" for a User Product means any methods,
> procedures, authorization keys, or other information required
> to install and execute modified versions of a covered work in that
> User Product from a modified version of its Corresponding Source.  The
> information must suffice to ensure that the continued functioning of
> the modified object code is in no case prevented or interfered with
> solely because modification has been made.
> 
> If you convey an object code work under this section in, or with, or
> specifically for use in, a User Product, and the conveying occurs as
> part of a transaction in which the right of possession and use of the
> User Product is transferred to the recipient in perpetuity or for a
> fixed term (regardless of how the transaction is characterized), the
> Corresponding Source conveyed under this section must be accompanied
> by the Installation Information.  But this requirement does not apply
> if neither you nor any third party retains the ability to install
> modified object code on the User Product (for example, the work has
> been installed in ROM).
> 
> The requirement to provide Installation Information does not include a
> requirement to continue to provide support service, warranty, or
> updates for a work that has been modified or installed by the
> recipient.  Network access may be denied when the modification itself
> materially and adversely affects the operation of the network or
> violates the rules and protocols for communication across the network.

:::: Good: clarified requirement to accompany source with installation
keys

This requirement to provide Installation Information is a reworded and
clarified version of the requirement to include installation keys in the
Corresponding Source (as the draft rationale explains).  The current
language seems clearer and better.  Good.

[...]
> 7. Additional Terms.

:::: Good: improved section

This section is improved with respect to the previous draft, especially
because two additional requirements can no longer be added to a covered
work (forced distribution of source to network users, and strong patent
retaliation clause).  Unfortunately more improvements are needed for
this section to be considered OK.  Further details in later comments.

[...]
>   Notwithstanding any other provision of this License, you may
> supplement the terms of this License with terms effective under, or
> drafted for compatibility with, local law:

:::: Kills copyleft: this is not in the spirit of GPLv2

I strongly *dislike* the entire concept of allowing a limited set of
additional requirements to be added.

That is *against* the spirit of the GPLv2 (where the FSF promised that
new versions would "be similar in spirit to the present version", see
GPLv2, section 9.) and greatly weakens the copyleft.

Yes, it enhances license compatibility (as the rationale of GPLv3draft1
explains), but the GPL never was a champion of compatibility.  If the
goal were maximizing license compatibility, the best choice would be
adopting the 2-clause BSD license
(http://www.gnu.org/licenses/info/BSD_2Clause.html) as the new GPL... 
It would be compatible with pretty everything and clearly free, even
though non-copyleft.  I'm *not* against non-copyleft free licenses, but
they definitely aren't "similar in spirit to" GPLv2...

I would be happy to see all these "permissions to add restrictions"
entirely dropped from Section 7.

===> not a Freeness issue, but a great loss, since, if this mechanism is
kept in the final GPLv3 text, GPL-compatibility will no longer be a
DFSG-compliance guarantee...  :-(

[...]
>   b. requiring preservation of specified reasonable legal notices or
>   author attributions in source or object code forms of material added
>   by you to a covered work; or

:::: Kills copyleft: are these the cousins of GFDL's Invariant Sections?

What exactly is a "reasonable legal notice"?  What exactly is an "author
attribution"?  It seems that these terms are not defined anywhere in the
license.  I'm concerned that they could be interpreted in a broad sense
and allow people to take a GPLv3'd work and add some sort of invariant
long text that nobody will ever be able to remove or modify...  This
option could make a work include unmodifiable & unremovable parts and
thus fail to fully grant the freedom to modify.  I would rather avoid
introducing such options in the GPLv3!

===> this option could make the work fail DFSG#3, when exercised

[...]
>   All other non-permissive additional terms are considered "further
> restrictions" within the meaning of section 10.  If the Program as you
> received it, or any part of it, purports to be governed by this
> License, supplemented by a term that is a further restriction, you may
> remove that term.

:::: Good: further restrictions are void

I'm glad to see that this is explicitly stated: every attempt to license
a work under the terms of GPLv3 with further restrictions is equivalent
to licensing under the plain GPLv3.  This is good, since there are
unfortunately many people that license works in inconsistent manners
(such as GPLv2 + additional restrictions); creating a rule that resolves
this kind of inconsistency for the better is a good thing to do.

[...]
>   8.[4] Termination.

:::: Improvable: fails to mention fair use

Section 8 seems to be more or less similar to section 4 of GPLv2, except
that it's more forgiving to first-time violators.  This is good. 
However, as in GPLv2, it fails to mention fair use and similar rights
and possible separate licenses (as in disjunctive dual-licensing...). 
It should be improved to acknowledge these possibilities.

[...]
>   9.[5] Acceptance Not Required for Having Copies.

:::: Improvable: again fails to mention fair use

Another section that fails to mention fair use and similar rights and
possible separate licenses.  Section 9 should be improved by
acknowledging these possibilities.

[...]
>   10.[6] Automatic Licensing of Downstream Recipients.
[...]
>   You may not impose any further restrictions on the exercise of the
> rights granted or affirmed under this License.  For example, you may
> not impose a license fee, royalty, or other charge for exercise of
> rights granted under this License, and you may not initiate litigation
> (including a cross-claim or counterclaim in a lawsuit) alleging that
> any patent claim is infringed by making, using, selling, offering for
> sale, or importing the Program (or the contribution of any
> contributor).

:::: Good: patent litigation prohibition doesn't seem to be overreaching

This clause forbids patent litigation in a manner that seems to be
narrow enough to be free: it only forbids patent suits related to the
Program and only concerns people who need the License to convey the
covered work.  Looks OK.

> 
>   11. Patents.
[...]
>   If you convey a covered work, knowingly relying on a patent license,
> and the Corresponding Source of the work is not available for anyone
> to copy, free of charge and under the terms of this License, through a
> publicly available network server or other readily accessible means,
> then you must either (1) cause the Corresponding Source to be so
> available,

:::: Bad: possibly not enough as a protection against patents

I don't quite understand how (1) can be seen as a specific form of
shielding downstream recipients.  If I am a downstream recipient who
does not have a patent license, what protection (against patent
infringement lawsuits) would I get from the existence of a network
server which makes source available to the public?

I'm puzzled.

===> this clause could be not enough to protect recipients from patent
lawsuits, and thus make the work fail several DFSG, when there are
actively enforced patents infringed by the work

[...]
>   If, pursuant to or in connection with a single transaction or
> arrangement, you convey, or propagate by procuring conveyance of, a
> covered work, and grant a patent license providing freedom to use,
> propagate, modify or convey a specific copy of the covered work to any
> of the parties receiving the covered work, then the patent license you
> grant is automatically extended to all recipients of the covered work
> and works based on it.

:::: Good: this is a no-discrimination clause

This clause seems to be intended to prevent the negative consequences of
Microsoft-Novell-like deals.  It seems to be well drafted, since it's
based on a no discrimination principle: you cannot grant a patent
license to some recipients only; if you grant a patent license to
someone, you automatically extend it to every other recipient.  Good.

> 
>   You may not convey a covered work if you are a party to an
> arrangement with a third party that is in the business of distributing
> software, under which you make payment to the third party based on the
> extent of your activity of conveying the work, and under which the
> third party grants, to any of the parties who would receive the
> covered work from you, a patent license (a) in connection with copies
> of the covered work conveyed by you, and/or copies made from those, or
> (b) primarily for and in connection with specific products or
> compilations that contain the covered work, which license does not
> cover, prohibits the exercise of, or is conditioned on the
> non-exercise of any of the rights that are specifically granted to
> recipients of the covered work under this License

:::: Good: this is a no-further-restriction-through-patents clause

This clause seems to be based on the general principle that no further
restrictions can be added beyond the terms of this License.  In the
present case, it is stated that one cannot add further restrictions
through restrictive patent licenses.  Looks OK.

> [, unless you entered
> into that arrangement, or that patent license was granted, prior to
> March 28, 2007].

:::: Bad: the date is arbitrary

Why this date?  What's special about it?  Is it just the date of
publication of the third draft?  Was it chosen in order to avoid placing
retroactive restrictions, by chance?  If this is the motivation, I don't
think this date limit is needed: since the GNU GPLv3 is not yet
released, no work has been licensed under its terms yet, and hence no
provision can be retroactive...

The draft rationale explains that this date limit is intended to avoid
forcing companies to face problems due to past agreements that cannot be
changed anymore.  I'm not convinced that this would be unfair:
agreements like those are bad things and hence making them incompatible
with conveying GPLv3'd works does not seem to be unfair.

[...]
>   12.[7] No Surrender of Others' Freedom.

:::: Good: basically unchanged

This section seems substantially the same as section 7 of GPLv2 (and of
section 12 of previous drafts), apart from minor details.  I think it's
OK.

[...]
>   13. Use with the Affero General Public License.

:::: Kills copyleft: compatibility with a yet unknown license

This section introduces a form of compatibility with a license that is
yet unreleased and thus possibly non-free: the Affero General Public
License, version 2.  The AfferoGPL v1 is, in my opinion, a non-free
license, due to its clause 2(d).  I won't restate all the reasons for my
conclusions (more details in
http://gplv3.fsf.org/comments/rt/readsay.html?filename=gplv3-draft-3&id=1663).
As a consequence, I have few hopes that the forthcoming version 2 of
the AfferoGPL will be a free license.

Being compatible with an unknown (and thus possibly non-free) license
destroys the copyleft mechanism of the GPLv3.  The draft rationale
states that most other free software licenses also feature such form of
compatibility with the AfferoGPL: this is true for non-copyleft
licenses, though!  When I choose a long and complicated copyleft license
such as the GNU GPL, I want a copyleft mechanism that actually works; or
otherwise I can choose short and simple non-copyleft licenses, such as
the Expat or the 2-clause BSD ones...

I strongly recommend dropping section 13 entirely.

===> this option allows linking with works that could fail the DFSG,
unless the AfferoGPL v2 turns out to meet the DFSG (which I doubt)

[...]
>   14.[9] Revised Versions of this License.

:::: Good: it should be kept as it is

This section is unchanged from previous drafts, and similar to section 9
of GPLv2 (apart from minor rephrasing and the addition of the final
paragraph).  It's good that licensors have the option of specifying a
certain version of the GNU GPL "or any later version", but are not
forced to do so.  In other words, the upgradeability of the license is a
permission that is granted outside the license text and that is a good
feature to keep. 

[...]
>   15.[11, 12] Disclaimer of Warranty and Limitation of Liability.

:::: Good: slightly improved

This section seems to be virtually the same as the joining of sections
11 and 12 of GPLv2, except for the last paragraph, which is a good
explicit clarification.  It looks fine to me.

[...]
>        END OF TERMS AND CONDITIONS
[...]



-- 
 http://frx.netsons.org/doc/nanodocs/etch_workstation_install.html
 Need to read a Debian etch installation walk-through?
..................................................... Francesco Poli .
 GnuPG key fpr == C979 F34B 27CE 5CD8 DC12  31B5 78F4 279B DD6D FCF4

Attachment: pgpDRhtpmrXjh.pgp
Description: PGP signature


Reply to: