a1b059184c
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.
161 lines
5.8 KiB
TeX
161 lines
5.8 KiB
TeX
% comprehensive-gpl-guide.tex -*- LaTeX -*-
|
|
%
|
|
% Toplevel file to build the entire book.
|
|
\documentclass[10pt, letterpaper, openany, oneside]{book}
|
|
% I'm somewhat convinced that this book would be better formatted using
|
|
% the memoir class :
|
|
% http://www.ctan.org/pkg/memoir
|
|
% http://mirror.unl.edu/ctan/macros/latex/contrib/memoir/memman.pdf
|
|
|
|
% For the moment, I've thrown in fancychap because I don't have time to
|
|
% research memoir.
|
|
|
|
|
|
% FIXME: Some overall formatting hacks that would really help:
|
|
|
|
% * I have started using \hyperref[LABEL]{text} extensively, which seems
|
|
% to work great in the PDF and HTML versions, but in the Postscript
|
|
% version, the link lost entirely. I think we need an additional command
|
|
% to replace \hyperref which takes an optional third argument that will
|
|
% insert additional text only when generating print versions, such as:
|
|
% \newhyperref[GPLv2s3]{the requirements for binary distribution under
|
|
% GPLv2}{(see section~\ref*{GPLv2s3} for more information)}
|
|
%
|
|
% This is a careful balance, because it'd be all too easy to over-pepper
|
|
% the printed version with back/forward references, but there are
|
|
% probably times when this is useful.
|
|
|
|
% * Similar issue: \href{} is well known not to carry the URLs in the print
|
|
% versions. Adding a footnote with the URL for the print version is
|
|
% probably right. (or maybe a References page?)
|
|
|
|
% * The text is extremely inconsistent regarding formatting of code and
|
|
% commands. The following varied different methods have been used:
|
|
% + the \verb%..% inline form
|
|
% + verbatim environment (i.e., \begin{verbatim}
|
|
% + {\tt }
|
|
% + \texttt{}
|
|
% + the lstlisting environment (i.e., \begin{lstlisting}
|
|
% These should be made consistent, using only two forms: one for line and
|
|
% one for a long quoted section.
|
|
|
|
\usepackage{hyperref}
|
|
\usepackage{listings}
|
|
\usepackage{enumerate}
|
|
\usepackage[Conny]{fncychap}
|
|
\usepackage[dvips]{graphicx}
|
|
\usepackage[verbose, twoside, dvips,
|
|
paperwidth=8.5in, paperheight=11in,
|
|
left=1in, right=1in, top=1.25in, bottom=.75in,
|
|
]{geometry}
|
|
|
|
\newcommand{\tutorialpartsplit}[2]{#2}
|
|
|
|
%\input{no-numbers-on-table-of-contents}
|
|
|
|
\hypersetup{pdfinfo={Title={Copyleft and the GNU General Public License: A Comprehensive Tutorial and Guide}}}
|
|
|
|
\begin{document}
|
|
|
|
\pagestyle{plain}
|
|
\pagenumbering{roman}
|
|
|
|
\frontmatter
|
|
|
|
\begin{titlepage}
|
|
|
|
\begin{center}
|
|
|
|
{\Huge
|
|
{\sc Copyleft and the \\
|
|
|
|
GNU General Public License:
|
|
|
|
\vspace{.25in}
|
|
|
|
A Comprehensive Tutorial \\
|
|
|
|
\vspace{.1in}
|
|
|
|
and Guide
|
|
}}
|
|
\vfill
|
|
|
|
{\parindent 0in
|
|
\begin{tabbing}
|
|
Copyright \= \copyright{} 2003--2007, 2014 \hspace{1.mm} \= \kill
|
|
Copyright \> \copyright{} 2014 \> Bradley M. Kuhn. \\
|
|
Copyright \> \copyright{} 2014 \> Anthony K. Sebro, Jr. \\
|
|
Copyright \= \copyright{} 2014 \> Denver Gingerich \\
|
|
Copyright \= \copyright{} 2003--2007, 2014 \> \hspace{.2in} Free Software Foundation, Inc. \\
|
|
Copyright \> \copyright{} 2008, 2014 \> Software Freedom Law Center. \\
|
|
\end{tabbing}
|
|
|
|
\vspace{.3in}
|
|
|
|
The copyright holders hereby grant the freedom to copy, modify, convey,
|
|
Adapt, and/or redistribute this work under the terms of the Creative Commons
|
|
Attribution Share Alike 4.0 International License. A copy of that license is
|
|
available at \url{https://creativecommons.org/licenses/by-sa/4.0/legalcode}.
|
|
|
|
Each part of this book, except the appendix, is separately under this same
|
|
license, but copyrighted by different entities at different times. Each part
|
|
therefore also contains its own copyright and licensing notice. The notice
|
|
above is for the entire work, and includes the full copyright and licensing
|
|
details, except for the appendix.
|
|
|
|
The appendix includes copies of the texts of various licenses published
|
|
by the FSF, and they are all licensed under the license, ``Everyone is permitted
|
|
to copy and distribute verbatim copies of this license document, but changing
|
|
it is not allowed.''. However, those who seek to make modified versions of
|
|
those licenses should note the
|
|
\href{https://www.gnu.org/licenses/gpl-faq.html#ModifyGPL}{explanation given in the GPL FAQ}.
|
|
|
|
\vfill
|
|
|
|
Patches are welcome to this material. Sources can be found in the Git
|
|
repository at: \url{https://gitorious.org/gpl-compliance-tools/tutorial/}
|
|
}
|
|
\end{center}
|
|
|
|
\end{titlepage}
|
|
|
|
\tableofcontents
|
|
|
|
\chapter{Preface}
|
|
|
|
This tutorial is the culmination of nearly a decade of studying and writing
|
|
about software freedom licensing and the GPL\@. Each part of this tutorial
|
|
is a course unto itself, educating the reader on a myriad of topics from the
|
|
deep details of the GPLv2 and GPLv3, common business models in the copyleft
|
|
licensing area (both the friendly and unfriendly kind), best practices for
|
|
compliance with the GPL, for engineers, managers, and lawyers, as well as
|
|
real-world case studies of GPL enforcement matters.
|
|
|
|
It is unlikely that all the information herein is necessary to learn all at
|
|
once, and therefore this tutorial likely serves best as a reference book.
|
|
The material herein has been used as the basis for numerous live tutorials
|
|
and discussion groups since 2002, and the materials have been periodically
|
|
updated. They likely stand on their own as excellent reference material.
|
|
|
|
However, if you are reading these course materials without attending a live
|
|
tutorial session, please note that this material is merely a summary of the
|
|
highlights of the various CLE and other tutorial courses based on this
|
|
material. Please be aware that during the actual courses, class discussion
|
|
and presentation supplements this printed curriculum. Simply reading this
|
|
material is \textbf{not an equivalent} for attending a course.
|
|
|
|
\mainmatter
|
|
|
|
\input{gpl-lgpl}
|
|
|
|
\input{compliance-guide}
|
|
|
|
\input{enforcement-case-studies}
|
|
|
|
\appendix
|
|
|
|
\input{license-texts}
|
|
|
|
|
|
\end{document}
|