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