/[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.2 Revision 1.3
6PEP, see http://www.python.org/peps/pep-0001.html for instructions and links 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! 7to templates. DO NOT USE THIS HTML FILE AS YOUR TEMPLATE!
8--> 8-->
9<head> 9<head>
10 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 10 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
11 <meta name="generator" content="Docutils 0.3.0: http://docutils.sourceforge.net/" /> 11 <meta name="generator" content="Docutils 0.3.3: http://docutils.sourceforge.net/" />
12 <title>GLEP 23 -- Portage handling of ACCEPT_LICENSE</title> 12 <title>GLEP 23 -- Portage handling of ACCEPT_LICENSE</title>
13 <link rel="stylesheet" href="tools/glep.css" type="text/css" /> 13 <link rel="stylesheet" href="tools/glep.css" type="text/css" />
14</head> 14</head>
15<body bgcolor="white"> 15<body bgcolor="white">
16<table class="navigation" cellpadding="0" cellspacing="0" 16<table class="navigation" cellpadding="0" cellspacing="0"
20<img src="http://www.gentoo.org/images/gentoo-new.gif" alt="[Gentoo]" 20<img src="http://www.gentoo.org/images/gentoo-new.gif" alt="[Gentoo]"
21 border="0" width="150" height="35" /></a></td> 21 border="0" width="150" height="35" /></a></td>
22<td class="textlinks" align="left"> 22<td class="textlinks" align="left">
23[<b><a href="http://www.gentoo.org/">Gentoo Linux Home</a></b>] 23[<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>] 24[<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>] 25[<b><a href="./glep-0023.txt">GLEP Source</a></b>]
26</td></tr></table> 26</td></tr></table>
27<div class="document"> 27<div class="document">
28<table class="rfc2822 field-list" frame="void" rules="none"> 28<table class="rfc2822 field-list" frame="void" rules="none">
29<col class="field-name" /> 29<col class="field-name" />
30<col class="field-body" /> 30<col class="field-body" />
33</tr> 33</tr>
34<tr class="field"><th class="field-name">Title:</th><td class="field-body">Portage handling of ACCEPT_LICENSE</td> 34<tr class="field"><th class="field-name">Title:</th><td class="field-body">Portage handling of ACCEPT_LICENSE</td>
35</tr> 35</tr>
36<tr class="field"><th class="field-name">Version:</th><td class="field-body">1.2</td> 36<tr class="field"><th class="field-name">Version:</th><td class="field-body">1.2</td>
37</tr> 37</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/11 02:35:40</a></td> 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/xml/htdocs/proj/en/glep/glep-0023.txt?cvsroot=gentoo">2004/03/11 02:35:40</a></td>
39</tr> 39</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> 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>
41</tr> 41</tr>
42<tr class="field"><th class="field-name">Status:</th><td class="field-body">Draft</td> 42<tr class="field"><th class="field-name">Status:</th><td class="field-body">Accepted</td>
43</tr> 43</tr>
44<tr class="field"><th class="field-name">Type:</th><td class="field-body">Standards Track</td> 44<tr class="field"><th class="field-name">Type:</th><td class="field-body">Standards Track</td>
45</tr> 45</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> 46<tr class="field"><th class="field-name">Content-Type:</th><td class="field-body"><a class="reference" href="glep-0012.html">text/x-rst</a></td>
47</tr> 47</tr>
48<tr class="field"><th class="field-name">Created:</th><td class="field-body">9-Mar-2004</td> 48<tr class="field"><th class="field-name">Created:</th><td class="field-body">9-Mar-2004</td>
49</tr> 49</tr>
50<tr class="field"><th class="field-name">Post-History:</th><td class="field-body">8-Mar-2004 10-Mar-2004</td> 50<tr class="field"><th class="field-name">Post-History:</th><td class="field-body">8-Mar-2004 10-Mar-2004 25-Oct-2004</td>
51</tr> 51</tr>
52</tbody> 52</tbody>
53</table> 53</table>
54<hr /> 54<hr />
55<div class="contents topic" id="contents"> 55<div class="contents topic" id="contents">
56<p class="topic-title"><a name="contents">Contents</a></p> 56<p class="topic-title first"><a name="contents">Contents</a></p>
57<ul class="simple"> 57<ul class="simple">
58<li><a class="reference" href="#abstract" id="id5" name="id5">Abstract</a></li> 58<li><a class="reference" href="#abstract" id="id5" name="id5">Abstract</a></li>
59<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> 60<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> 61<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> 62<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> 63<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> 64<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> 65<li><a class="reference" href="#emerge-behaviour" id="id12" name="id12">Emerge Behaviour</a></li>
65</ul> 66</ul>
66</li> 67</li>
67<li><a class="reference" href="#rationale" id="id12" name="id12">Rationale</a></li> 68<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> 69<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> 70<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> 71<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> 72<li><a class="reference" href="#copyright" id="id17" name="id17">Copyright</a></li>
72</ul> 73</ul>
73</div> 74</div>
74<div class="section" id="abstract"> 75<div class="section" id="abstract">
75<h1><a class="toc-backref" href="#id5" name="abstract">Abstract</a></h1> 76<h1><a class="toc-backref" href="#id5" name="abstract">Abstract</a></h1>
76<p>Currently, every ebuild in the portage tree is required to have a valid 77<p>Currently, every ebuild in the portage tree is required to have a valid
77LICENSE entry. However, the syntax of this entry is not officially 78LICENSE entry. However, the syntax of this entry is not officially
78defined and the entry itself is only used when outputting package 79defined and the entry itself is only used when outputting package
79details.</p> 80details.</p>
80</div> 81</div>
82<div class="section" id="status-update">
83<h1><a class="toc-backref" href="#id6" name="status-update">Status Update</a></h1>
84<p>Repoman has been updated to check for the LICENSE syntax.</p>
85</div>
81<div class="section" id="motivation"> 86<div class="section" id="motivation">
82<h1><a class="toc-backref" href="#id6" name="motivation">Motivation</a></h1> 87<h1><a class="toc-backref" href="#id7" name="motivation">Motivation</a></h1>
83<p>Many users wish to regulate the software they install with regards to 88<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 89licenses 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 90software that is not OSI-approved; others are simply curious as to what
86licenses they are implicitly accepting.</p> 91licenses they are implicitly accepting.</p>
87<p>Furthermore, some software requires that a user interactively accept its 92<p>Furthermore, some software requires that a user interactively accept its
88license for its author's to consider it legally binding. This is 93license 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> 94currently implemented using <tt class="literal"><span class="pre">eutils.eclass</span></tt>.</p>
90</div> 95</div>
91<div class="section" id="specification"> 96<div class="section" id="specification">
92<h1><a class="toc-backref" href="#id7" name="specification">Specification</a></h1> 97<h1><a class="toc-backref" href="#id8" name="specification">Specification</a></h1>
93<div class="section" id="ebuild-license-variable"> 98<div class="section" id="ebuild-license-variable">
94<h2><a class="toc-backref" href="#id8" name="ebuild-license-variable">Ebuild LICENSE Variable</a></h2> 99<h2><a class="toc-backref" href="#id9" name="ebuild-license-variable">Ebuild LICENSE Variable</a></h2>
95<p>Most ebuilds are for software which is released under a single license. 100<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 101In these cases, the current LICENSE variable can remain as is. For
97example:</p> 102example:</p>
98<pre class="literal-block"> 103<pre class="literal-block">
99LICENSE=&quot;single-license&quot; 104LICENSE=&quot;single-license&quot;
110 || ( choosable-licence1 chooseable-license-2 ) 115 || ( choosable-licence1 chooseable-license-2 )
111 useflag? ( optional-component-license )&quot; 116 useflag? ( optional-component-license )&quot;
112</pre> 117</pre>
113</div> 118</div>
114<div class="section" id="license-groups"> 119<div class="section" id="license-groups">
115<h2><a class="toc-backref" href="#id9" name="license-groups">License Groups</a></h2> 120<h2><a class="toc-backref" href="#id10" name="license-groups">License Groups</a></h2>
116<p>Almost all users are willing to install any software that is 121<p>Almost all users are willing to install any software that is
117FSF-approved. Other users are willing to install any software and 122FSF-approved. Other users are willing to install any software and
118implicitly accept its license. To this end, portage will also need to 123implicitly accept its license. To this end, portage will also need to
119handle grouping of licenses.</p> 124handle grouping of licenses.</p>
120<p>At a minimum, there needs to be the groups <tt class="literal"><span class="pre">GPL-COMPATIBLE</span></tt>, 125<p>At a minimum, there needs to be the groups <tt class="literal"><span class="pre">GPL-COMPATIBLE</span></tt>,
122<tt class="literal"><span class="pre">NON-INTERACTIVE</span></tt> licenses are those that don't require interactive 127<tt class="literal"><span class="pre">NON-INTERACTIVE</span></tt> licenses are those that don't require interactive
123acceptance for to be considered legally binding. This is the current 128acceptance for to be considered legally binding. This is the current
124behaviour of portage.</p> 129behaviour of portage.</p>
125</div> 130</div>
126<div class="section" id="accept-license"> 131<div class="section" id="accept-license">
127<h2><a class="toc-backref" href="#id10" name="accept-license">ACCEPT_LICENSE</a></h2> 132<h2><a class="toc-backref" href="#id11" name="accept-license">ACCEPT_LICENSE</a></h2>
128<p>This GLEP proposes that a user be able to explicitly accept or decline 133<p>This GLEP proposes that a user be able to explicitly accept or decline
129licenses by editing a new variable <tt class="literal"><span class="pre">ACCEPT_LICENSE</span></tt> in 134licenses by editing a new variable <tt class="literal"><span class="pre">ACCEPT_LICENSE</span></tt> in
130<tt class="literal"><span class="pre">/etc/make.conf</span></tt>. Again, to keep things simple, the syntax should be 135<tt class="literal"><span class="pre">/etc/make.conf</span></tt>. Again, to keep things simple, the syntax should be
131similar to that of other incrementals. For example:</p> 136similar to that of other incrementals. For example:</p>
132<pre class="literal-block"> 137<pre class="literal-block">
138<pre class="literal-block"> 143<pre class="literal-block">
139ACCEPT_LICENSE=&quot;-* &#64;FSF-APPROVED&quot; 144ACCEPT_LICENSE=&quot;-* &#64;FSF-APPROVED&quot;
140</pre> 145</pre>
141</div> 146</div>
142<div class="section" id="emerge-behaviour"> 147<div class="section" id="emerge-behaviour">
143<h2><a class="toc-backref" href="#id11" name="emerge-behaviour">Emerge Behaviour</a></h2> 148<h2><a class="toc-backref" href="#id12" name="emerge-behaviour">Emerge Behaviour</a></h2>
144<p>At a minimum, emerge must handle unaccepted licenses the same way that 149<p>At a minimum, emerge must handle unaccepted licenses the same way that
145it handles blockers. That is, with the --pretend flag the 150it handles blockers. That is, with the --pretend flag the
146not-yet-accepted license should be listed in the output. Without the 151not-yet-accepted license should be listed in the output. Without the
147--pretend flag, emerge should stop before any software is installed.</p> 152--pretend flag, emerge should stop before any software is installed.</p>
148<p>This GLEP proposes that, unlike blockers, dependencies for software 153<p>This GLEP proposes that, unlike blockers, dependencies for software
154at this stage. Finally, the --verbose option should also list the 159at this stage. Finally, the --verbose option should also list the
155licenses accepted for each package.</p> 160licenses accepted for each package.</p>
156</div> 161</div>
157</div> 162</div>
158<div class="section" id="rationale"> 163<div class="section" id="rationale">
159<h1><a class="toc-backref" href="#id12" name="rationale">Rationale</a></h1> 164<h1><a class="toc-backref" href="#id13" name="rationale">Rationale</a></h1>
160<p>An implementation of this proposal should make it easy for users wishing 165<p>An implementation of this proposal should make it easy for users wishing
161to regulate their software without affecting those that don't.</p> 166to regulate their software without affecting those that don't.</p>
162</div> 167</div>
163<div class="section" id="reference-implementation"> 168<div class="section" id="reference-implementation">
164<h1><a class="toc-backref" href="#id13" name="reference-implementation">Reference Implementation</a></h1> 169<h1><a class="toc-backref" href="#id14" name="reference-implementation">Reference Implementation</a></h1>
165<p>TODO</p> 170<p>TODO</p>
166</div> 171</div>
167<div class="section" id="backwards-compatibility"> 172<div class="section" id="backwards-compatibility">
168<h1><a class="toc-backref" href="#id14" name="backwards-compatibility">Backwards Compatibility</a></h1> 173<h1><a class="toc-backref" href="#id15" name="backwards-compatibility">Backwards Compatibility</a></h1>
169<p>There should be no change to the user experience without the user 174<p>There should be no change to the user experience without the user
170explicitly choosing to do so. This mandates that the 175explicitly choosing to do so. This mandates that the
171configuration variable be named <tt class="literal"><span class="pre">ACCEPT_LICENSE</span></tt> as some users may 176configuration variable be named <tt class="literal"><span class="pre">ACCEPT_LICENSE</span></tt> as some users may
172already have it set due to ebuilds using <tt class="literal"><span class="pre">eutil.eclass</span></tt>'s 177already have it set due to ebuilds using <tt class="literal"><span class="pre">eutil.eclass</span></tt>'s
173implementation. It also mandates that the default <tt class="literal"><span class="pre">ACCEPT_LICENSE</span></tt> be 178implementation. It also mandates that the default <tt class="literal"><span class="pre">ACCEPT_LICENSE</span></tt> be
174set to <tt class="literal"><span class="pre">&#64;NON-INTERACTIVE</span></tt>.</p> 179set to <tt class="literal"><span class="pre">&#64;NON-INTERACTIVE</span></tt>.</p>
175</div> 180</div>
176<div class="section" id="references"> 181<div class="section" id="references">
177<h1><a class="toc-backref" href="#id15" name="references">References</a></h1> 182<h1><a class="toc-backref" href="#id16" name="references">References</a></h1>
178<table class="footnote" frame="void" id="id3" rules="none"> 183<table class="footnote" frame="void" id="id3" rules="none">
179<colgroup><col class="label" /><col /></colgroup> 184<colgroup><col class="label" /><col /></colgroup>
180<tbody valign="top"> 185<tbody valign="top">
181<tr><td class="label"><a class="fn-backref" href="#id1" name="id3">[1]</a></td><td>Gentoo Linux Bug 17367 186<tr><td class="label"><a class="fn-backref" href="#id1" name="id3">[1]</a></td><td>Gentoo Linux Bug 17367
182(<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> 187(<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>
189(<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> 194(<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>
190</tbody> 195</tbody>
191</table> 196</table>
192</div> 197</div>
193<div class="section" id="copyright"> 198<div class="section" id="copyright">
194<h1><a class="toc-backref" href="#id16" name="copyright">Copyright</a></h1> 199<h1><a class="toc-backref" href="#id17" name="copyright">Copyright</a></h1>
195<p>This document has been placed in the public domain.</p> 200<p>This document has been placed in the public domain.</p>
196</div> 201</div>
197</div> 202</div>
198 203
199<hr class="footer"/> 204<hr class="footer" />
200<div class="footer"> 205<div class="footer">
201<a class="reference" href="glep-0023.txt">View document source</a>. 206<a class="reference" href="glep-0023.txt">View document source</a>.
202Generated on: 2004-03-11 02:35 UTC. 207Generated on: 2004-10-25 16:56 UTC.
203Generated 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. 208Generated 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.
204</div> 209</div>
205</body> 210</body>
206</html> 211</html>
207 212

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.3

  ViewVC Help
Powered by ViewVC 1.1.20