| … | |
… | |
| 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/10/10 20:25:14 $ |
18 | :date: $Date: 2006/11/18 07:27:47 $ |
| 19 | :version: $Revision: 1.4 $ |
19 | :version: $Revision: 1.5 $ |
| 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 | |
| … | |
… | |
| 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.3</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">2004/10/26 00:21:28</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>,</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> |
| 286 | <tr class="field"><th class="field-name">Type:</th><td class="field-body">Standards Track</td> |
286 | <tr class="field"><th class="field-name">Type:</th><td class="field-body">Standards Track</td> |
| 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</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</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="#emerge-behaviour" id="id12" name="id12">Emerge Behaviour</a></li> |
307 | <li><a class="reference" href="#portage-behaviour" id="id12" name="id12">Portage 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> |
| … | |
… | |
| 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> |
| 326 | <p>Repoman has been updated to check for the LICENSE syntax.</p> |
326 | <p>Repoman has been updated to check for the LICENSE syntax. |
|
|
327 | A development portage branch with support for ACCEPT_LICENSE |
|
|
328 | and license groups exists.</p> |
| 327 | </div> |
329 | </div> |
| 328 | <div class="section"> |
330 | <div class="section"> |
| 329 | <h1><a class="toc-backref" href="#id7" id="motivation" name="motivation">Motivation</a></h1> |
331 | <h1><a class="toc-backref" href="#id7" id="motivation" name="motivation">Motivation</a></h1> |
| 330 | <p>Many users wish to regulate the software they install with regards to |
332 | <p>Many users wish to regulate the software they install with regards to |
| 331 | licenses for various reasons <a class="footnote-reference" href="#id3" id="id1" name="id1">[1]</a>. Some want a system free of any |
333 | licenses for various reasons <a class="footnote-reference" href="#id3" id="id1" name="id1">[1]</a>. Some want a system free of any |
| … | |
… | |
| 367 | <p>At a minimum, there needs to be the groups <tt class="docutils literal"><span class="pre">GPL-COMPATIBLE</span></tt>, |
369 | <p>At a minimum, there needs to be the groups <tt class="docutils literal"><span class="pre">GPL-COMPATIBLE</span></tt>, |
| 368 | <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>. |
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>. |
| 369 | <tt class="docutils literal"><span class="pre">NON-INTERACTIVE</span></tt> licenses are those that don't require interactive |
371 | <tt class="docutils literal"><span class="pre">NON-INTERACTIVE</span></tt> licenses are those that don't require interactive |
| 370 | acceptance for to be considered legally binding. This is the current |
372 | acceptance for to be considered legally binding. This is the current |
| 371 | behaviour of portage.</p> |
373 | 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 |
|
|
375 | the <tt class="docutils literal"><span class="pre">profiles</span></tt> subdirectory of the tree (or overlays). |
|
|
376 | The format of this file is</p> |
|
|
377 | <pre class="literal-block"> |
|
|
378 | <groupname> <license1> <license2> ... <licenseN> |
|
|
379 | </pre> |
|
|
380 | <p>Also any line starting with # is ignored and may be used for comments. |
|
|
381 | License groups may not contain negated elements, so a group</p> |
|
|
382 | <pre class="literal-block"> |
|
|
383 | mygroup foo -bar -bla |
|
|
384 | </pre> |
|
|
385 | <p>is illegal.</p> |
| 372 | </div> |
386 | </div> |
| 373 | <div class="section"> |
387 | <div class="section"> |
| 374 | <h2><a class="toc-backref" href="#id11" id="accept-license" name="accept-license">ACCEPT_LICENSE</a></h2> |
388 | <h2><a class="toc-backref" href="#id11" id="accept-license" name="accept-license">ACCEPT_LICENSE</a></h2> |
| 375 | <p>This GLEP proposes that a user be able to explicitly accept or decline |
389 | <p>This GLEP proposes that a user be able to explicitly accept or decline |
| 376 | licenses by editing a new variable <tt class="docutils literal"><span class="pre">ACCEPT_LICENSE</span></tt> in |
390 | licenses by editing a new variable <tt class="docutils literal"><span class="pre">ACCEPT_LICENSE</span></tt> in |
| … | |
… | |
| 383 | This GLEP proposes that the license group be prepended by the special |
397 | This GLEP proposes that the license group be prepended by the special |
| 384 | character "<tt class="docutils literal"><span class="pre">@</span></tt>". For example:</p> |
398 | character "<tt class="docutils literal"><span class="pre">@</span></tt>". For example:</p> |
| 385 | <pre class="literal-block"> |
399 | <pre class="literal-block"> |
| 386 | ACCEPT_LICENSE="-* @FSF-APPROVED" |
400 | ACCEPT_LICENSE="-* @FSF-APPROVED" |
| 387 | </pre> |
401 | </pre> |
|
|
402 | <p>License groups may be negated with the result that all elements of that group |
|
|
403 | are also negated.</p> |
| 388 | </div> |
404 | </div> |
| 389 | <div class="section"> |
405 | <div class="section"> |
| 390 | <h2><a class="toc-backref" href="#id12" id="emerge-behaviour" name="emerge-behaviour">Emerge Behaviour</a></h2> |
406 | <h2><a class="toc-backref" href="#id12" id="portage-behaviour" name="portage-behaviour">Portage Behaviour</a></h2> |
| 391 | <p>At a minimum, emerge must handle unaccepted licenses the same way that |
407 | <p>Unaccepted licenses will be treated like any other masked package, that is |
| 392 | it handles blockers. That is, with the --pretend flag the |
408 | emerge will display a message listing any license that has to be accepted |
| 393 | not-yet-accepted license should be listed in the output. Without the |
409 | before the package can be merged with a pointer to the exact license text.</p> |
| 394 | --pretend flag, emerge should stop before any software is installed.</p> |
410 | <p>Past versions of this document proposed to handle license-masked packages |
| 395 | <p>This GLEP proposes that, unlike blockers, dependencies for software |
411 | like blockers, but this would be inconsistent with other visibility |
| 396 | should be checked regardless of license acceptance. Doing so will allow |
412 | filters as well as the current blocker system (as a blocker affects two |
| 397 | the user to review all necessary licenses before initiating an actual |
413 | packages) and be more complicated to implement.</p> |
| 398 | emerge.</p> |
|
|
| 399 | <p>It is also proposed that the --ask option will display an unaccepted |
|
|
| 400 | license and ask for acceptance, but not update any configuration files |
|
|
| 401 | at this stage. Finally, the --verbose option should also list the |
|
|
| 402 | licenses accepted for each package.</p> |
|
|
| 403 | </div> |
414 | </div> |
| 404 | </div> |
415 | </div> |
| 405 | <div class="section"> |
416 | <div class="section"> |
| 406 | <h1><a class="toc-backref" href="#id13" id="rationale" name="rationale">Rationale</a></h1> |
417 | <h1><a class="toc-backref" href="#id13" id="rationale" name="rationale">Rationale</a></h1> |
| 407 | <p>An implementation of this proposal should make it easy for users wishing |
418 | <p>An implementation of this proposal should make it easy for users wishing |
| 408 | to regulate their software without affecting those that don't.</p> |
419 | to regulate their software without affecting those that don't.</p> |
| 409 | </div> |
420 | </div> |
| 410 | <div class="section"> |
421 | <div class="section"> |
| 411 | <h1><a class="toc-backref" href="#id14" id="reference-implementation" name="reference-implementation">Reference Implementation</a></h1> |
422 | <h1><a class="toc-backref" href="#id14" id="reference-implementation" name="reference-implementation">Reference Implementation</a></h1> |
| 412 | <p>TODO</p> |
423 | <p>Available in portage svn repository under main/branches/license-masking</p> |
| 413 | </div> |
424 | </div> |
| 414 | <div class="section"> |
425 | <div class="section"> |
| 415 | <h1><a class="toc-backref" href="#id15" id="backwards-compatibility" name="backwards-compatibility">Backwards Compatibility</a></h1> |
426 | <h1><a class="toc-backref" href="#id15" id="backwards-compatibility" name="backwards-compatibility">Backwards Compatibility</a></h1> |
| 416 | <p>There should be no change to the user experience without the user |
427 | <p>There should be no change to the user experience without the user |
| 417 | explicitly choosing to do so. This mandates that the |
428 | explicitly choosing to do so. This mandates that the |
| 418 | configuration variable be named <tt class="docutils literal"><span class="pre">ACCEPT_LICENSE</span></tt> as some users may |
429 | configuration variable be named <tt class="docutils literal"><span class="pre">ACCEPT_LICENSE</span></tt> as some users may |
| 419 | already have it set due to ebuilds using <tt class="docutils literal"><span class="pre">eutil.eclass</span></tt>'s |
430 | already have it set due to ebuilds using <tt class="docutils literal"><span class="pre">eutil.eclass</span></tt>'s |
| 420 | implementation. It also mandates that the default <tt class="docutils literal"><span class="pre">ACCEPT_LICENSE</span></tt> be |
431 | implementation. It also mandates that the default <tt class="docutils literal"><span class="pre">ACCEPT_LICENSE</span></tt> be |
| 421 | set to <tt class="docutils literal"><span class="pre">@NON-INTERACTIVE</span></tt>.</p> |
432 | set to <tt class="docutils literal"><span class="pre">@NON-INTERACTIVE</span></tt> in the main gentoo repository as there will |
|
|
433 | be no internal default in portage.</p> |
| 422 | </div> |
434 | </div> |
| 423 | <div class="section"> |
435 | <div class="section"> |
| 424 | <h1><a class="toc-backref" href="#id16" id="references" name="references">References</a></h1> |
436 | <h1><a class="toc-backref" href="#id16" id="references" name="references">References</a></h1> |
| 425 | <table class="docutils footnote" frame="void" id="id3" rules="none"> |
437 | <table class="docutils footnote" frame="void" id="id3" rules="none"> |
| 426 | <colgroup><col class="label" /><col /></colgroup> |
438 | <colgroup><col class="label" /><col /></colgroup> |
| … | |
… | |
| 444 | |
456 | |
| 445 | </div> |
457 | </div> |
| 446 | <div class="footer"> |
458 | <div class="footer"> |
| 447 | <hr class="footer" /> |
459 | <hr class="footer" /> |
| 448 | <a class="reference" href="glep-0023.txt">View document source</a>. |
460 | <a class="reference" href="glep-0023.txt">View document source</a>. |
| 449 | Generated on: 2006-10-10 20:23 UTC. |
461 | Generated on: 2006-11-18 07:35 UTC. |
| 450 | 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. |
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. |
| 451 | |
463 | |
| 452 | </div> |
464 | </div> |
| 453 | </body> |
465 | </body> |
| 454 | </html> |
466 | </html> |