[arch-dev-public] License array format
I don't know if this is a rehash of an old topic, but it hasn't come up in a while so I want to stir the pot. We need some standardization when it comes to licenses, which are still not in all of the official packages. (OpenSSH is missing one!) Roman and I were discussing on IRC how the license array should look, and this example came up: license=('custom:BSD' 'custom:MIT' 'GPL') A few issues to discuss with regard to this example: 1. A license like the GPL does not change its text depending on the package, while ones such as BSD and MIT do. Thus we definitely need to be including these customized licenses when we package these. 2. For packages that have their own license (no other package will use it), do we use 'custom' or 'custom:packagename'? 3. For packages that use a BSD style license (and all other licenses like MIT), do we use the custom:prefix? Roman and I have differing opinions here. I think we should use the custom: prefix to indicate in pacman -Qi output that a license has been installed by the package and is not a common license already on the system. Roman thought that the custom: was unnecessary and looks ugly. Thoughts? I'd like to standardize this and get it on the wiki licenses page. <http://wiki.archlinux.org/index.php/Licenses> -Dan
2007/4/15, Dan McGee <dpmcgee@gmail.com>:
I don't know if this is a rehash of an old topic, but it hasn't come up in a while so I want to stir the pot. We need some standardization when it comes to licenses, which are still not in all of the official packages. (OpenSSH is missing one!)
Roman and I were discussing on IRC how the license array should look, and this example came up: license=('custom:BSD' 'custom:MIT' 'GPL')
A few issues to discuss with regard to this example: 1. A license like the GPL does not change its text depending on the package, while ones such as BSD and MIT do. Thus we definitely need to be including these customized licenses when we package these.
Just to add to Dan's words: sadly not all BSD/MIT/ZLIB/Python/ISC-licensed packages provide license text in a package.
2. For packages that have their own license (no other package will use it), do we use 'custom' or 'custom:packagename'?
IMO custom should be OK for everything except those listed in /usr/share/licenses/common.
3. For packages that use a BSD style license (and all other licenses like MIT), do we use the custom:prefix? Roman and I have differing opinions here. I think we should use the custom: prefix to indicate in pacman -Qi output that a license has been installed by the package and is not a common license already on the system. Roman thought that the custom: was unnecessary and looks ugly.
IMO custom: is redundant but then we should force packagers to provide license files for BSD/MIT/ZLIB/Python/ISC-licensed packages. 2 and 3 should be decided in the least confusing way.
Thoughts? I'd like to standardize this and get it on the wiki licenses page. <http://wiki.archlinux.org/index.php/Licenses>
-- Roman Kyrylych (Роман Кирилич)
On Sun, Apr 15, 2007 at 03:15:42PM -0400, Dan McGee wrote:
I don't know if this is a rehash of an old topic, but it hasn't come up in a while so I want to stir the pot. We need some standardization when it comes to licenses, which are still not in all of the official packages. (OpenSSH is missing one!)
Roman and I were discussing on IRC how the license array should look, and this example came up: license=('custom:BSD' 'custom:MIT' 'GPL')
http://www.archlinux.org/mailman/private/arch-dev/2005-June/002396.html It has been mentioned before. I never really liked the idea, so I didn't say anything because no one else did.
A few issues to discuss with regard to this example: 1. A license like the GPL does not change its text depending on the package, while ones such as BSD and MIT do. Thus we definitely need to be including these customized licenses when we package these.
True. That has always been said, hasn't it?
2. For packages that have their own license (no other package will use it), do we use 'custom' or 'custom:packagename'?
Doesn't everything already know the package name at that point? Isn't custom enough?
3. For packages that use a BSD style license (and all other licenses like MIT), do we use the custom:prefix? Roman and I have differing opinions here. I think we should use the custom: prefix to indicate in pacman -Qi output that a license has been installed by the package and is not a common license already on the system. Roman thought that the custom: was unnecessary and looks ugly.
The problem with not including "custom:" for the sake of pacman is that you'd have to hard code that BSD and MIT were different somewhere. Otherwise pacman would think that BSD == /usr/share/licenses/common/BSD, not /usr/share/licenses/<package name>/*. Then the list of customizable (I just made up that word... licenses that are customized by default) licenses has to be maintained inside pacman somewhere.
Thoughts? I'd like to standardize this and get it on the wiki licenses page. <http://wiki.archlinux.org/index.php/Licenses>
I think the usage of the licenses variable should be designed based around how we want to use it. When I first proposed it, it was so that users could specify "AllowedLicenses = GPL MIT" in their pacman.conf. Then pacman would only let you install those packages. There would have to be a special case for the "custom" licenses, pacman would have to ask you if it was ok, because each one was different. That's why MIT and BSD were listed like the other common ones, but stored in a different place. If pacman (or other tools) wanted to know *where* the files were stored, then being more explicit with "custom" would make sense. I just never found a good reason for pacman to need to know exactly where the license file was. I figured the users would be the ones looking for them and reading them. If someone wanted to do the above *and* keep track of a list of customizable licenses, then not being explicit with "custom:BSD" would be ok, otherwise all packages would have to say "custom:*" if their licenses weren't found in /usr/share/licenses/common. Questions? Jason
On 4/15/07, Jason Chu <jason@archlinux.org> wrote:
On Sun, Apr 15, 2007 at 03:15:42PM -0400, Dan McGee wrote:
I don't know if this is a rehash of an old topic, but it hasn't come up in a while so I want to stir the pot. We need some standardization when it comes to licenses, which are still not in all of the official packages. (OpenSSH is missing one!)
Well this thread died a while back, but I thought I'd present these not so wonderful statistics: packages in current: 572 w/ license: 50 w/o license: 522 packages in extra: 2114 w/ license: 532 w/o license: 1582 packages in community: 1306 w/ license: 827 w/o license: 479 You would think devs would be leading the way, but that seems to be quite false. Community and the TUs are doing way better here. The quick script I used to find these numbers: $ cat checklicense.sh buildfiles=$(find -name PKGBUILD) for file in $buildfiles; do unset license source $file if [ -z $license ]; then echo "$file" fi done -Dan
participants (3)
-
Dan McGee
-
Jason Chu
-
Roman Kyrylych