Cleanup: * drop undocumented gen option 'anchorleft' when String::License no longer use it and require newer R::P::License anyway Options: * Add pattern tolerance option: + none + case + punctuation + names + versioning + hyphenation - add hyphenation pattern at each syllable (or suppress original hyphenation): (?:[-·]\s*)? * Add pattern scope option. * Extend pattern named captures to include suffixes: + canonical - for the variation of a (sub)pattern preferred upstream + popular - skip obscure variations * Add pattern parno option to support PARNO syntax: or maybe instead add pattern options balanced and delimited similar to and Patterns: * tighten trait object version_number to not capture trailing zero segments '(?P\d(?:(?:\.0)?\.[1-9])*)(?:\.0)*' * relax trait object license_label to match 'license": "' * Cover license directories: + SPDX (later than 3.0) + FSF: https://directory.fsf.org/wiki/Category:License + CC (redirected): https://github.com/creativecommons/sre-salt-prime/blob/HEAD/states/apache2/files/ccengine.conf#L74 + GNU: https://www.gnu.org/licenses/license-list.html + SUSE: https://github.com/openSUSE/spec-cleaner + Microsoft (non-free): https://en.wikipedia.org/wiki/Shared_source + Wikipedia: https://en.wikipedia.org/wiki/Category:Copyright_licenses + Debian (website): https://www.debian.org/legal/licenses/ + Debian (wiki): https://wiki.debian.org/DFSGLicenses + W3C: https://www.w3.org/Consortium/Legal/2002/ipr-notice-20021231 + linfo: http://www.linfo.org/main_index.html + ifross: https://github.com/LeChasseur/ifrOSS/blob/master/Lizenzcenter.md * copyfree: http://copyfree.org/standard/licenses * ODRL: https://rdflicense.linkeddata.es/ * Cover traits: + Comment styles (most possible): https://en.wikipedia.org/wiki/Comparison_of_programming_languages_(syntax)#Comments + RFN notice: https://wiki.debian.org/Fonts/Bugs/rfn-violation + Patent-related clauses: http://en.swpat.org/wiki/Patent_clauses_in_software_licences * Cover P2P licensing: * https://wiki.p2pfoundation.net/P2P_Licensing * Locate and cover previous lesser-free licenses: * https://en.wikipedia.org/wiki/List_of_formerly_proprietary_software * Provide subject patterns grant license (not any) by default: + Cover either grant or license for all objects + Use subject patterns grant license (not any avilable) by default + Document promise of full coverage, and default. Metadata: * Tag classifications: * https://en.wikipedia.org/wiki/Free_license#Classification_and_licenses * Map to Creative Commons license spectrum * https://en.wikipedia.org/wiki/Creative_Commons_license#Types_of_license * Maybe tag non-free licenses by their nature (guild/peace/etc.) * https://wiki.creativecommons.org/wiki/Parametric_license * Maybe link (where appropriate) to kemitchell: * https://writing.kemitchell.com/ * Relax tag "versioned" to any (even unknown) version Testsuite: * Add author test checking validity of URLs. + Prepend alt.archive properties with https://web.archive.org/web/ * Add author test checking coverage of URL directories * Test static patterns directly (i.e. not using Regexp::Pattern::re) * Distinguish between TODO (pending) and SKIP (irrelevant) Misc. * Implement resolving popularity scores, as needed by debian-policy team: * https://sources.debian.org/src/debian-policy/4.1.3.0/tools/license-count/?hl=63#L63 * Synthesize type:versioned iri from singleversion:$STEM as iri.alt.version.[/^$STEM_/] * Speedup synthesizing by processing simplest first * Improve grant synthesizing: + Expand to also cover lowercased names/captions + Expand to replace leading "Creative Commons" with "CC" + Expand to make leading "Creative Commons" (or "CC") optional * Improve iri synthesizing: + Expand protocol https → http + Expand to alternate websites with same identifier * Fix join data from other licenses in code loop (not declared as a seed) e.g. for group gnu * Assemble DefHash during build. + Maybe use Regexp::Assemble at build-time (but then optionally disable to support deterministic builds) + Install as YAML (and JSON?) below /usr/share/misc, for reuse by non-Perl tools. * Turn most possible into seed patterns. Document new features: * Document gen option "capture" * Add note about "re" use...: adaptable by passing option C to L. * Maybe reference https://rightsstatements.org/