A BSD plan: license summaries

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.

4 Replies to “A BSD plan: license summaries”

  1. 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

Comments are closed.