Boost logo

Boost :

From: pbristow_at_[hidden]
Date: 2019-08-18 16:54:57


Prompted by some recent discussion of Boost license and copyright info by the Debian package team,

I have recently been checking on the Boost.Multiprecision library and run the Boost inspect program https://www.boost.org/doc/libs/1_70_0/tools/inspect/ (originally written by Beman Dawes in 2003 and revised several times since).

I’ve made some minor cosmetic changes to the program and the rather sparse documentation to make it easier to use by library authors and give a bit more info.

It checks on compliance with https://www.boost.org/development/requirements.html.

It’s use has been a little neglected recently but I conclude that we are not doing well enough in providing the proof of copyright and license that we promise.

The results of my run of inspect on the boost/lib folder using develop branch are not pretty

Problem counts:
  1790 files missing Boost license info or having wrong reference text
  1682 files missing copyright notice

 (but not I suspect quite as bad as they look – some items probably do not need copyright and license).

Now that the 1.71 release is out bar a little shouting, I wonder if we should focus on improving compliance for the next release?

I’d like to propose

1 A boost/tools/inspect/develop branch to refine the inspect program a little and improve the documentation (I have done something on this already for my education and use).

2 Discussion of the bad results (zip attached) to try to find why there are so many reports and to decide what to do.

3 Encourage all authors to run inspect on their library locally and try to remedy the items missing.

4 I suspect that many libraries will have items missing but the authors are also missing. So someone from the community maintenance team will need to take over and make some decisions on what to do.
Often just providing a copyright claim from the obvious author and Boost license will suffice?

5 Try to improve the compliance with other guidelines. For example. there are many libraries that are failing to prevent with min and max macros for what of a couple of brackets. Usually (std::numeric_limits<>::max)(). All these will trip up Windows users in a puzzling way. Please can we just fix these?

Views?

Paul

PS My halo is shining brightly 😉 Boost.Multiprecision has a problem count of zero 😊 (and I’m working on Boost.Math)

Boost Inspection Report
Inspect version no 3.1.15
Run Date: 08:44:19 UTC, Saturday 17 August 2019 Distributed under the Boost Software License, Version 1.0.
(See accompanying file LICENSE_1_0.txt or copy at
http://www.boost.org/LICENSE_1_0.txt)
Copyright Boost 2019

boost-no-inspect
Inspection from path "libs" including subfolders.
Totals:
  52355 files scanned
  4351 directories scanned (including root)
  3472 problems reported

Problem counts:
  1790 files missing Boost license info or having wrong reference text
  1682 files missing copyright notice

Worst Offenders:
outcome 940
metaparse 556
polygon 228
python 194
beast 192

Summary:
  algorithm (4)
  array (2)
  asio (12)
…

Paul A. Bristow
Prizet Farmhouse
Kendal, Cumbria
LA8 8AB UK




Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk