/[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.5 Revision 1.6
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.4: http://docutils.sourceforge.net/" /> 11 <meta name="generator" content="Docutils 0.4: http://docutils.sourceforge.net/" />
12 <title>GLEP 23 -- Portage handling of ACCEPT_LICENSE</title> 12 <title>GLEP 23 -- Handling of ACCEPT_LICENSE</title>
13 <style type="text/css"> 13 <style type="text/css">
14 14
15/* 15/*
16:Author: David Goodger 16:Author: David Goodger
17:Contact: goodger@users.sourceforge.net 17:Contact: goodger@users.sourceforge.net
18:date: $Date: 2006/11/18 07:27:47 $ 18:date: $Date: 2006/11/19 22:46:27 $
19:version: $Revision: 1.5 $ 19:version: $Revision: 1.6 $
20:copyright: This stylesheet has been placed in the public domain. 20:copyright: This stylesheet has been placed in the public domain.
21 21
22Default cascading style sheet for the PEP HTML output of Docutils. 22Default cascading style sheet for the PEP HTML output of Docutils.
23*/ 23*/
24 24
271<col class="field-name" /> 271<col class="field-name" />
272<col class="field-body" /> 272<col class="field-body" />
273<tbody valign="top"> 273<tbody valign="top">
274<tr class="field"><th class="field-name">GLEP:</th><td class="field-body">23</td> 274<tr class="field"><th class="field-name">GLEP:</th><td class="field-body">23</td>
275</tr> 275</tr>
276<tr class="field"><th class="field-name">Title:</th><td class="field-body">Portage handling of ACCEPT_LICENSE</td> 276<tr class="field"><th class="field-name">Title:</th><td class="field-body">Handling of ACCEPT_LICENSE</td>
277</tr> 277</tr>
278<tr class="field"><th class="field-name">Version:</th><td class="field-body">1.3</td> 278<tr class="field"><th class="field-name">Version:</th><td class="field-body">1.4</td>
279</tr> 279</tr>
280<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/10/26 00:21:28</a></td> 280<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/18 07:27:47</a></td>
281</tr> 281</tr>
282<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> 282<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>
283</tr> 283</tr>
284<tr class="field"><th class="field-name">Status:</th><td class="field-body">Accepted</td> 284<tr class="field"><th class="field-name">Status:</th><td class="field-body">Accepted</td>
285</tr> 285</tr>
287</tr> 287</tr>
288<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> 288<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>
289</tr> 289</tr>
290<tr class="field"><th class="field-name">Created:</th><td class="field-body">9-Mar-2004</td> 290<tr class="field"><th class="field-name">Created:</th><td class="field-body">9-Mar-2004</td>
291</tr> 291</tr>
292<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</td> 292<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 19-Nov-2006</td>
293</tr> 293</tr>
294</tbody> 294</tbody>
295</table> 295</table>
296<hr /> 296<hr />
297<div class="contents topic"> 297<div class="contents topic">
302<li><a class="reference" href="#motivation" id="id7" name="id7">Motivation</a></li> 302<li><a class="reference" href="#motivation" id="id7" name="id7">Motivation</a></li>
303<li><a class="reference" href="#specification" id="id8" name="id8">Specification</a><ul> 303<li><a class="reference" href="#specification" id="id8" name="id8">Specification</a><ul>
304<li><a class="reference" href="#ebuild-license-variable" id="id9" name="id9">Ebuild LICENSE Variable</a></li> 304<li><a class="reference" href="#ebuild-license-variable" id="id9" name="id9">Ebuild LICENSE Variable</a></li>
305<li><a class="reference" href="#license-groups" id="id10" name="id10">License Groups</a></li> 305<li><a class="reference" href="#license-groups" id="id10" name="id10">License Groups</a></li>
306<li><a class="reference" href="#accept-license" id="id11" name="id11">ACCEPT_LICENSE</a></li> 306<li><a class="reference" href="#accept-license" id="id11" name="id11">ACCEPT_LICENSE</a></li>
307<li><a class="reference" href="#portage-behaviour" id="id12" name="id12">Portage Behaviour</a></li> 307<li><a class="reference" href="#behaviour" id="id12" name="id12">Behaviour</a></li>
308</ul> 308</ul>
309</li> 309</li>
310<li><a class="reference" href="#rationale" id="id13" name="id13">Rationale</a></li> 310<li><a class="reference" href="#rationale" id="id13" name="id13">Rationale</a></li>
311<li><a class="reference" href="#reference-implementation" id="id14" name="id14">Reference Implementation</a></li> 311<li><a class="reference" href="#reference-implementation" id="id14" name="id14">Reference Implementation</a></li>
312<li><a class="reference" href="#backwards-compatibility" id="id15" name="id15">Backwards Compatibility</a></li> 312<li><a class="reference" href="#backwards-compatibility" id="id15" name="id15">Backwards Compatibility</a></li>
314<li><a class="reference" href="#copyright" id="id17" name="id17">Copyright</a></li> 314<li><a class="reference" href="#copyright" id="id17" name="id17">Copyright</a></li>
315</ul> 315</ul>
316</div> 316</div>
317<div class="section"> 317<div class="section">
318<h1><a class="toc-backref" href="#id5" id="abstract" name="abstract">Abstract</a></h1> 318<h1><a class="toc-backref" href="#id5" id="abstract" name="abstract">Abstract</a></h1>
319<p>Currently, every ebuild in the portage tree is required to have a valid 319<p>Currently, every ebuild in the main gentoo repository is required to have a
320LICENSE entry. However, the syntax of this entry is not officially 320valid LICENSE entry. However, the syntax of this entry is not officially
321defined and the entry itself is only used when outputting package 321defined and the entry itself is only used when outputting package
322details.</p> 322details.</p>
323</div> 323</div>
324<div class="section"> 324<div class="section">
325<h1><a class="toc-backref" href="#id6" id="status-update" name="status-update">Status Update</a></h1> 325<h1><a class="toc-backref" href="#id6" id="status-update" name="status-update">Status Update</a></h1>
357<pre class="literal-block"> 357<pre class="literal-block">
358LICENSE=&quot;mandatory-license 358LICENSE=&quot;mandatory-license
359 || ( choosable-licence1 chooseable-license-2 ) 359 || ( choosable-licence1 chooseable-license-2 )
360 useflag? ( optional-component-license )&quot; 360 useflag? ( optional-component-license )&quot;
361</pre> 361</pre>
362<p>License names may contain [a-zA-Z0-9] (english alphanumeric characters),
363_ (underscore), - (dash), . (dot) and + (plus sign).</p>
362</div> 364</div>
363<div class="section"> 365<div class="section">
364<h2><a class="toc-backref" href="#id10" id="license-groups" name="license-groups">License Groups</a></h2> 366<h2><a class="toc-backref" href="#id10" id="license-groups" name="license-groups">License Groups</a></h2>
365<p>Almost all users are willing to install any software that is 367<p>Almost all users are willing to install any software that is
366FSF-approved. Other users are willing to install any software and 368FSF-approved. Other users are willing to install any software and
367implicitly accept its license. To this end, portage will also need to 369implicitly accept its license. To this end, implementations will also
368handle grouping of licenses.</p> 370need to handle grouping of licenses.</p>
369<p>At a minimum, there needs to be the groups <tt class="docutils literal"><span class="pre">GPL-COMPATIBLE</span></tt>, 371<p>At a minimum, there needs to be the groups <tt class="docutils literal"><span class="pre">GPL-COMPATIBLE</span></tt>,
370<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-INTERACTIVE</span></tt>. 372<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-INTERACTIVE</span></tt>.
371<tt class="docutils literal"><span class="pre">NON-INTERACTIVE</span></tt> licenses are those that don't require interactive 373<tt class="docutils literal"><span class="pre">NON-INTERACTIVE</span></tt> licenses are those that don't require interactive
372acceptance for to be considered legally binding. This is the current 374acceptance for to be considered legally binding. This is the current
373behaviour of portage.</p> 375behaviour of portage.</p>
374<p>These groups are defined in a new file <tt class="docutils literal"><span class="pre">license_groups</span></tt> in 376<p>These groups are defined in a new file <tt class="docutils literal"><span class="pre">license_groups</span></tt> in
375the <tt class="docutils literal"><span class="pre">profiles</span></tt> subdirectory of the tree (or overlays). 377the <tt class="docutils literal"><span class="pre">profiles</span></tt> subdirectory of the tree (or overlays).
378Details of handling groups defined in overlays is implementation dependent.</p>
376The format of this file is</p> 379<p>The format of this file is</p>
377<pre class="literal-block"> 380<pre class="literal-block">
378&lt;groupname&gt; &lt;license1&gt; &lt;license2&gt; ... &lt;licenseN&gt; 381&lt;groupname&gt; &lt;license1&gt; &lt;license2&gt; ... &lt;licenseN&gt;
379</pre> 382</pre>
380<p>Also any line starting with # is ignored and may be used for comments. 383<p>Also any line starting with # is ignored and may be used for comments.
384Group names use the same syntax as normal license names. Also license groups
385may contain other groups.
381License groups may not contain negated elements, so a group</p> 386License groups may not contain negated elements, so a group</p>
382<pre class="literal-block"> 387<pre class="literal-block">
383mygroup foo -bar -bla 388mygroup foo -bar -bla
384</pre> 389</pre>
385<p>is illegal.</p> 390<p>is illegal.</p>
399<pre class="literal-block"> 404<pre class="literal-block">
400ACCEPT_LICENSE=&quot;-* &#64;FSF-APPROVED&quot; 405ACCEPT_LICENSE=&quot;-* &#64;FSF-APPROVED&quot;
401</pre> 406</pre>
402<p>License groups may be negated with the result that all elements of that group 407<p>License groups may be negated with the result that all elements of that group
403are also negated.</p> 408are also negated.</p>
409<p>Portage will also offer a package.license facility to offer this functionality
410on a per-package base (analog to package.keywords), other implementations may
411implement such a facility differently or not at all.</p>
404</div> 412</div>
405<div class="section"> 413<div class="section">
406<h2><a class="toc-backref" href="#id12" id="portage-behaviour" name="portage-behaviour">Portage Behaviour</a></h2> 414<h2><a class="toc-backref" href="#id12" id="behaviour" name="behaviour">Behaviour</a></h2>
407<p>Unaccepted licenses will be treated like any other masked package, that is 415<p>Unaccepted licenses will be treated like any other masked package, that is
408emerge will display a message listing any license that has to be accepted 416the user interface of an implementation will display a message listing any
409before the package can be merged with a pointer to the exact license text.</p> 417license that has to be accepted before the package can be merged with a
418pointer to the exact license text.</p>
410<p>Past versions of this document proposed to handle license-masked packages 419<p>Past versions of this document proposed to handle license-masked packages
411like blockers, but this would be inconsistent with other visibility 420like blockers, but this would be inconsistent with other visibility
412filters as well as the current blocker system (as a blocker affects two 421filters as well as the current blocker system (as a blocker affects two
413packages) and be more complicated to implement.</p> 422packages) and be more complicated to implement.</p>
414</div> 423</div>
427<p>There should be no change to the user experience without the user 436<p>There should be no change to the user experience without the user
428explicitly choosing to do so. This mandates that the 437explicitly choosing to do so. This mandates that the
429configuration variable be named <tt class="docutils literal"><span class="pre">ACCEPT_LICENSE</span></tt> as some users may 438configuration variable be named <tt class="docutils literal"><span class="pre">ACCEPT_LICENSE</span></tt> as some users may
430already have it set due to ebuilds using <tt class="docutils literal"><span class="pre">eutil.eclass</span></tt>'s 439already have it set due to ebuilds using <tt class="docutils literal"><span class="pre">eutil.eclass</span></tt>'s
431implementation. It also mandates that the default <tt class="docutils literal"><span class="pre">ACCEPT_LICENSE</span></tt> be 440implementation. It also mandates that the default <tt class="docutils literal"><span class="pre">ACCEPT_LICENSE</span></tt> be
432set to <tt class="docutils literal"><span class="pre">&#64;NON-INTERACTIVE</span></tt> in the main gentoo repository as there will 441set to <tt class="docutils literal"><span class="pre">&#64;NON-INTERACTIVE</span></tt> in the main gentoo repository as implementations
433be no internal default in portage.</p> 442are not required to provide an internal default.</p>
434</div> 443</div>
435<div class="section"> 444<div class="section">
436<h1><a class="toc-backref" href="#id16" id="references" name="references">References</a></h1> 445<h1><a class="toc-backref" href="#id16" id="references" name="references">References</a></h1>
437<table class="docutils footnote" frame="void" id="id3" rules="none"> 446<table class="docutils footnote" frame="void" id="id3" rules="none">
438<colgroup><col class="label" /><col /></colgroup> 447<colgroup><col class="label" /><col /></colgroup>
456 465
457</div> 466</div>
458<div class="footer"> 467<div class="footer">
459<hr class="footer" /> 468<hr class="footer" />
460<a class="reference" href="glep-0023.txt">View document source</a>. 469<a class="reference" href="glep-0023.txt">View document source</a>.
461Generated on: 2006-11-18 07:35 UTC. 470Generated on: 2006-11-19 22:53 UTC.
462Generated 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. 471Generated 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.
463 472
464</div> 473</div>
465</body> 474</body>
466</html> 475</html>

Legend:
Removed from v.1.5  
changed lines
  Added in v.1.6

  ViewVC Help
Powered by ViewVC 1.1.20