I had a sometimes-great, sometimes-difficult trip to New York City over the past few days, and while I was there, I met the ball of energy that is George Rosamond of NYCBUG (which is having a huge party right now.) He and I talked for a bit about various aspects of the BSD ecosystem, and one thing he noted was that people aren’t generally aware of all the licenses in use for the different software packages on the system, or even the individual licenses in the system files.
There is an ACCEPTABLE_LICENSES setting in pkgsrc, where software licensed under terms not in that list won’t install. That’s useful, but frustrating, because it keeps people from getting what they asked for – a software install. Something that would be useful – and it could be cross-BSD very easily – would be a license audit summary.
There’s meta-data on every package in FreeBSD’s ports and DragonFly’s dports and pkgsrc and OpenBSD’s port system. Why not say ‘pkg licenses’ in the same way you can say ‘pkg info’, and get a summary of the licenses you have installed in the system? (or pkg_licenses, etc. You get the idea) This wouldn’t prevent people from installing software, but it would give a very quick view of what you were using.
> pkg licenses
Software package License
---------------- -------
foo-2.2.26 Apache license
bar-7.999999 Donateware
baz_ware-20131209 MIT
quux-silly-6.5 BSD
It could be extended to the base system, but I’d like to see this in all the packaging systems as a common idea, in the same way that ‘info’ in a packaging command always shows what’s installed.
Great idea!
`pkg authors’ could be useful as well.
You can get that via pkg query:
for the licenses
pkg query -a “%n-%v: %L”
if you have pkg 1.2, you can add this to your pkg.conf
alias: {
licenses: “query -a ‘%n-%v: %L'”
}
Now pkg licenses output:
tiff-4.0.3: BSD
tig-1.1: GPLv2
tradcpp-0.4: BSD
unixODBC-2.3.2: LGPL21
unixODBC-2.3.2: GPLv2
unzip-6.0_1: Info-ZIP
x11perf-1.5.4: MIT
xauth-1.0.7: MIT
For authors (I get you mean maintainers)
pkg query -a ‘%n-%v: %m’
so now
alias: {
licenses: “query -a ‘%n-%v: %L'”,
maintainers: “query -a ‘%n-%v: %m'”
}
$ pkg maintainers
xpdf-3.03_4: cy@FreeBSD.org
xprop-1.2.2: x11@FreeBSD.org
xproto-7.0.24: x11@FreeBSD.org
xrandr-1.4.1: x11@FreeBSD.org
xrdb-1.1.0: x11@FreeBSD.org
xrefresh-1.0.5: x11@FreeBSD.org
xset-1.2.3_1: x11@FreeBSD.org
xsetmode-1.0.0: x11@FreeBSD.org