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

Diff of /xml/htdocs/proj/en/glep/glep-0023.txt

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 1.4 Revision 1.7
1GLEP: 23 1GLEP: 23
2Title: Portage handling of ACCEPT_LICENSE 2Title: Handling of ACCEPT_LICENSE
3Version: $Revision: 1.4 $ 3Version: $Revision: 1.7 $
4Last-Modified: $Date: 2006/11/18 07:27:47 $ 4Last-Modified: $Date: 2006/11/21 00:02:05 $
5Author: Jason Stubbs <jstubbs@gentoo.org>, Marius Mauch <genone@gentoo.org> 5Author: Jason Stubbs <jstubbs@gentoo.org>, Marius Mauch <genone@gentoo.org>
6Status: Accepted 6Status: Accepted
7Type: Standards Track 7Type: Standards Track
8Content-Type: text/x-rst 8Content-Type: text/x-rst
9Created: 9-Mar-2004 9Created: 9-Mar-2004
10Post-History: 8-Mar-2004 10-Mar-2004 25-Oct-2004 18-Nov-2006 10Post-History: 8-Mar-2004 10-Mar-2004 25-Oct-2004 18-Nov-2006 21-Nov-2006
11 11
12 12
13Abstract 13Abstract
14======== 14========
15 15
16Currently, every ebuild in the portage tree is required to have a valid 16Currently, every ebuild in the main gentoo repository is required to have a
17LICENSE entry. However, the syntax of this entry is not officially 17valid LICENSE entry. However, the syntax of this entry is not officially
18defined and the entry itself is only used when outputting package 18defined and the entry itself is only used when outputting package
19details. 19details.
20 20
21Status Update 21Status Update
22============= 22=============
66 LICENSE="mandatory-license 66 LICENSE="mandatory-license
67 || ( choosable-licence1 chooseable-license-2 ) 67 || ( choosable-licence1 chooseable-license-2 )
68 useflag? ( optional-component-license )" 68 useflag? ( optional-component-license )"
69 69
70 70
71License names may contain [a-zA-Z0-9] (english alphanumeric characters),
72_ (underscore), - (dash), . (dot) and + (plus sign).
73
71License Groups 74License Groups
72-------------- 75--------------
73 76
74Almost all users are willing to install any software that is 77Almost all users are willing to install any software that is
75FSF-approved. Other users are willing to install any software and 78FSF-approved. Other users are willing to install any software and
76implicitly accept its license. To this end, portage will also need to 79implicitly accept its license. To this end, implementations will also
77handle grouping of licenses. 80need to handle grouping of licenses.
78 81
79At a minimum, there needs to be the groups ``GPL-COMPATIBLE``, 82At a minimum, there needs to be the groups ``GPL-COMPATIBLE``,
80``FSF-APPROVED``, ``OSI-APPROVED`` and ``NON-INTERACTIVE``. 83``FSF-APPROVED``, ``OSI-APPROVED`` and ``NON-MUST-HAVE-READ``.
81``NON-INTERACTIVE`` licenses are those that don't require interactive 84``NON-MUST-HAVE-READ`` licenses are those that don't require manual
82acceptance for to be considered legally binding. This is the current 85acceptance for to be considered legally binding. This is the current
83behaviour of portage. 86behaviour of portage.
84 87
85These groups are defined in a new file ``license_groups`` in 88These groups are defined in a new file ``license_groups`` in
86the ``profiles`` subdirectory of the tree (or overlays). 89the ``profiles`` subdirectory of the tree (or overlays).
90Details of handling groups defined in overlays is implementation dependent.
91
87The format of this file is 92The format of this file is
88 93
89:: 94::
90 95
91 <groupname> <license1> <license2> ... <licenseN> 96 <groupname> <license1> <license2> ... <licenseN>
92 97
93Also any line starting with # is ignored and may be used for comments. 98Also any line starting with # is ignored and may be used for comments.
99Group names use the same syntax as normal license names. Also license groups
100may contain other groups.
94License groups may not contain negated elements, so a group 101License groups may not contain negated elements, so a group
95 102
96:: 103::
97 104
98 mygroup foo -bar -bla 105 mygroup foo -bar -bla
121 ACCEPT_LICENSE="-* @FSF-APPROVED" 128 ACCEPT_LICENSE="-* @FSF-APPROVED"
122 129
123License groups may be negated with the result that all elements of that group 130License groups may be negated with the result that all elements of that group
124are also negated. 131are also negated.
125 132
126Portage Behaviour 133Portage will also offer a package.license facility to offer this functionality
127----------------- 134on a per-package base (analog to package.keywords), other implementations may
135implement such a facility differently or not at all.
136
137Behaviour
138---------
128 139
129Unaccepted licenses will be treated like any other masked package, that is 140Unaccepted licenses will be treated like any other masked package, that is
130emerge will display a message listing any license that has to be accepted 141the user interface of an implementation will display a message listing any
131before the package can be merged with a pointer to the exact license text. 142license that has to be accepted before the package can be merged with a
143pointer to the exact license text.
132 144
133Past versions of this document proposed to handle license-masked packages 145Past versions of this document proposed to handle license-masked packages
134like blockers, but this would be inconsistent with other visibility 146like blockers, but this would be inconsistent with other visibility
135filters as well as the current blocker system (as a blocker affects two 147filters as well as the current blocker system (as a blocker affects two
136packages) and be more complicated to implement. 148packages) and be more complicated to implement.
154There should be no change to the user experience without the user 166There should be no change to the user experience without the user
155explicitly choosing to do so. This mandates that the 167explicitly choosing to do so. This mandates that the
156configuration variable be named ``ACCEPT_LICENSE`` as some users may 168configuration variable be named ``ACCEPT_LICENSE`` as some users may
157already have it set due to ebuilds using ``eutil.eclass``'s 169already have it set due to ebuilds using ``eutil.eclass``'s
158implementation. It also mandates that the default ``ACCEPT_LICENSE`` be 170implementation. It also mandates that the default ``ACCEPT_LICENSE`` be
159set to ``@NON-INTERACTIVE`` in the main gentoo repository as there will 171set to ``@NON-MUST-HAVE-READ`` in the main gentoo repository as implementations
160be no internal default in portage. 172are not required to provide an internal default.
161 173
162References 174References
163========== 175==========
164 176
165.. [1] Gentoo Linux Bug 17367 177.. [1] Gentoo Linux Bug 17367

Legend:
Removed from v.1.4  
changed lines
  Added in v.1.7

  ViewVC Help
Powered by ViewVC 1.1.20