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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.2 - (hide annotations) (download) (as text)
Thu Mar 11 02:36:04 2004 UTC (10 years, 6 months ago) by g2boojum
Branch: MAIN
Changes since 1.1: +13 -12 lines
File MIME type: text/html
updated glep

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

  ViewVC Help
Powered by ViewVC 1.1.20