% 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. % FIXME: s/GPL enforcers/COGEOs/g % (the term coined later but not used throughout) This can't be done % by rote, since it may not be appropriate everywhere and shouldn't be % used *before* it's coined in the early portions of % compliance-guide.tex (and it's probably difficult to coin it earlier % anyway). BTW, I admit COGEOs isn't the best acronym, but I started % with ``Community Enforcement Organizations'', which makes CEO, which % is worse. :) My other opting was COEO, which seemed too close to % CEO. Suggestions welcome. \usepackage{hyperref} \usepackage{listings} \usepackage{enumerate} \usepackage{enumitem} \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 This material is regularly updated by a community of contributors and is available online at all times at \url{https://copyleft.org/guide/}. Patches are indeed welcome to this material. Sources can be found in the Git repository at: \url{https://gitorious.org/copyleft-org/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}