Often, the PDF file is separated fully from copyleft and distributed.
As such, the title page should not only include a link to the sources
for patches, but also for the main copyleft.org site for the Guide.
This text was mostly useful as is. However, it failed to make a key
point I've often made: that the combinations created by comingling
AGPLv3'd code with GPLv3'd code may be difficult to disentangle, and
thus in practice, it may turn out that such a combination effectively
must be licensed as a whole under AGPLv3, even if technically some
copyrights included therein are GPLv3'd.
In practice, this nuance is only a technical barrier, since complying
fully with AGPLv3 automatically complies with GPLv3.
This text was (on the whole) useful as introductory text to this
tutorial's existing extensive section on GPLv3§11.
The example, however, belonged further down in the section, so I've
placed it there.
Most of this text was useful, particularly since there was a previous
FIXME here that GPLv3§10 was not extensively discussed.
However, the same footnote regarding Jaeger's opinion under German
copyright law applies to this text, so a reference back to it has herein
been added.
The pasted text, most of which was useful, is now integrated as the
desired laundry-list of GPLv3§7 subsection explanations.
This also allowed for easy integration of some of the older
commented-out text that originally came from GPLv3 rationale documents.
Meanwhile, however, I discovered, upon more careful examination of the
pasted text, a serious and grave error regarding GPLv3§7(d).
Specifically, GPLv3§7(d) makes the modern "third clause" of the 3-Clause
BSD compatible with the GPL, *not* the problematic old-school BSD
advertising clause (from the 4-Clause BSD).
I'm amazed that anyone versed in licensing could make this error,
frankly, and readers should be told, since other materials are now
disseminated by others, that the point is incorrect. Therefore, I've
not only noted the correct compatibility conclusion, but also
affirmatively identified the incorrectness of the wrong conclusion that
was previously added via the pasted text from SFLC's "Guide".
Finally, on a LaTeX formatting note, the enumitem package is now needed
since I'm using that for the list of GPLv3§7 subsections.
This change perhaps is somewhat controversial, but reflects honest
reality of this history of additional requirements on GPL. The
additional requirements that GPLv3 permits mostly represent historically
known situations where GPLv2 permitted license compatibility with Free
Software licenses containing such requirements.
Orthodox compatibility theory demands that such additional requirements
have explicit codification in a copyleft license, which hints at why
GPLv3 needed to include this section.
However, historical copyright holder toleration of these sorts of
requirements placed on GPLv2 works is well-documented, and failure to
mention it here is a disservice to the reader.
Most of the pasted text was redundant to the existing guide text, but
one sentence reiterates a useful point in a creative way, so that
sentence is herein integrated into the preceding paragraph.
Upon second reading of this text, I don't know why I saved it. The
existing guide already covers these issues adequately, and there is no
specific place I could find where this new text worked well as an
introductory paragraph (as has been done with others of these pasted
texts).
The last commit brought in text that categorically claims: "automatic
termination cannot be cured by obtaining additional copies from an
alternate supplier". While this position is by far the overwhelming
majority position among copyleft advocates, theorists, and legal
experts, the small minority dissenting opinion is simply too strongly
sourced to ignore.
Specifically, Till Jaeger's position was central to Harald Welte's
gpl-violations.org community-oriented GPL enforcement efforts.
Therefore, this tutorial must include his position when covering the
issue of automatic license reinstatement in this tutorial.
I have told Till that I can't believe his position is possibly correct.
(I understand that many other copyleft theorists and legal experts have
done so as well.) However, Till remains steadfast that this position is
correct, at least under German copyright law. Speaking for myself, I
have never met a legal expert as well-versed in both copyleft and German
copyright law as Till Jaeger is, and therefore I cannot in good
conscience allow this tutorial to remain silent regarding Till's
position, lest the tutorial propagate an inappropriate bias for the
majority belief.
That said, I still feel that a footnote is the right place for the
argument. It *is* a tiny minority position [0] among an overwhelming
consensus to the contrary, and therefore adding the point to the main
text would only serve to distract the tutorial reader.
[0] In particular, I am convinced Jaeger's argument, if true, is a
peculiarity of German law exclusively. For example, French lawyers
I've spoken with believe that the standard USA legal position on
this issue is also accurate under French copyright law. I therefore
conclude the minority position (if accurate) is unrelated to
differences between civil law and common law copyright regimes, and
is instead a unique peculiarity to German copyright law.
The tutorial did not previously have an adequate description of
GPLv2§2(c), so this pasted text is as good as any that I could think of,
although I reworded it slightly.
I chose to integrate this text *before* the discussion of GPLv2§2(b)
because the latter section requires so much attention, it seems
appropriate to get the less complex parts of GPLv2§2 out of the way
before diving into that essential discussion of GPLv2§2(b).
The pasted text, moved in an earlier commit to this chapter, is now
incorporated as the introduction for the chapter on derivative works.
Changes also included to the previous introduction so it properly flows
from the new text.
This was easily integrated, but I am now not sure what I was thinking
with the FIXME note about linking back to the copyleft definition. The
right link is a forward-link to the derivative works chapter, and thus
I've added that.
Some of the pasted text was useful as a method of introducing briefly
the legal details of copyleft, to an appropriate level of detail for
this initial copyleft definition found in the tutorial. However,
substantial additional text was needed to both properly integrate the
pasted text, and also improve the copyleft definition overall in light
of the pasted text content.
Meanwhile, part of the pasted text definitely doesn't belong here, but I
noticed it likely makes a good addition to the introductory paragraph in
the derivative works section.
I wrote a pretty good copyleft definition, originally based on the one
found on Wikipedia, for use on the front page of copyleft.org. Herein
it is integrated with the tutorial as well.
The inspiration for this section came from the pasted text, which
ultimately whitewashed this well-known and complex situation. While my
new text likely has the biases inherent in a COGEO-oriented focused
document, so perhaps future patches that soften that side of it would be
helpful.
However, I believe generally that the new section describes the
situation substantially better than the terse pasted text that lauded
it.
Finally, this section is written to build up to some level of crescendo,
since the conclusion immediately follows it.
Again, upon careful reading of the pasted text, it was clearly not
as useful as it first appeared, and is in fact somewhat misleading.
This rewrite does a better job explaining the necessary focus required
for an M&A situation. The section could use some work, but generally
speaking IMO this new does a better job than both the pasted text and
other texts on the issues I've read elsewhere.
Upon closer inspection, this pasted paragraph contained a clear error:
as written. Specifically, it stated that compliance was automatic if
you merely "pass along" the CCS received from upstream. It's IOTTMCO
that this is wrong. I've corrected it and integrated the text.
Upon a more detailed reading, it's clear this pasted text belongs in the
LGPL license analysis section, but that in fact some other text was
needed to improve the end of the section on LGPL in the compliance
guide.
Since so little material is currently given on LGPL compliance, it's
likely best to link back to the chapter on LGPL compliance.
Besides, I don't think there really is anything additional the
compliance guide can add regarding LGPL compliance, other than the
detail license analysis on LGPL already available in that part of the
text.
(Note labels had to be added for the chapters that didn't previously
exist.)
Much of the existing pasted text had subtle condescension toward
developers, which I've cleaned up here. Admittedly, I may have over
compensated and added subtle condescension toward lawyers.
After rereading this text a few times, I realized that it doesn't
actually say anything of value. It looks pretty but is devoid of
meaning (or, less glibly, it doesn't express any concept not already
covered by other text in the tutorial), so I'm cutting it entirely.
Some of the text pasted in earlier commits was certainly useful, but
needed a complete rework.
Also, the text pasted was far too terse, and more detail was needed.
Therefore, I've moved text around and build a more comprehensive
Background section. I've moved the burgeoning "Understanding Who's
Enforcing" section into the Background chapter and made it complete.
Probably the most bizarre (?) change I've made here is coining this
acronym COGEO. This is non-optimal for sure, and I've added a FIXME to
seek a better term.
The enforcement section now has an integrated paragraph describing how
enforcement relates to copyright, and refers back to a related section
much earlier in the tutorial.
Software Freedom Law Center, a small law firm specializing in Open
Source, recently published its so-called "Guide to GPL Compliance,
Second Edition":
http://softwarefreedom.org/resources/2014/SFLC-Guide_to_GPL_Compliance_2d_ed.html
The Firm's document is substantially less comprehensive than this one;
however, their document contained a few phrases and paragraphs that
seemed useful and accurate. This commit incorporates the useful
material from that work into this one (as permitted by the CC BY-SA 4.0
license, which the Software Freedom Law Center applied to their work).
The useful sections have been pasted without proper textual integration
into the appropriate sections of this tutorial. A few are currently
commented out entirely and marked with appropriate FIXME's. Meanwhile,
the text that seems immediately useful is *not* commented out, and is
marked with "FIXME-URGENT". Additional work is now required to
integrate the new text properly into this tutorial.
Careful readers who compare this commit with The Firm's document will
find that I passed on inclusion of some seemingly useful material.
Unfortunately, The Firm's text contained some inaccuracies, and frames
discussion primarily from a for-profit perspective. More disturbingly,
a few statements even directly contradicted the FSF's stated policies.
Of course, The Firm clearly claims "this document does not express the
views, intentions, policy, or legal analysis of any SFLC clients or
client organizations", but I could not in good conscience adopt, as the
official advice in this tutorial, any text that conflicts with the FSF's
policies, nor will I incorporate any puffery that subtly kowtows to
for-profit corporate interests.
Nevertheless, given The Firm's perceived stature, I briefly considered
including policy-conflicting statements, attributing them as alternative
third-party opinions; many of the FSF's own opinions were already
incorporated in that manner earlier this year. Indeed, I will not prima
facie reject future patches that integrate such statements naturally for
this tutorial. However, I feel that the didactic value of including The
Firm's attributed dissenting opinions in this tutorial does not outweigh
my editing effort required for such additional textual integration.
Regarding Software Freedom Law Center's copyrights included herein,
I took the following specific actions to comply with CC By SA 4.0:
§3(a)(1)(a)(i): This log message indicates Software Freedom Law Center
as the source of the material herein committed.
§3(a)(1)(a)(i): Copyright notices at the top level of the document,
as well as those in individual parts, are updated to
include the 2014 copyright notice from the Software
Freedom Law Center.
§3(a)(1)(a)(ii-v): The project already referred to and included a copy
§3(b)(1): of CC BY SA 4.0 International and its URL.
§3(a)(2): The attribution information is fully included in
this Git repository.
§3(a)(3): I and this project have received no such request.
§3(b)(1): The license of the larger work was already
CC BY SA 4.0 International.
§3(b)(3): No such conditions are imposed.
Most redistributors, at least with regard to embedded systems, typically
include the kernel named Linux with their distribution. As such, even
when GPLv2-or-later and/or GPLv3-{only, or-later} works are included in
the aggregation, the termination implications are effectively those of
GPLv2-only, since it's unlikely in any event the violator will remove
the GPLv2-only work (particularly if it's Linux).