The next crazy idea for #poudriere run for all #FreeBSD ports: require license to be defined by all ports.
cat >>make.conf
LICENSE?=NONE
LICENSES_REJECTED=NONE
The end goal is to have license information filled for all ports. In particular, it's important to identify ports which do not have clearly defined license, as these cannot be legally packaged and redistributed by the project, and pose legal risks to users too. The intermediate goal is to fill licenses for ports with a lot of consumers.
find /usr/ports -maxdepth 3 -name Makefile -print0 | xargs -0 -n 128 grep -L ^LICENSE=
@AMDmi3 Great! I'll add it to the workshop todo list.
@mpts Be sure to also check out https://wiki.freebsd.org/PortsLongtermTargets
@AMDmi3 It does not work for some reason. 🤔
The following oneliner does work, however:
find . -name Makefile -depth 3 -exec grep -L '^LICENSE=' {} +
@AMDmi3 Gosh, I spent quite a lot of hours trying to figure out what to put in LICENSE for lang/mono (at the time, the doc was minimalist regarding complex cases like this piece of code… haven't checked recently):
https://github.com/mono/mono/blob/master/LICENSE
I see that it has recently been set to just "MIT" which may be okay… or may not be okay 😨
@smortex I'd mention all listed non-build-time licenses
LICENSE=MIT BSD#CLAUSE (look into files mentioned in "Runtime code" section for actual # of clauses) APACHE20 GPL?? (mentioned in "Class Library code", not sure of version and "or later")
LICENSE_COMB=multi
LICENSE_FILE=${WRKSRC}/LICENSE
Not many distros seem to set this correctly: https://repology.org/metapackage/mono/information#Licenses
@AMDmi3 Is there a list of ports missing a license somewhere?