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

[long] Last call draft of GPL v3



Hi all,
a new "Last Call Draft" of the GNU GPL v3 has been published on 31 May
2007 by the FSF.
The full text of this fourth draft can be read at
http://gplv3.fsf.org/comments/gplv3-draft-4.html

My comments on the draft follow.
I will send them to the FSF public consultation system RSN (since they
are accepting comments for only 30 days, starting on 31 May).
 
The usual disclaimers: IANAL, IANADD.



> GNU GENERAL PUBLIC LICENSE
> 
> Last Call Draft of Version 3, 31 May 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 once again 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 an exact 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 unchanged with respect to GPLv3draft3, and
they are very 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 anything with it that, without
> permission, would make you directly or secondarily liable for
> infringement 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.

> 
> An interactive user interface displays "Appropriate Legal Notices" to
> the extent that it includes a convenient and prominently visible
> feature that (1) displays an appropriate copyright notice, and (2)
> tells the user that there is no warranty for the work (except to the
> extent that warranties are provided), that licensees may convey the
> work under this License, and how to view a copy of this License. If
> the interface presents a list of user commands or options, such as a
> menu, a prominent item in the list meets this criterion.

:::: Good: useful definition

This definition is really useful to simplify the language of clause 5d
(even though I would like to see clause 5d dropped entirely, more on
this in a later comment...).

> 
> 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.

[...]
> 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
> 
> 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 unchanged with respect to GPLv3draft3, and thus 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 unaltered with respect to GPLv3draft3, and thus 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 is unchanged with respect to GPLv3draft3.  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, along with any applicable section 7 additional
> terms, 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 GPLv3draft4 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 display
> Appropriate Legal Notices; however, if the Program has interactive
> interfaces that do not display Appropriate Legal Notices, your work
> need not make them do so.

:::: Bad: too restrictive

Clause 5d is now simpler and clearer than in the previous drafts: as a
consequences, its issues are more apparent!  ;-)

This clause is 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. 

Or, at least, it could be modified so that it only applies to cases
where the original Program is also interactive.
Something like:

| d) If the Program has interactive user interfaces which display
| Appropriate Legal Notices, this feature must be preserved in each
| interactive interface that is also present in the work.


===> clause 5d is 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 determining whether a product is a
> consumer product, doubtful cases shall be resolved in favor of
> coverage. For a particular product received by a particular user,
> "normally used" refers to a typical or common use of that class of
> product, regardless of the status of the particular user or of the
> way in which the particular user actually uses, or expects or is
> expected to use, the product. A product is a consumer product
> regardless of whether the product has substantial commercial,
> industrial or non-consumer uses, unless such uses represent the only
> significant mode of use of the product.

:::: Good: improved definition which is no longer U.S.-centric

This part is improved with respect to GPLv3draft3, as it no longer
refers to U.S.-specific acts.  Good.

> 
> "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, or for the User Product in which it has been modified or
> installed. 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 basically
unchanged with respect to GPLv3draft3: it's a reworded and clarified
version of the requirement to include installation keys in the
Corresponding Source (which was present in GPLv3draft2).  The current
language seems clear.  Good.

[...]
> 7. Additional Terms.
[...]
> Notwithstanding any other provision of this License, for material you
> add to a covered work, you may (if authorized by the copyright
> holders of that material) supplement the terms of this License with
> terms:

:::: 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 that material or in the Appropriate Legal
> Notices displayed by works containing it; 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 inconsistencies 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 any portion
> of it.

:::: 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 to some of
> the parties receiving the covered work authorizing them to use,
> propagate, modify or convey a specific copy of 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.

> 
> A patent license is "discriminatory" if it does not include within
> the scope of its coverage, prohibits the exercise of, or is
> conditioned on the non-exercise of one or more of the rights that are
> specifically granted under this License. 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
> discriminatory patent license (a) in connection with copies of the
> covered work conveyed by you (or copies made from those copies), or
> (b) primarily for and in connection with specific products or
> compilations that contain the covered work,

:::: 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 28
> March 2007.

:::: Bad: the date is arbitrary

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

The previous draft rationale explained 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 is identical to section 12 of GPLv3draft3, and thus seems
substantially the same as section 7 of GPLv2, apart from minor details. 
I think it's OK.

[...]
> 13. Use with the GNU 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 GNU Affero General Public
License, version 3.  The AfferoGPL v1 is, in my opinion, a non-free
license, due to its clause 2d.  I won't restate all the reasons for my
conclusions (more details in
http://gplv3.fsf.org/comments/rt/summarydecision.html?filename=gplv3-draft-2&id=1663).
 As a consequence, I have few hopes that the forthcoming version 3 of
the GNU 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 previous draft
rationale stated 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 GNU AfferoGPL v3 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 almost unchanged from previous drafts, and similar to
section 9 of GPLv2 (apart from minor rephrasing and the addition of the
final paragraphs).  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
this is a good feature to keep.

[...]
> 15.[11] Disclaimer of Warranty.

:::: Good: this section looks OK

This section is identical to the first paragraph of section 15 of
GPLv3draft3.  It looks OK to me.

[...]
> 16.[12] Limitation of Liability.

:::: Good: this section seems fine

This section is identical to the second paragraph of section 15 of
GPLv3draft3.  It seems fine to me.

[...]
> 17. Interpretation of Sections 15 and 16.

:::: Good: this section is also a good thing to have

This section is identical to the third paragraph of section 15 of
GPLv3draft3.  I think it's a very useful thing to have in the license.

> 
> If the disclaimer of warranty and limitation of liability provided
> above cannot be given local legal effect according to their terms,
> reviewing courts shall apply local law that most closely approximates
> an absolute waiver of all civil liability in connection with the
> Program, unless a warranty or assumption of liability accompanies a
> copy of the Program in return for a fee.
> 
> END OF TERMS AND CONDITIONS
[...]


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

Attachment: pgp8o61D_i7Jm.pgp
Description: PGP signature


Reply to: