On Mon, Jul 06, 2009 at 08:36:11AM -0500, Shawn Walker wrote:

> 2.  License Action attribute changes and additions
> 
>     Currently, the license attribute of license actions is not
>     restrictive enough in what characters are allowed for the
>     name of the license.  To ensure cross-platform compatibility
>     and consistent naming, it is proposed that the license
>     attribute's definition be amended as follows:
> 
>     license     The keyword identifying the license type, for use in
>                 filter and query operations.  The name of the license
>                 should be limited to the characters [A-Za-z][A-Za-z0-9
>                 _-.,]* as it is intended that only short, descriptive
>                 text be used as the identifier for the license payload,
>                 such as "copyright" or "CDDLv1".

I don't understand the reason for the restriction on characters.  There are
a wild variety of licenses out there, including things like "GPLv2 with the
Linux Kernel exception", which can't necessarily be made more compact.  I
definitely don't see how limiting the characters will ensure cross-platform
compatibility (or even what cross-platform compatibility means in terms of
a license), nor how it will ensure consistent naming.

>                 A recommended list of license keywords for common
>                 open-source licenses, and guidelines for custom licenses
>                 will be added to the license action documentation to
>                 encourage consistency.

I agree with this, though.

>     license-accept  A list of license keywords that will be used to
>                     mark any corresponding licenses as accepted
>                     automatically if they require acceptance.  This
>                     value is undefined by default.

I couldn't tell from this or the rest of the document, but it seems like as
proposed, no licenses will be accepted by default, which means ... what?
No package with a license will be installed by default?  Or will licenses
be ignored unless the license action or the policy dictates it needs to be
paid attention to?

>     * The ImagePlan object will have a new method named 'set_license'
>       which will allow callers to mark the explicit acceptance of a
>       package's license by a user:
> 
>         set_license_status(fmri, license_keyword, status)

Typo: set_license()?

>         A new global, command-line option as shown below will be added
>         to the pkg(1) client that will allow its usage with any sub-
>         command although policy values may not influence the behaviour
>         of it (e.g. --license-policy used with info).
> 
>         --policy <policy-name>=<policy-value>

We've not been adding global options so far, though many could be.  Will
this be ignored for subcommands for which it makes no sense?  Or should it
just be added to the two subcommands (install and image-update, or are
there more) where it applies?

>     * Graceful, informative failure due to license-related exceptions
> 
>       pkg(1) will be changed to exit with return code 4 if a
>       license-related exception occurs during plan execution.

Why the special exit code?  We don't have special exit codes for anything
else.

>     * A set-policy subcommand will be added to allow setting policy
>       values that functions as follows:
> 
>         set-policy [-p publisher] (policy-name policy-value |
>             -v policy-name=policy-value)

Pick one syntax; we don't need both.  I'd suggest the first one, and you
can just alternate names and values.  Or you can do p-n=p-v p-n=p-v ....

>     * An unset-policy subcommand will be added to allow unsetting or
>       resetting policy values that functions as follows:
> 
>         unset-policy [-p publisher] (policy-name policy-value |
>             -v policy-name=policy-value)

Ditto here, though I don't get the utility of specifying the value.

>       If -p is not provided, the policy value is considered global.
> 
>       If -v is not provided, it is assumed that the policy name will
>       be provided, followed by whitespace as a break, and then by the
>       value for the policy.
> 
>       Alternatively, -v can be provided so that multiple policy values
>       can be set

Huh, copy/paste?

>         $ pkg policy
>         PUBLISHER           POLICY          VALUE
>         None                license-accept

"None" might be confusing; perhaps "All"?

Danek
_______________________________________________
pkg-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/pkg-discuss

Reply via email to