/[gentoo]/xml/htdocs/proj/en/glep/glep-0023.html
Gentoo

Diff of /xml/htdocs/proj/en/glep/glep-0023.html

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 1.1 Revision 1.10
1<?xml version="1.0" encoding="utf-8" ?> 1<?xml version="1.0" encoding="utf-8" ?>
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 3<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4<!-- 4
5This HTML is auto-generated. DO NOT EDIT THIS FILE! If you are writing a new
6PEP, see http://www.python.org/peps/pep-0001.html for instructions and links
7to templates. DO NOT USE THIS HTML FILE AS YOUR TEMPLATE!
8-->
9<head> 5<head>
10 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 6 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
11 <meta name="generator" content="Docutils 0.3.0: http://docutils.sourceforge.net/" /> 7 <meta name="generator" content="Docutils 0.4: http://docutils.sourceforge.net/" />
12 <title>GLEP 23 -- Portage handling of ACCEPT_LICENSE</title> 8 <title>GLEP 23 -- Handling of ACCEPT_LICENSE</title>
13 <link rel="stylesheet" href="tools/glep.css" type="text/css" /> 9 <link rel="stylesheet" href="tools/glep.css" type="text/css" />
14</head> 10</head>
15<body bgcolor="white"> 11<body bgcolor="white">
16<table class="navigation" cellpadding="0" cellspacing="0" 12<table class="navigation" cellpadding="0" cellspacing="0"
17 width="100%" border="0"> 13 width="100%" border="0">
22<td class="textlinks" align="left"> 18<td class="textlinks" align="left">
23[<b><a href="http://www.gentoo.org/">Gentoo Linux Home</a></b>] 19[<b><a href="http://www.gentoo.org/">Gentoo Linux Home</a></b>]
24[<b><a href="http://www.gentoo.org/proj/en/glep">GLEP Index</a></b>] 20[<b><a href="http://www.gentoo.org/proj/en/glep">GLEP Index</a></b>]
25[<b><a href="http://www.gentoo.org/proj/en/glep/glep-0023.txt">GLEP Source</a></b>] 21[<b><a href="http://www.gentoo.org/proj/en/glep/glep-0023.txt">GLEP Source</a></b>]
26</td></tr></table> 22</td></tr></table>
27<div class="document">
28<table class="rfc2822 field-list" frame="void" rules="none"> 23<table class="rfc2822 docutils field-list" frame="void" rules="none">
29<col class="field-name" /> 24<col class="field-name" />
30<col class="field-body" /> 25<col class="field-body" />
31<tbody valign="top"> 26<tbody valign="top">
32<tr class="field"><th class="field-name">GLEP:</th><td class="field-body">23</td> 27<tr class="field"><th class="field-name">GLEP:</th><td class="field-body">23</td>
33</tr> 28</tr>
34<tr class="field"><th class="field-name">Title:</th><td class="field-body">Portage handling of ACCEPT_LICENSE</td> 29<tr class="field"><th class="field-name">Title:</th><td class="field-body">Handling of ACCEPT_LICENSE</td>
35</tr> 30</tr>
36<tr class="field"><th class="field-name">Version:</th><td class="field-body">1.1</td> 31<tr class="field"><th class="field-name">Version:</th><td class="field-body">1.7</td>
37</tr> 32</tr>
38<tr class="field"><th class="field-name">Last-Modified:</th><td class="field-body"><a class="reference" href="http://www.gentoo.org/cgi-bin/viewcvs.cgi/xml/htdocs/proj/en/glep/glep-0023.txt?cvsroot=gentoo">2004/03/08 17:26:04</a></td> 33<tr class="field"><th class="field-name">Last-Modified:</th><td class="field-body"><a class="reference" href="http://www.gentoo.org/cgi-bin/viewcvs.cgi/xml/htdocs/proj/en/glep/glep-0023.txt?cvsroot=gentoo">2006/11/21 00:02:05</a></td>
39</tr> 34</tr>
40<tr class="field"><th class="field-name">Author:</th><td class="field-body">Jason Stubbs &lt;jstubbs&#32;&#97;t&#32;gentoo.org&gt;,</td> 35<tr class="field"><th class="field-name">Author:</th><td class="field-body">Jason Stubbs &lt;jstubbs&#32;&#97;t&#32;gentoo.org&gt;, Marius Mauch &lt;genone&#32;&#97;t&#32;gentoo.org&gt;</td>
41</tr> 36</tr>
42<tr class="field"><th class="field-name">Status:</th><td class="field-body">Draft</td> 37<tr class="field"><th class="field-name">Status:</th><td class="field-body">Accepted</td>
43</tr> 38</tr>
44<tr class="field"><th class="field-name">Type:</th><td class="field-body">Standards Track</td> 39<tr class="field"><th class="field-name">Type:</th><td class="field-body">Standards Track</td>
45</tr> 40</tr>
46<tr class="field"><th class="field-name">Content-Type:</th><td class="field-body"><a class="reference" href="glep-0002.html">text/x-rst</a></td> 41<tr class="field"><th class="field-name">Content-Type:</th><td class="field-body"><a class="reference" href="glep-0002.html">text/x-rst</a></td>
47</tr> 42</tr>
48<tr class="field"><th class="field-name">Created:</th><td class="field-body">9-Mar-2004</td> 43<tr class="field"><th class="field-name">Created:</th><td class="field-body">9-Mar-2004</td>
49</tr> 44</tr>
50<tr class="field"><th class="field-name">Post-History:</th><td class="field-body">8-Mar-2004</td> 45<tr class="field"><th class="field-name">Post-History:</th><td class="field-body">8-Mar-2004 10-Mar-2004 25-Oct-2004 18-Nov-2006 21-Nov-2006</td>
51</tr> 46</tr>
52</tbody> 47</tbody>
53</table> 48</table>
54<hr /> 49<hr />
55<div class="contents topic" id="contents"> 50<div class="contents topic">
56<p class="topic-title"><a name="contents">Contents</a></p> 51<p class="topic-title first"><a id="contents" name="contents">Contents</a></p>
57<ul class="simple"> 52<ul class="simple">
58<li><a class="reference" href="#abstract" id="id5" name="id5">Abstract</a></li> 53<li><a class="reference" href="#abstract" id="id5" name="id5">Abstract</a></li>
54<li><a class="reference" href="#status-update" id="id6" name="id6">Status Update</a></li>
59<li><a class="reference" href="#motivation" id="id6" name="id6">Motivation</a></li> 55<li><a class="reference" href="#motivation" id="id7" name="id7">Motivation</a></li>
60<li><a class="reference" href="#specification" id="id7" name="id7">Specification</a><ul> 56<li><a class="reference" href="#specification" id="id8" name="id8">Specification</a><ul>
61<li><a class="reference" href="#ebuild-license-variable" id="id8" name="id8">Ebuild LICENSE Variable</a></li> 57<li><a class="reference" href="#ebuild-license-variable" id="id9" name="id9">Ebuild LICENSE Variable</a></li>
62<li><a class="reference" href="#license-groups" id="id9" name="id9">License Groups</a></li> 58<li><a class="reference" href="#license-groups" id="id10" name="id10">License Groups</a></li>
63<li><a class="reference" href="#accept-license" id="id10" name="id10">ACCEPT_LICENSE</a></li> 59<li><a class="reference" href="#accept-license" id="id11" name="id11">ACCEPT_LICENSE</a></li>
64<li><a class="reference" href="#emerge-behaviour" id="id11" name="id11">Emerge Behaviour</a></li> 60<li><a class="reference" href="#behaviour" id="id12" name="id12">Behaviour</a></li>
65</ul> 61</ul>
66</li> 62</li>
67<li><a class="reference" href="#rationale" id="id12" name="id12">Rationale</a></li> 63<li><a class="reference" href="#rationale" id="id13" name="id13">Rationale</a></li>
68<li><a class="reference" href="#reference-implementation" id="id13" name="id13">Reference Implementation</a></li> 64<li><a class="reference" href="#reference-implementation" id="id14" name="id14">Reference Implementation</a></li>
69<li><a class="reference" href="#backwards-compatibility" id="id14" name="id14">Backwards Compatibility</a></li> 65<li><a class="reference" href="#backwards-compatibility" id="id15" name="id15">Backwards Compatibility</a></li>
70<li><a class="reference" href="#references" id="id15" name="id15">References</a></li> 66<li><a class="reference" href="#references" id="id16" name="id16">References</a></li>
71<li><a class="reference" href="#copyright" id="id16" name="id16">Copyright</a></li> 67<li><a class="reference" href="#copyright" id="id17" name="id17">Copyright</a></li>
72</ul> 68</ul>
73</div> 69</div>
74<div class="section" id="abstract"> 70<div class="section">
75<h1><a class="toc-backref" href="#id5" name="abstract">Abstract</a></h1> 71<h1><a class="toc-backref" href="#id5" id="abstract" name="abstract">Abstract</a></h1>
76<p>Currently, every ebuild in the portage tree is required to have a valid 72<p>Currently, every ebuild in the main gentoo repository is required to have a
77LICENSE entry. However, the syntax of this entry is not officially 73valid LICENSE entry. However, the syntax of this entry is not officially
78defined and the entry itself is only used when outputting package 74defined and the entry itself is only used when outputting package
79details.</p> 75details.</p>
80</div> 76</div>
81<div class="section" id="motivation"> 77<div class="section">
78<h1><a class="toc-backref" href="#id6" id="status-update" name="status-update">Status Update</a></h1>
79<p>Repoman has been updated to check for the LICENSE syntax.
80A development portage branch with support for ACCEPT_LICENSE
81and license groups exists.</p>
82</div>
83<div class="section">
82<h1><a class="toc-backref" href="#id6" name="motivation">Motivation</a></h1> 84<h1><a class="toc-backref" href="#id7" id="motivation" name="motivation">Motivation</a></h1>
83<p>Many users wish to regulate the software they install with regards to 85<p>Many users wish to regulate the software they install with regards to
84licenses for various reasons <a class="footnote-reference" href="#id3" id="id1" name="id1">[1]</a>. Some want a system free of any 86licenses for various reasons <a class="footnote-reference" href="#id3" id="id1" name="id1">[1]</a>. Some want a system free of any
85software that is not OSI-approved; others are simply curious as to what 87software that is not OSI-approved; others are simply curious as to what
86licenses they are implicitly accepting.</p> 88licenses they are implicitly accepting.</p>
87<p>Furthermore, some software requires that a user interactively accept its 89<p>Furthermore, some software requires that a user interactively accept its
88license for its author's to consider it legally binding. This is 90license for its author's to consider it legally binding. This is
89currently implemented using <tt class="literal"><span class="pre">eutils.eclass</span></tt>.</p> 91currently implemented using <tt class="docutils literal"><span class="pre">eutils.eclass</span></tt>.</p>
90</div> 92</div>
91<div class="section" id="specification"> 93<div class="section">
92<h1><a class="toc-backref" href="#id7" name="specification">Specification</a></h1> 94<h1><a class="toc-backref" href="#id8" id="specification" name="specification">Specification</a></h1>
93<div class="section" id="ebuild-license-variable"> 95<div class="section">
94<h2><a class="toc-backref" href="#id8" name="ebuild-license-variable">Ebuild LICENSE Variable</a></h2> 96<h2><a class="toc-backref" href="#id9" id="ebuild-license-variable" name="ebuild-license-variable">Ebuild LICENSE Variable</a></h2>
95<p>Most ebuilds are for software which is released under a single license. 97<p>Most ebuilds are for software which is released under a single license.
96In these cases, the current LICENSE variable can remain as is. For 98In these cases, the current LICENSE variable can remain as is. For
97example:</p> 99example:</p>
98<pre class="literal-block"> 100<pre class="literal-block">
99LICENSE=&quot;single-license&quot; 101LICENSE=&quot;single-license&quot;
100</pre> 102</pre>
101<p>However, there are several ebuilds for software which is released under 103<p>However, there are several ebuilds for software which is released under
102several licenses, of which the user must accept one, some or all <a class="footnote-reference" href="#id4" id="id2" name="id2">[2]</a>. 104several licenses, of which the user must accept one, some or all <a class="footnote-reference" href="#id4" id="id2" name="id2">[2]</a>.
103To complicate this, some ebuilds include optional components which fall 105To complicate this, some ebuilds include optional components which fall
104under a different license.</p> 106under a different license.</p>
105<p>To accomodate these cases, LICENSE syntax should accomodate all 107<p>To accomodate these cases, LICENSE syntax should accomodate all
106functionality offered by a DEPEND string. To keep things simple, this 108functionality offered by a DEPEND string. To keep things simple, this
107GLEP proposes that the syntax be identical. For example:</p> 109GLEP proposes that the syntax be identical. For example:</p>
108<pre class="literal-block"> 110<pre class="literal-block">
109LICENSE=&quot;mandatory-license \ 111LICENSE=&quot;mandatory-license
110 ( || choosable-licence1 chooseable-license-2 ) \ 112 || ( choosable-licence1 chooseable-license-2 )
111 useflag? ( optional-component-license )&quot; 113 useflag? ( optional-component-license )&quot;
112</pre> 114</pre>
115<p>License names may contain [a-zA-Z0-9] (english alphanumeric characters),
116_ (underscore), - (dash), . (dot) and + (plus sign).</p>
113</div> 117</div>
114<div class="section" id="license-groups"> 118<div class="section">
115<h2><a class="toc-backref" href="#id9" name="license-groups">License Groups</a></h2> 119<h2><a class="toc-backref" href="#id10" id="license-groups" name="license-groups">License Groups</a></h2>
116<p>Almost all users are willing to install any software that is 120<p>Almost all users are willing to install any software that is
117OSI-approved. Other users are willing to install any software and 121FSF-approved. Other users are willing to install any software and
118implicitly accept its license. To this end, portage will also need to 122implicitly accept its license. To this end, implementations will also
119handle grouping of licenses.</p> 123need to handle grouping of licenses.</p>
120<p>At a minimum, there needs to be the groups <tt class="literal"><span class="pre">OSI-APPROVED</span></tt> and 124<p>At a minimum, there needs to be the groups <tt class="docutils literal"><span class="pre">GPL-COMPATIBLE</span></tt>,
121<tt class="literal"><span class="pre">NON-INTERACTIVE</span></tt>. <tt class="literal"><span class="pre">NON-INTERACTIVE</span></tt> licenses are those that don't 125<tt class="docutils literal"><span class="pre">FSF-APPROVED</span></tt>, <tt class="docutils literal"><span class="pre">OSI-APPROVED</span></tt> and <tt class="docutils literal"><span class="pre">NON-MUST-HAVE-READ</span></tt>.
122require interactive acceptance for it to be considered legally binding. 126<tt class="docutils literal"><span class="pre">NON-MUST-HAVE-READ</span></tt> licenses are those that don't require manual
123This is the current behaviour of portage.</p> 127acceptance for to be considered legally binding. This is the current
128behaviour of portage.</p>
129<p>These groups are defined in a new file <tt class="docutils literal"><span class="pre">license_groups</span></tt> in
130the <tt class="docutils literal"><span class="pre">profiles</span></tt> subdirectory of the tree (or overlays).
131Details of handling groups defined in overlays is implementation dependent.</p>
132<p>The format of this file is</p>
133<pre class="literal-block">
134&lt;groupname&gt; &lt;license1&gt; &lt;license2&gt; ... &lt;licenseN&gt;
135</pre>
136<p>Also any line starting with # is ignored and may be used for comments.
137Group names use the same syntax as normal license names. Also license groups
138may contain other groups.
139License groups may not contain negated elements, so a group</p>
140<pre class="literal-block">
141mygroup foo -bar -bla
142</pre>
143<p>is illegal.</p>
124</div> 144</div>
125<div class="section" id="accept-license"> 145<div class="section">
126<h2><a class="toc-backref" href="#id10" name="accept-license">ACCEPT_LICENSE</a></h2> 146<h2><a class="toc-backref" href="#id11" id="accept-license" name="accept-license">ACCEPT_LICENSE</a></h2>
127<p>This GLEP proposes that a user be able to explicitly accept or decline 147<p>This GLEP proposes that a user be able to explicitly accept or decline
128licenses by editing a new variable <tt class="literal"><span class="pre">ACCEPT_LICENSE</span></tt> in 148licenses by editing a new variable <tt class="docutils literal"><span class="pre">ACCEPT_LICENSE</span></tt> in
129<tt class="literal"><span class="pre">/etc/make.conf</span></tt>. Again, to keep things simple, the syntax should be 149<tt class="docutils literal"><span class="pre">/etc/make.conf</span></tt>. Again, to keep things simple, the syntax should be
130similar to that of other incrementals. For example:</p> 150similar to that of other incrementals. For example:</p>
131<pre class="literal-block"> 151<pre class="literal-block">
132ACCEPT_LICENSE=&quot;-* accepted-license -declined-license&quot; 152ACCEPT_LICENSE=&quot;-* accepted-license -declined-license&quot;
133</pre> 153</pre>
134<p>As an extension, <tt class="literal"><span class="pre">ACCEPT_LICENSE</span></tt> must also support <a class="reference" href="#license-groups">license groups</a>. 154<p>As an extension, <tt class="docutils literal"><span class="pre">ACCEPT_LICENSE</span></tt> must also support <a class="reference" href="#license-groups">license groups</a>.
135This GLEP proposes that the license group be prepended by the special 155This GLEP proposes that the license group be prepended by the special
136character &quot;<tt class="literal"><span class="pre">&#64;</span></tt>&quot;. For example:</p> 156character &quot;<tt class="docutils literal"><span class="pre">&#64;</span></tt>&quot;. For example:</p>
137<pre class="literal-block"> 157<pre class="literal-block">
138ACCEPT_LICENSE=&quot;-* &#64;OSI-APPROVED&quot; 158ACCEPT_LICENSE=&quot;-* &#64;FSF-APPROVED&quot;
139</pre> 159</pre>
160<p>License groups may be negated with the result that all elements of that group
161are also negated.</p>
162<p>Portage will also offer a package.license facility to offer this functionality
163on a per-package base (analog to package.keywords), other implementations may
164implement such a facility differently or not at all.</p>
140</div> 165</div>
141<div class="section" id="emerge-behaviour"> 166<div class="section">
142<h2><a class="toc-backref" href="#id11" name="emerge-behaviour">Emerge Behaviour</a></h2> 167<h2><a class="toc-backref" href="#id12" id="behaviour" name="behaviour">Behaviour</a></h2>
143<p>At a minimum, emerge must handle unaccepted licenses the same way that 168<p>Unaccepted licenses will be treated like any other masked package, that is
144it handles blockers. That is, with the --pretend flag the 169the user interface of an implementation will display a message listing any
145not-yet-accepted license should be listed in the output. Without the 170license that has to be accepted before the package can be merged with a
146--pretend flag, emerge should stop before any software is installed.</p> 171pointer to the exact license text.</p>
147<p>This GLEP proposes that, unlike blockers, dependencies for software 172<p>Past versions of this document proposed to handle license-masked packages
148should be checked regardless of license acceptance. Doing so will allow 173like blockers, but this would be inconsistent with other visibility
149the user to review all necessary licenses before initiating an actual 174filters as well as the current blocker system (as a blocker affects two
150emerge.</p> 175packages) and be more complicated to implement.</p>
151<p>It is also proposed that the --ask option will display an unaccepted
152license and ask for acceptance, but not update any configuration files
153at this stage. Finally, the --verbose option should also list the
154licenses accepted for each package.</p>
155</div> 176</div>
156</div> 177</div>
157<div class="section" id="rationale"> 178<div class="section">
158<h1><a class="toc-backref" href="#id12" name="rationale">Rationale</a></h1> 179<h1><a class="toc-backref" href="#id13" id="rationale" name="rationale">Rationale</a></h1>
159<p>An implementation of this proposal should make it easy for users wishing 180<p>An implementation of this proposal should make it easy for users wishing
160to regulate their software without affecting those that don't.</p> 181to regulate their software without affecting those that don't.</p>
161</div> 182</div>
162<div class="section" id="reference-implementation"> 183<div class="section">
163<h1><a class="toc-backref" href="#id13" name="reference-implementation">Reference Implementation</a></h1> 184<h1><a class="toc-backref" href="#id14" id="reference-implementation" name="reference-implementation">Reference Implementation</a></h1>
164<p>TODO</p> 185<p>Available in portage svn repository under main/branches/license-masking</p>
165</div> 186</div>
166<div class="section" id="backwards-compatibility"> 187<div class="section">
167<h1><a class="toc-backref" href="#id14" name="backwards-compatibility">Backwards Compatibility</a></h1> 188<h1><a class="toc-backref" href="#id15" id="backwards-compatibility" name="backwards-compatibility">Backwards Compatibility</a></h1>
168<p>There should be no change to the user experience without the user 189<p>There should be no change to the user experience without the user
169explicitly choosing to do so. This mandates that the 190explicitly choosing to do so. This mandates that the
170configuration variable be named <tt class="literal"><span class="pre">ACCEPT_LICENSE</span></tt> as some users may 191configuration variable be named <tt class="docutils literal"><span class="pre">ACCEPT_LICENSE</span></tt> as some users may
171already have it set due to ebuilds using <tt class="literal"><span class="pre">eutil.eclass</span></tt>'s 192already have it set due to ebuilds using <tt class="docutils literal"><span class="pre">eutil.eclass</span></tt>'s
172implementation. It also mandates that the default <tt class="literal"><span class="pre">ACCEPT_LICENSE</span></tt> be 193implementation. It also mandates that the default <tt class="docutils literal"><span class="pre">ACCEPT_LICENSE</span></tt> be
173set to <tt class="literal"><span class="pre">&#64;NON-INTERACTIVE</span></tt>.</p> 194set to <tt class="docutils literal"><span class="pre">&#64;NON-MUST-HAVE-READ</span></tt> in the main gentoo repository as implementations
195are not required to provide an internal default.</p>
174</div> 196</div>
175<div class="section" id="references"> 197<div class="section">
176<h1><a class="toc-backref" href="#id15" name="references">References</a></h1> 198<h1><a class="toc-backref" href="#id16" id="references" name="references">References</a></h1>
177<table class="footnote" frame="void" id="id3" rules="none"> 199<table class="docutils footnote" frame="void" id="id3" rules="none">
178<colgroup><col class="label" /><col /></colgroup> 200<colgroup><col class="label" /><col /></colgroup>
179<tbody valign="top"> 201<tbody valign="top">
180<tr><td class="label"><a class="fn-backref" href="#id1" name="id3">[1]</a></td><td>Gentoo Linux Bug 17367 202<tr><td class="label"><a class="fn-backref" href="#id1" name="id3">[1]</a></td><td>Gentoo Linux Bug 17367
181(<a class="reference" href="http://bugs.gentoo.org/show_bug.cgi?id=17367">http://bugs.gentoo.org/show_bug.cgi?id=17367</a>)</td></tr> 203(<a class="reference" href="http://bugs.gentoo.org/show_bug.cgi?id=17367">http://bugs.gentoo.org/show_bug.cgi?id=17367</a>)</td></tr>
182</tbody> 204</tbody>
183</table> 205</table>
184<table class="footnote" frame="void" id="id4" rules="none"> 206<table class="docutils footnote" frame="void" id="id4" rules="none">
185<colgroup><col class="label" /><col /></colgroup> 207<colgroup><col class="label" /><col /></colgroup>
186<tbody valign="top"> 208<tbody valign="top">
187<tr><td class="label"><a class="fn-backref" href="#id2" name="id4">[2]</a></td><td>Gentoo Linux Bug 34146 209<tr><td class="label"><a class="fn-backref" href="#id2" name="id4">[2]</a></td><td>Gentoo Linux Bug 34146
188(<a class="reference" href="http://bugs.gentoo.org/show_bug.cgi?id=34146">http://bugs.gentoo.org/show_bug.cgi?id=34146</a>)</td></tr> 210(<a class="reference" href="http://bugs.gentoo.org/show_bug.cgi?id=34146">http://bugs.gentoo.org/show_bug.cgi?id=34146</a>)</td></tr>
189</tbody> 211</tbody>
190</table> 212</table>
191</div> 213</div>
192<div class="section" id="copyright"> 214<div class="section">
193<h1><a class="toc-backref" href="#id16" name="copyright">Copyright</a></h1> 215<h1><a class="toc-backref" href="#id17" id="copyright" name="copyright">Copyright</a></h1>
194<p>This document has been placed in the public domain.</p> 216<p>This document has been placed in the public domain.</p>
195</div> 217</div>
196</div>
197 218
198<hr class="footer"/> 219</div>
199<div class="footer"> 220<div class="footer">
221<hr class="footer" />
200<a class="reference" href="glep-0023.txt">View document source</a>. 222<a class="reference" href="glep-0023.txt">View document source</a>.
201Generated on: 2004-03-08 17:26 UTC. 223Generated on: 2007-10-13 13:39 UTC.
202Generated by <a class="reference" href="http://docutils.sourceforge.net/">Docutils</a> from <a class="reference" href="http://docutils.sourceforge.net/rst.html">reStructuredText</a> source. 224Generated by <a class="reference" href="http://docutils.sourceforge.net/">Docutils</a> from <a class="reference" href="http://docutils.sourceforge.net/rst.html">reStructuredText</a> source.
225
203</div> 226</div>
204</body> 227</body>
205</html> 228</html>
206 229

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.10

  ViewVC Help
Powered by ViewVC 1.1.20