For Approval: GPLv3
Chris Travers
chris at metatrontech.com
Thu Aug 16 00:23:43 UTC 2007
I guess I sent my concerns some time before I was actually subscribed.
If they come through separately, I appologize for the re-post.
I see a number of possible issues with the GPL v3. I will list them with
the sections of the OSD here:
6: No discrimination against fields of endeavor:
The license must not restrict anyone from making use of the program in a
specific field of endeavor. For example, it may not restrict the program
from being used in a business, or from being used for genetic research.
I think that the anti-Tivoization provision in the GPL v3 effectively
prevent its use (or at best are not technology-neutral regarding its
use) in areas such as, say, WIFI card firmware, or the like where the
hardware/software package is subject to sufficient regulation as to
prevent the user from being able to make arbitrary modifications ot the
code and still run it on that specific piece of hardware.
9: License must not restrict other software
The license must not place restrictions on other software that is
distributed along with the licensed software. For example, the license
must not insist that all other programs distributed on the same medium
must be open-source software.
I suspect there are *cases* where the GPL (both versions 2 and 3) fail
in this regard, particularly where works which might be considered
separate when distributed separately might be considered the same work
when distributed together. I don't see this as an obstacle, but want to
mention it anyway. See below.
10: License must be technology-neutral
No provision of the license may be predicated on any individual
technology or style of interface.
There are GPL v3 provisions which are predicated on the distribution of
software in restricted environments being limited to ROMs.
Further Discussion and Recommendations:
OSD Sections 6 and 10 vs the anti-Tivoization provisions in the GPL v3.
The GPL v3 added provisions which require one who conveys GPL v3
software with a user product (such as a Tivo) to provide installation
instructions sufficient to get user-modified software running on the
system. The direct target of this change was Tivo, but the larger
concern appears to be the interplay between software and hardware. In
essence the GPL v3 requires that these are treated as entirely separate
goods unless the software is distributed via a method whereby nobody has
the ability to change it (for example, a ROM). The intent was to prevent
GPL v3 software from being used in unTrustworthy Computing platforms in
a way which were not fully usable when the source was changed by the end
user.
The relevant section of the license is:
'“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).'
As a side effect, this effectively bans the use of GPL v3 code in any
device which requires government certification of the hardware/software
package (such as a WIFI card and related firmware). It could also
prohibit use of GPL v3 software in voting machines in that it would be
illegal for the counties that use the machines (and hence distribute the
software) to prohibit modifications of the software through technical or
legal means. In fact the only option open in these cases is to remove
the ability to do any vendor updates (including security updates) from
the products in question and hence take on a substantial competitive
handicap.
I would recommend that the FSF drop the questionable provision before
this is adopted. It violates either portion 6 or 10 of the OSD by my
reading, depending on how I read the OSD and the GPL v3.
As for OSD section 9: There are cases where the GPL, versions 2 and 3
may affect other software on the same media even when it might not were
they separate.
IANAL, but I see a few cases where this could happen. I will draw
parallels between existing cases in the GPL v2 in this section, however.
For code to fall under the GPL licensing requirements when linking to a
GPL application, it would need to be either a) derivative of that GPL
application or b) part of the same "covered work." If neither of these
apply, then the GPL licensing requirements don't apply either.
For example, ndiswrapper provides, under a GPL-compatible license, a way
of linking NDIS Windows drivers (closed source) to the GPL v2-licensed
Linux kernel. I do not believe that this is a GPL violation when the
Windows drivers are distributed separately because they are not
derivative of the Linux kernel nor are they by any reasonable measure
part of the same work just (being independantly written and distributed).
A similar case I believe exists with regard to the nVidia closed source
drivers for Linux. Again, the proprietary code is non-derivative, a
compatibly-licensed bridge exists, and the software is distributed
seprately. (This same argument might *not* apply to the Apple ObjC
plugins for the GCC because it is not clear to me that these were
written for another environment and that a compatibly licensed bridge
existed.)
However, what happens now when I pre-install those same nVidia or wifi
drivers on a Linux-based laptop that I sell? Can it then be argued that
I am, in distributing both the closed source and open source packages
together essentially creating a new "covered work" based on the "Linux
kernel" but that license incompatibilities forbid me from distributing
it? In short, there are cases where mere aggregation *may* under the GNU
GPL (versions 2 or 3) create new covered works which hold a distributor
liable for copyright infringement even when the original developers are not.
However, the fact is, the GNU GPL v2 has been accepted as an
OSI-compatible license for some time and the GNU GPL defines source code
and covered work a little more tightly than does the GPL v2. Therefore
the GPL v3 is an improvement in this case and I believe it would be
inconsistant of this organization to let this specific problem (of OSD
part 9) get in the way of approval. I would therefore hope the OSI would:
1) State specifically that definition 9 does not apply to cases where
these problems only exist in corner cases.
2) Thank the FSF for helping to reduce the impact of this problem in
version 3 of this license.
I would therefore suggest that we consider either clarifying why the GPL
does not erode or volate OSD sections 6 and 10, or ask that they drop
the anti-Tivoization clauses prior to approval.
Best WIshes,
Chris Travers
-------------- next part --------------
A non-text attachment was scrubbed...
Name: chris.vcf
Type: text/x-vcard
Size: 171 bytes
Desc: not available
URL: <http://lists.opensource.org/pipermail/license-discuss_lists.opensource.org/attachments/20070815/ddc18b59/attachment.vcf>
More information about the License-discuss
mailing list