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
