Historically, this project used (more-or-less) a file-by-file copyright
inventory. This commit ends that practice. The project now has a
single toplevel copyright inventory, stored exclusively in
comprehensive-gpl-guide.tex (so that it appears also in compiled
versions of the Guide as well).
The side-effect of this commit is that the parts may no longer be easily
publishable separably without (at least) the additional work of
copyright notice reconstruction. This may in particular create a
challenge for the FSF, who has historically selectively published
sections of this Guide as materials for its CLE classes.
However, without this change, this Guide will eventually suffer from the
inherent problems in maintaining file-by-file copyright inventory.
Circumstances simply dictate a single, top-level copyright and license
notice for the entire Guide.
In addition to consolidation of copyright notices, I've also herein
updated my historical copyright notices to properly credit me for my own
work done in 2003 through 2005.
I've also updated the license notice to reflect the changes made by the
previous commit and related issues.
As alluded to in 2ea19b71d4 's commit
message on 2014-12-17 19:52:15 -0500, keeping any information on a
part-by-part basis is difficult and error-prone, since there exists no
reliable way to auto-generate such information accurately.
Therefore, citations to third-party works, in addition to remaining
fully documented in the commit log as they always have been, are now
placed in specifically one location in the body of the text itself: a
single appendix specifically designed for that purpose.
In this manner, contributors have no house-keeping work regarding
citations. Contributors need only list third party works and links in
one place: third-party-citations.tex.
Documentation in CONTRIBUTING.md for making contributions of third-party
works is left as a TODO.
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.
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.
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.
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.
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.
This was working more or less before, but during hasty changes last
night, I seem to have reverted it. I just tested this and it seems to
put titles in the right places.
Joshua Gay made contributions to all the files earlier in 2014 (see git
log) which were copyrighted by the FSF, so FSF's copyright needs
refreshed to include this year.
Denver recently added a section to the enforcement-case-studies.tex, so
his copyright notice needs to go there and at the top file.
I made changes to enforcement-case-studies.tex on top of Denver's.
Also, remove commented-out copyright notices -- the ones in the actual
text are now primary and should be maintained directly.
tex4ht supports "overlib" for footnote popups. The hack is pretty
straightforward; it dumps a Javascript area into a .js file that can
then be used by overlib to popup stuff.
This hack is to use that output to make the same thing work with jQuery
UI's tooltip widget.
Note that we run with overlib support first, then *without* it in the
Makefile setup. This is to force the needed .js file to be generated,
but make sure the HTML doesn't try to load overlib (which is default).
(This should be adapted as a patch to upstream tex4ht ultimately.)
Also included herein are improvements to the Makefile to build the HTML
output.