| … | |
… | |
| 7 | to templates. DO NOT USE THIS HTML FILE AS YOUR TEMPLATE! |
7 | to 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 | |
| 22 | Default cascading style sheet for the PEP HTML output of Docutils. |
22 | Default 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 <jstubbs at gentoo.org>, Marius Mauch <genone at gentoo.org></td> |
282 | <tr class="field"><th class="field-name">Author:</th><td class="field-body">Jason Stubbs <jstubbs at gentoo.org>, Marius Mauch <genone at gentoo.org></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 |
| 320 | LICENSE entry. However, the syntax of this entry is not officially |
320 | valid LICENSE entry. However, the syntax of this entry is not officially |
| 321 | defined and the entry itself is only used when outputting package |
321 | defined and the entry itself is only used when outputting package |
| 322 | details.</p> |
322 | details.</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"> |
| 358 | LICENSE="mandatory-license |
358 | LICENSE="mandatory-license |
| 359 | || ( choosable-licence1 chooseable-license-2 ) |
359 | || ( choosable-licence1 chooseable-license-2 ) |
| 360 | useflag? ( optional-component-license )" |
360 | useflag? ( optional-component-license )" |
| 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 |
| 366 | FSF-approved. Other users are willing to install any software and |
368 | FSF-approved. Other users are willing to install any software and |
| 367 | implicitly accept its license. To this end, portage will also need to |
369 | implicitly accept its license. To this end, implementations will also |
| 368 | handle grouping of licenses.</p> |
370 | need 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 |
| 372 | acceptance for to be considered legally binding. This is the current |
374 | acceptance for to be considered legally binding. This is the current |
| 373 | behaviour of portage.</p> |
375 | behaviour 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 |
| 375 | the <tt class="docutils literal"><span class="pre">profiles</span></tt> subdirectory of the tree (or overlays). |
377 | the <tt class="docutils literal"><span class="pre">profiles</span></tt> subdirectory of the tree (or overlays). |
|
|
378 | Details of handling groups defined in overlays is implementation dependent.</p> |
| 376 | The 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 | <groupname> <license1> <license2> ... <licenseN> |
381 | <groupname> <license1> <license2> ... <licenseN> |
| 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. |
|
|
384 | Group names use the same syntax as normal license names. Also license groups |
|
|
385 | may contain other groups. |
| 381 | License groups may not contain negated elements, so a group</p> |
386 | License groups may not contain negated elements, so a group</p> |
| 382 | <pre class="literal-block"> |
387 | <pre class="literal-block"> |
| 383 | mygroup foo -bar -bla |
388 | mygroup 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"> |
| 400 | ACCEPT_LICENSE="-* @FSF-APPROVED" |
405 | ACCEPT_LICENSE="-* @FSF-APPROVED" |
| 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 |
| 403 | are also negated.</p> |
408 | are also negated.</p> |
|
|
409 | <p>Portage will also offer a package.license facility to offer this functionality |
|
|
410 | on a per-package base (analog to package.keywords), other implementations may |
|
|
411 | implement 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 |
| 408 | emerge will display a message listing any license that has to be accepted |
416 | the user interface of an implementation will display a message listing any |
| 409 | before the package can be merged with a pointer to the exact license text.</p> |
417 | license that has to be accepted before the package can be merged with a |
|
|
418 | pointer 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 |
| 411 | like blockers, but this would be inconsistent with other visibility |
420 | like blockers, but this would be inconsistent with other visibility |
| 412 | filters as well as the current blocker system (as a blocker affects two |
421 | filters as well as the current blocker system (as a blocker affects two |
| 413 | packages) and be more complicated to implement.</p> |
422 | packages) 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 |
| 428 | explicitly choosing to do so. This mandates that the |
437 | explicitly choosing to do so. This mandates that the |
| 429 | configuration variable be named <tt class="docutils literal"><span class="pre">ACCEPT_LICENSE</span></tt> as some users may |
438 | configuration variable be named <tt class="docutils literal"><span class="pre">ACCEPT_LICENSE</span></tt> as some users may |
| 430 | already have it set due to ebuilds using <tt class="docutils literal"><span class="pre">eutil.eclass</span></tt>'s |
439 | already have it set due to ebuilds using <tt class="docutils literal"><span class="pre">eutil.eclass</span></tt>'s |
| 431 | implementation. It also mandates that the default <tt class="docutils literal"><span class="pre">ACCEPT_LICENSE</span></tt> be |
440 | implementation. It also mandates that the default <tt class="docutils literal"><span class="pre">ACCEPT_LICENSE</span></tt> be |
| 432 | set to <tt class="docutils literal"><span class="pre">@NON-INTERACTIVE</span></tt> in the main gentoo repository as there will |
441 | set to <tt class="docutils literal"><span class="pre">@NON-INTERACTIVE</span></tt> in the main gentoo repository as implementations |
| 433 | be no internal default in portage.</p> |
442 | are 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>. |
| 461 | Generated on: 2006-11-18 07:35 UTC. |
470 | Generated on: 2006-11-19 22:53 UTC. |
| 462 | Generated 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. |
471 | Generated 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> |