Pacotes são descritas em /usr/share/doc/${package}/copyright
. Este arquivo é necessário para especificar a licença principal do pacote; muitos pacotes usam um arquivo copyright
legível por máquina que lista as licenças de cada único arquivo no pacote de origem.
Para arquivos legíveis por máquina, você pode usar a linha License:
que introduz as licenças:
awk '/^License:/ { print $2 }' /usr/share/doc/*/copyright | sort -u
Se você está procurando uma licença documentada em /usr/share/common-licenses
, pode procurar por menções daquelas nos arquivos copyright
; por exemplo, para contar o número de pacotes licenciados sob a GPL ou LGPL:
grep -l GPL /usr/share/doc/*/copyright | wc -l
Para contar apenas o número de pacotes de origem, conte o número de arquivos exclusivos (os pacotes binários enviados de um único pacote de origem têm exatamente o mesmo arquivo copyright
ou o link para o mesmo arquivo):
md5sum $(grep -l GPL /usr/share/doc/*/copyright) | sort -k1,1 -u | wc -l
O Debsources fornece várias maneiras de pesquisar através de todos os arquivos copyright
do Debian ; aqui está um verso para recuperar a licença de um único arquivo (se o pacote dele usar um formato legível por máquina) ). (A licença desse one-liner não está documentada, então estou apenas ligando para ele, não copiando aqui.)
Observe que, como os arquivos copyright
documentam as licenças dos pacotes de origem, eles podem documentar arquivos que não são enviados em pacotes binários e não afetam a licença do pacote binário; esse pode ser o caso, por exemplo, de arquivos licenciados sob GPL, que são usados apenas durante a compilação para um pacote não licenciado sob a GPL.