### Location: guide/comprehensive-gpl-guide.tex

7.0 KiB
text/x-tex
Order matters in \usepackage{hyperref}. The problem exhibited only in PDF files, wherein \ref{} links to appendix chapters referred instead to regular chapters. http://tex.stackexchange.com/questions/77886/fncychap-and-hyperref-messes-up-page-references suggest that loading hyperref second fixes the problem. This indeed worked.
 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 % 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{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} % Make sure hyperref is last in the package list. Order matters here, See: % http://tex.stackexchange.com/questions/77886/fncychap-and-hyperref-messes-up-page-references \usepackage{hyperref} \newcommand{\tutorialpartsplit}[2]{#2} %\input{no-numbers-on-table-of-contents} \providecommand{\hrefnofollow}[2]{\href{#1}{#2}} \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--2005, 2008, 2014 \hspace{1.mm} \= \kill Copyright \> \copyright{} 2003--2005, 2008, 2014 \> Bradley M. Kuhn. \\ Copyright \> \copyright{} 2014 \> Anthony K. Sebro, Jr. \\ Copyright \= \copyright{} 2014 \> Denver Gingerich. \\ Copyright \= \copyright{} 2003--2007, 2014 \> Free Software Foundation, Inc. \\ Copyright \> \copyright{} 2008, 2014 \> Software Freedom Law Center. \\ \end{tabbing} \vspace{.3in} The copyright holders grant the freedom to copy, modify, convey, adapt, and/or redistribute this work (except Appendices~\ref{GPLv2-full-text}--\ref{AGPLv3-full-text}) 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}. Appendices~\ref{GPLv2-full-text}--\ref{AGPLv3-full-text} include 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 As a public, collaborative project, this Guide is primarily composed of the many contributions received via its \href{https://gitorious.org/copyleft-org/tutorial/source/master:CONTRIBUTING.md}{public contribution process}. Please \href{https://gitorious.org/copyleft-org/tutorial/history/master}{review its Git logs} for full documentation of all contributions, and Appendix~\ref{third-party-citation-list} contains a list of third-party works from which some material herein was adapted. The most recent version is available online 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 equivalent} to attending a course. \mainmatter \input{gpl-lgpl} \input{compliance-guide} \input{enforcement-case-studies} \appendix \part{Appendices} \input{third-party-citations} \input{license-texts} \end{document}