Files
@ 076f7b7cd8e3
Branch filter:
Location: Copyleft/guide/Makefile
076f7b7cd8e3
4.1 KiB
text/x-makefile
Preservation of implied patent license is unique.
This footnote, co-drafted by me and Richard Fontana, explains the
apparent uniqueness GPLv3's preservation clause for GPLv2's original
implied patent license.
Fontana pointed out this distinction with commercial patent licensing.
I noticed as a further point that even some copyleft licenses, let alone
non-copyleft Free Software licenses, fail to include any clauses
preserving implicit patent license grants. Such is certainly of concern
for those licenses that contain explicit patent licensing provisions.
Fontana notes that during GPLv3 process, he was concerned that an
explicit patent license in GPLv3 might provide a basis for some to later
argue an implied patent license was no longer present. GPLv3ยง11's final
paragraph assures its safety.
This footnote, co-drafted by me and Richard Fontana, explains the
apparent uniqueness GPLv3's preservation clause for GPLv2's original
implied patent license.
Fontana pointed out this distinction with commercial patent licensing.
I noticed as a further point that even some copyleft licenses, let alone
non-copyleft Free Software licenses, fail to include any clauses
preserving implicit patent license grants. Such is certainly of concern
for those licenses that contain explicit patent licensing provisions.
Fontana notes that during GPLv3 process, he was concerned that an
explicit patent license in GPLv3 might provide a basis for some to later
argue an implied patent license was no longer present. GPLv3ยง11's final
paragraph assures its safety.
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 | # Makefile for Copyleft Tutorial -*- GNUMakefile -*-
ifndef BOOK_BASE
BOOK_BASE=comprehensive-gpl-guide
endif
ifndef WEB_INSTALL_DIR
WEB_INSTALL_DIR = /path/to/html/install/directory
endif
LATEX_INPUT_FILES = $(BOOK_BASE).tex compliance-guide.tex license-texts.tex enforcement-case-studies.tex gpl-lgpl.tex third-party-citations.tex
BOOK_CLASS_FILE = gpl-book.cls
CSS_FILES = css/*.css
JAVASCRIPT_FILES = js/*.js
WEB_CONFIG_FILE = webhacks.cfg
HTML_OUTPUT_DIR = public_html
TEX4HT=tex4ht
T4HT=t4ht
HTLATEX=htlatex
PDFLATEX = pdflatex
LATEX = latex
BIBTEX = bibtex
FIG2DEV = fig2dev
DVIPS=dvips
all: err $(BOOK_BASE).pdf $(BOOK_BASE).ps html
pdf: err $(BOOK_BASE).pdf
html: $(HTML_OUTPUT_DIR)/monolithic/$(BOOK_BASE).html $(HTML_OUTPUT_DIR)/$(BOOK_BASE).html pdf $(BOOK_BASE).ps jscssmonolitic jscss
/bin/ln -f $(BOOK_BASE).ps $(HTML_OUTPUT_DIR)/$(BOOK_BASE).ps
/bin/ln -f $(BOOK_BASE).pdf $(HTML_OUTPUT_DIR)/$(BOOK_BASE).pdf
.SUFFIXES: .fig .postscript .eps .pdf .pstex_t .pstex .ps .dvi .tex
.postscript.pdf:
ps2pdf $< $@
.postscript.eps:
ps2epsi $< $@
.dvi.ps:
$(DVIPS) $< -o $@
.tex.dvi:
$(LATEX) $<
.fig.pdf:
$(FIG2DEV) -L pdf -p "portrait" -c $< > $@
.fig.pstex_t:
$(FIG2DEV) -L pstex_t $< > $@
.fig.pstex:
$(FIG2DEV) -L pstex $< > $@
$(BOOK_BASE).pdf: $(PDF_FIGS) $(LATEX_INPUT_FILES)
$(PDFLATEX) $(BOOK_BASE)
$(PDFLATEX) $(BOOK_BASE)
$(PDFLATEX) $(BOOK_BASE)
$(HTML_OUTPUT_DIR)/monolithic/$(BOOK_BASE).html: $(LATEX_INPUT_FILES) $(WEB_CONFIG_FILE)
mkdir -p $(HTML_OUTPUT_DIR)/monolithic/js
mkdir -p $(HTML_OUTPUT_DIR)/monolithic/css
/bin/rm -f $(BOOK_BASE)*.html
/bin/rm -f $(BOOK_BASE)*.js
$(HTLATEX) comprehensive-gpl-guide.tex "webhacks,xhtml,mouseover,fn-in,monolith"
$(HTLATEX) comprehensive-gpl-guide.tex "webhacks,xhtml,mouseover,fn-in,monolith"
mv ${BOOK_BASE}*js $(HTML_OUTPUT_DIR)/monolithic/js
/bin/rm -f $(BOOK_BASE)*.html
/bin/rm -f $(BOOK_BASE)*.js
$(HTLATEX) comprehensive-gpl-guide.tex "webhacks,xhtml,fn-in,monolith"
mv $(BOOK_BASE)*html $(HTML_OUTPUT_DIR)/monolithic
mv cm*png $(HTML_OUTPUT_DIR)/monolithic
mv ${BOOK_BASE}*css $(HTML_OUTPUT_DIR)/monolithic
/bin/rm -f ${BOOK_BASE}*aux ${BOOK_BASE}*dvi ${BOOK_BASE}*idv ${BOOK_BASE}*lg ${BOOK_BASE}*tmp ${BOOK_BASE}*4ct ${BOOK_BASE}*4tc ${BOOK_BASE}*toc ${BOOK_BASE}*out ${BOOK_BASE}*xref
jscssmonolitic: $(CSS_FILES) $(JAVASCRIPT_FILES)
cp -pa js/*js $(HTML_OUTPUT_DIR)/monolithic/js
cp -pa css/*css $(HTML_OUTPUT_DIR)/monolithic/css
$(HTML_OUTPUT_DIR)/$(BOOK_BASE).html: $(LATEX_INPUT_FILES) $(WEB_CONFIG_FILE)
mkdir -p $(HTML_OUTPUT_DIR)/js
mkdir -p $(HTML_OUTPUT_DIR)/css
/bin/rm -f $(BOOK_BASE)*.html
/bin/rm -f $(BOOK_BASE)*.js
$(HTLATEX) comprehensive-gpl-guide.tex "webhacks,xhtml,2,next,mouseover,fn-in"
mv ${BOOK_BASE}*js $(HTML_OUTPUT_DIR)/js
/bin/rm -f $(BOOK_BASE)*.html
/bin/rm -f $(BOOK_BASE)*.js
$(HTLATEX) comprehensive-gpl-guide.tex "webhacks,2,next,fn-in"
mv ${BOOK_BASE}*css $(HTML_OUTPUT_DIR)
mv ${BOOK_BASE}*html $(HTML_OUTPUT_DIR)
mv cm*png $(HTML_OUTPUT_DIR)
/bin/rm -f ${BOOK_BASE}*aux ${BOOK_BASE}*dvi ${BOOK_BASE}*idv ${BOOK_BASE}*lg ${BOOK_BASE}*tmp ${BOOK_BASE}*4ct ${BOOK_BASE}*4tc ${BOOK_BASE}*toc ${BOOK_BASE}*out ${BOOK_BASE}*xref
jscss: $(CSS_FILE) $(JAVASCRIPT_FILES)
cp -pa js/*js $(HTML_OUTPUT_DIR)/js
cp -pa css/*css $(HTML_OUTPUT_DIR)/css
$(BOOK_BASE).dvi: $(LATEX_INPUT_FILES) $(EPS_FIGS)
$(LATEX) $(BOOK_BASE).tex
$(LATEX) $(BOOK_BASE).tex
install: all
chmod -R oug+r $(HTML_OUTPUT_DIR)
find $(HTML_OUTPUT_DIR) -type d -exec chmod gou+rx {} \;
rsync -HavP --delete --delay-updates $(HTML_OUTPUT_DIR)/ $(WEB_INSTALL_DIR)/
chmod -R oug+r $(WEB_INSTALL_DIR)
find $(WEB_INSTALL_DIR) -type d -exec chmod gou+rx {} \;
cd $(WEB_INSTALL_DIR); /bin/ln -sf comprehensive-gpl-guide.html index.html
cd $(WEB_INSTALL_DIR)/monolithic/; /bin/ln -sf comprehensive-gpl-guide.html index.html
clean:
/bin/rm -f $(BOOK_BASE).ps $(BOOK_BASE).pdf $(BOOK_BASE).log texput.log $(BOOK_BASE).lg $(BOOK_BASE).tmp $(BOOK_BASE).xref *.4ct *.4tc *.aux *.dvi $(BOOK_BASE)*.html *.idv *.lg *.tmp $(BOOK_BASE).css $(BOOK_BASE).log $(BOOK_BASE).out $(BOOK_BASE)-js.* cm*png
/bin/rm -rf public_html
err: ; $(ERR)
|