Co-authored-by: Alexander Foremny <aforemny@posteo.de>
heavily based on patterns used by licenses infrastructure, so may appear overengineered for its initial level of use