@keynote2k was the first to point out that the in-page anchor links in
the Guide failed to function properly, due to Bootstrap's fixed navbar.
This mixed solution of CSS and Javascript is the best solution I've been
able to come up with for the problem. The CSS solution is obviously
preferable, and is used herein for those anchor id attributes in the
Guide that have no href of their own.
Due to problems with using a pure CSS solution where the anchor includes
both an href and a id attribute. The Javascript solution is specific
for those cases. I took care not to have them both happen at once, as
they would undoubtedly conflict.
I did a inordinate amount of research about this issue. Bootstrap's own
page about the fixed navbar:
http://getbootstrap.com/examples/navbar-fixed-top/
doesn't discuss this issue at all, but there is a bug in Booststrap's
bugtracker:
https://github.com/twitter/bootstrap/issues/1768
which discusses the issue. (However, I don't understand why that bug is
closed, since none of the solutions I implement herein truly solve it).
The most useful page I found regarding this issue is this one:
http://nicolasgallagher.com/jump-links-and-viewport-positioning/demo
which offers several pure CCS solutions (each with drawbacks and
advantages). Unfortunately, none of those solutions consider the
question of anchor links that have both href and id attributes, and none
of them work properly in that situation.
In the HTML rendered versions of the guide, the quoted text, using the
previous CSS herein include, seemed to prominent.
Hopefully, this change will resolve that issue.
There was one minor change to the title page on master that isn't
represented on 'next'. While I could have rebased, I chose to merge so
I didn't have delete the publicly published 'next' branch on gitorious
like I have to do when I rebase.
I think this sounds better. While "enforcement" is a noun and therefore
it seems it should be "pluralizable", "enforcements" wasn't in my
dictionary as a correctly spelled word, and that made me realize I'd
never heard "enforcements" used in a plural before, and it immediately
sounded weird. So, I changed it.
The unicode ’ was introduced by the pasted text mention in the previous
commits. While I believe LaTeX can be configured to accept Unicode
quote equivalents, it seems simpler to me merely to replace the
character with an appropriate version that LaTeX expects in this
situation by default.
Much of the pasted text here was useful. However, some of the claims
were broad reaching, I've reigned those in. (e.g., saying "Taken
together, these provisions mean:" was a bit strong).
Also, in that specific spot, the conclusions made in the text were
described as applying to LGPLv2.1, but are clearly conclusions about
LGPLv3. I've corrected that herein.
Finally, I had to write a bunch of next text to make the pasted text
work, and also added one FIXME for later of where things could be
improved further.
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.