5.7. Licenças

Cada port deve documentar a licença sob a qual está disponível. Se não for uma licença aprovada pelo OSI, também deve documentar quaisquer restrições à redistribuição.

5.7.1. LICENSE

Um nome abreviado para a licença ou licenças se mais de uma licença for aplicada.

Se for uma das licenças listadas no Tabela 5.7, “Lista de Licenças Predefinidas”, apenas as variáveis LICENSE_FILE e LICENSE_DISTFILES podem ser definidas.

Se esta for uma licença que não tenha sido definida na infraestrutura de ports (veja Tabela 5.7, “Lista de Licenças Predefinidas”), LICENSE_PERMS e LICENSE_NAME devem ser definidos, juntamente com LICENSE_FILE ou LICENSE_TEXT. LICENSE_DISTFILES e LICENSE_GROUPS também podem ser definidos, mas não é necessário.

As licenças pré-definidas são mostradas em Tabela 5.7, “Lista de Licenças Predefinidas”. A lista atual está sempre disponível em Mk/bsd.licenses.db.mk.

Exemplo 5.28. Uso Mais Simples, Licenças Predefinidas

Quando o README de algum software diz This software is under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. mas não fornece o arquivo de licença, use isto:

LICENSE=	LGPL21+

Quando o software fornece o arquivo de licença, use isto:

LICENSE=	LGPL21+
LICENSE_FILE=	${WRKSRC}/COPYING

Para as licenças predefinidas, as permissões padrão são dist-mirror dist-sell pkg-mirror pkg-sell auto-accept.

Tabela 5.7. Lista de Licenças Predefinidas
Nome CurtoNomeGrupoPermissões
AGPLv3GNU Affero General Public License version 3FSF GPL OSI(padrão)
AGPLv3+GNU Affero General Public License version 3 (ou maior)FSF GPL OSI(padrão)
APACHE10Apache License 1.0FSF(padrão)
APACHE11Apache License 1.1FSF OSI(padrão)
APACHE20Apache License 2.0FSF OSI(padrão)
ART10Artistic License version 1.0OSI(padrão)
ART20Artistic License version 2.0FSF GPL OSI(padrão)
ARTPERL10Artistic License (perl) version 1.0OSI(padrão)
BSDBSD license Generic Version (deprecated)FSF OSI COPYFREE(padrão)
BSD2CLAUSEBSD 2-clause "Simplified" LicenseFSF OSI COPYFREE(padrão)
BSD3CLAUSEBSD 3-clause "New" or "Revised" LicenseFSF OSI COPYFREE(padrão)
BSD4CLAUSEBSD 4-clause "Original" or "Old" LicenseFSF(padrão)
BSLBoost Software LicenseFSF OSI COPYFREE(padrão)
CC-BY-1.0Creative Commons Attribution 1.0 (padrão)
CC-BY-2.0Creative Commons Attribution 2.0 (padrão)
CC-BY-2.5Creative Commons Attribution 2.5 (padrão)
CC-BY-3.0Creative Commons Attribution 3.0 (padrão)
CC-BY-4.0Creative Commons Attribution 4.0 (padrão)
CC-BY-NC-1.0Creative Commons Attribution Non Commercial 1.0 dist-mirror pkg-mirror auto-accept
CC-BY-NC-2.0Creative Commons Attribution Non Commercial 2.0 dist-mirror pkg-mirror auto-accept
CC-BY-NC-2.5Creative Commons Attribution Non Commercial 2.5 dist-mirror pkg-mirror auto-accept
CC-BY-NC-3.0Creative Commons Attribution Non Commercial 3.0 dist-mirror pkg-mirror auto-accept
CC-BY-NC-4.0Creative Commons Attribution Non Commercial 4.0 dist-mirror pkg-mirror auto-accept
CC-BY-NC-ND-1.0Creative Commons Attribution Non Commercial No Derivatives 1.0 dist-mirror pkg-mirror auto-accept
CC-BY-NC-ND-2.0Creative Commons Attribution Non Commercial No Derivatives 2.0 dist-mirror pkg-mirror auto-accept
CC-BY-NC-ND-2.5Creative Commons Attribution Non Commercial No Derivatives 2.5 dist-mirror pkg-mirror auto-accept
CC-BY-NC-ND-3.0Creative Commons Attribution Non Commercial No Derivatives 3.0 dist-mirror pkg-mirror auto-accept
CC-BY-NC-ND-4.0Creative Commons Attribution Non Commercial No Derivatives 4.0 dist-mirror pkg-mirror auto-accept
CC-BY-NC-SA-1.0Creative Commons Attribution Non Commercial Share Alike 1.0 dist-mirror pkg-mirror auto-accept
CC-BY-NC-SA-2.0Creative Commons Attribution Non Commercial Share Alike 2.0 dist-mirror pkg-mirror auto-accept
CC-BY-NC-SA-2.5Creative Commons Attribution Non Commercial Share Alike 2.5 dist-mirror pkg-mirror auto-accept
CC-BY-NC-SA-3.0Creative Commons Attribution Non Commercial Share Alike 3.0 dist-mirror pkg-mirror auto-accept
CC-BY-NC-SA-4.0Creative Commons Attribution Non Commercial Share Alike 4.0 dist-mirror pkg-mirror auto-accept
CC-BY-ND-1.0Creative Commons Attribution No Derivatives 1.0 (padrão)
CC-BY-ND-2.0Creative Commons Attribution No Derivatives 2.0 (padrão)
CC-BY-ND-2.5Creative Commons Attribution No Derivatives 2.5 (padrão)
CC-BY-ND-3.0Creative Commons Attribution No Derivatives 3.0 (padrão)
CC-BY-ND-4.0Creative Commons Attribution No Derivatives 4.0 (padrão)
CC-BY-SA-1.0Creative Commons Attribution Share Alike 1.0 (padrão)
CC-BY-SA-2.0Creative Commons Attribution Compartilhar Alike 2.0 (padrão)
CC-BY-SA-2.5Creative Commons Attribution Share Alike 2.5 (padrão)
CC-BY-SA-3.0Creative Commons Attribution Share Alike 3.0 (padrão)
CC-BY-SA-4.0Creative Commons Attribution Share Alike 4.0 (padrão)
CC0-1.0Creative Commons Zero v1.0 UniversalFSF GPL COPYFREE(padrão)
CDDLCommon Development and Distribution LicenseFSF OSI(padrão)
CPAL-1.0Common Public Attribution LicenseFSF OSI(padrão)
ClArtisticClarified Artistic LicenseFSF GPL OSI(padrão)
EPLEclipse Public LicenseFSF OSI(padrão)
GFDLGNU Free Documentation LicenseFSF(padrão)
GMGPLGNAT Modified General Public LicenseFSF GPL OSI(padrão)
GPLv1GNU General Public License version 1FSF GPL OSI(padrão)
GPLv1+GNU General Public License version 1 (or later)FSF GPL OSI(padrão)
GPLv2GNU General Public License version 2FSF GPL OSI(padrão)
GPLv2+GNU General Public License version 2 (or later)FSF GPL OSI(padrão)
GPLv3GNU General Public License version 3FSF GPL OSI(padrão)
GPLv3+GNU General Public License version 3 (or later)FSF GPL OSI(padrão)
GPLv3RLEGNU GPL version 3 Runtime Library ExceptionFSF GPL OSI(padrão)
GPLv3RLE+GNU GPL version 3 Runtime Library Exception (or later)FSF GPL OSI(padrão)
ISCLInternet Systems Consortium LicenseFSF GPL OSI COPYFREE(padrão)
LGPL20GNU Library General Public License version 2.0FSF GPL OSI(padrão)
LGPL20+GNU Library General Public License version 2.0 (or later)FSF GPL OSI(padrão)
LGPL21GNU Lesser General Public License version 2.1FSF GPL OSI(padrão)
LGPL21+GNU Lesser General Public License version 2.1 (or later)FSF GPL OSI(padrão)
LGPL3GNU Lesser General Public License version 3FSF GPL OSI(padrão)
LGPL3+GNU Lesser General Public License version 3 (or later)FSF GPL OSI(padrão)
LPPL10LaTeX Project Public License version 1.0FSF OSIdist-mirror dist-sell
LPPL11LaTeX Project Public License version 1.1FSF OSIdist-mirror dist-sell
LPPL12LaTeX Project Public License version 1.2FSF OSIdist-mirror dist-sell
LPPL13LaTeX Project Public License version 1.3FSF OSIdist-mirror dist-sell
LPPL13aLaTeX Project Public License version 1.3aFSF OSIdist-mirror dist-sell
LPPL13bLaTeX Project Public License version 1.3bFSF OSIdist-mirror dist-sell
LPPL13cLaTeX Project Public License version 1.3cFSF OSIdist-mirror dist-sell
MITMIT license / X11 licenseCOPYFREE FSF GPL OSI(padrão)
MPL10Mozilla Public License version 1.0FSF OSI(padrão)
MPL11Mozilla Public License version 1.1FSF OSI(padrão)
MPL20Mozilla Public License version 2.0FSF OSI(padrão)
NCSAUniversity of Illinois/NCSA Open Source LicenseCOPYFREE FSF GPL OSI(padrão)
NONENo license specified none
OFL10SIL Open Font License version 1.0 (http://scripts.sil.org/OFL)FONTS(padrão)
OFL11SIL Open Font License version 1.1 (http://scripts.sil.org/OFL)FONTS(padrão)
OWLOpen Works License (owl.apotheon.org)COPYFREE(padrão)
OpenSSLLicença OpenSSLFSF(padrão)
PDPublic DomainGPL COPYFREE(padrão)
PHP202PHP License version 2.02FSF OSI(padrão)
PHP30PHP License version 3.0FSF OSI(padrão)
PHP301PHP License versão 3.01FSF OSI(padrão)
PSFLPython Software Foundation LicenseFSF GPL OSI(padrão)
PostgreSQLPostgreSQL LicenceFSF GPL OSI COPYFREE(padrão)
RUBYRuby LicenseFSF(padrão)
UNLICENSEThe UnlicenseCOPYFREE FSF GPL(padrão)
WTFPLDo What the Fuck You Want To Public License version 2GPL FSF COPYFREE(padrão)
WTFPL1Do What the Fuck You Want To Public License version 1GPL FSF COPYFREE(padrão)
ZLIBzlib LicenseGPL FSF OSI(padrão)
ZPL21Zope Public License version 2.1GPL OSI(padrão)

5.7.2. LICENSE_PERMS e LICENSE_PERMS_NAME

Permissões. Use none se vazio.

Lista de Permissões de Licença
dist-mirror

A redistribuição dos arquivos de distribuição é permitida. Os arquivos de distribuição serão adicionados ao FreeBSD CDN MASTER_SITE_BACKUP.

no-dist-mirror

A redistribuição dos arquivos de distribuição é proibida. Isso é equivalente a RESTRICT. Os arquivos de distribuição não serão adicionados ao FreeBSD CDN MASTER_SITE_BACKUP.

dist-sell

A venda de arquivos de distribuição é permitida. Os arquivos de distribuição estarão presentes nas imagens do instalador.

no-dist-sell

A venda de arquivos de distribuição é proibida. Isso é equivalente a NO_CDROM.

pkg-mirror

É permitida a redistribuição gratuita do pacote. O pacote será distribuído na CDN de pacotes do FreeBSD https://pkg.freebsd.org/.

no-pkg-mirror

É proibida a redistribuição gratuita do pacote. Equivalente à definir NO_PACKAGE. O pacote não será distribuído a partir da CDN de pacotes do FreeBSD https://pkg.freebsd.org/.

pkg-sell

A venda do pacote é permitida. O pacote estará presente nas imagens do instalador.

no-pkg-sell

A venda de pacotes é proibida. Isso é equivalente a definir NO_CDROM. O pacote não estará presente nas imagens do instalador.

auto-accept

A licença é aceita por padrão. Os prompts para aceitar uma licença não são exibidos a menos que o usuário tenha definido LICENSES_ASK. Use isto, a menos que a licença indique que o usuário deve aceitar os termos da licença.

no-auto-accept

A licença não é aceita por padrão. O usuário sempre será solicitado a confirmar a aceitação desta licença. Isso deve ser usado se a licença declarar que o usuário deve aceitar seus termos.

Quando ambos permission e no-permission estiverem presentes o no-permission vai cancelar a permission.

Quando permission não estiver presente, é considerado uma no-permission.

Atenção:

Algumas permissões que estiverem faltando, impedirão que um port (e todos os ports dependendo dele) sejam utilizados pelos usuários do pacote:

Um port sem a permissão auto-accept nunca será compilado e todos os ports dependendo dele serão ignorados.

Um port sem a permissão pkg-mirror será removido, assim como todos os ports que dependam dele, isso depois da compilação e então eles nunca serão distribuídos.

Exemplo 5.29. Licença Não Padrão

Leia os termos da licença e traduza-os usando as permissões disponíveis.

LICENSE=        UNKNOWN
LICENSE_NAME=   unknown
LICENSE_TEXT=   Esse programa NÃO é de domínio publico.\
                pode ser distribuído livremente para propósitos não comerciais apenas,\
                e NÃO HÁ GARANTIA PARA ESSE PROGRAMA.
LICENSE_PERMS=  dist-mirror no-dist-sell pkg-mirror no-pkg-sell auto-accept

Exemplo 5.30. Licenças Padrão e Não Padrão

Leia os termos da licença e expresse-os usando as permissões disponíveis. Em caso de dúvida, peça orientação na lista de discussão de ports do FreeBSD.

LICENSE=        WARSOW GPLv2
LICENSE_COMB=   multi
LICENSE_NAME_WARSOW=    Warsow Content License
LICENSE_FILE_WARSOW=    ${WRKSRC}/docs/license.txt
LICENSE_PERMS_WARSOW=   dist-mirror pkg-mirror auto-accept

Quando as permissões das licenças GPLv2 e UNKNOWN são misturadas, o port termina com dist-mirror dist-sell pkg-mirror pkg-sell auto-accept dist-mirror no-dist-sell pkg-mirror no-pkg-sell auto-accept. O no-permissions cancela as permissions. A lista resultante de permissões é dist-mirror pkg-mirror auto-accept. Os arquivos de distribuição e os pacotes não estarão disponíveis nas imagens do instalador.


5.7.3. LICENSE_GROUPS e LICENSE_GROUPS_NAME

Grupos que a licença pertence.

Lista de Grupos de Licenças Predefinidas
FSF

Aprovada pela Free Software Foundation, veja FSF Licensing & Compliance Team.

GPL

Compatível com GPL

OSI

Aprovado pelo OSI, veja a pagina Open Source Initiative Open Source Licenses.

COPYFREE

Segue a Copyfree Standard Definition, consulte a pagina Copyfree Licenses.

FONTS

Licenças de fonte

5.7.4. LICENSE_NAME e LICENSE_NAME_NAME

Nome completo da licença.

Exemplo 5.31. LICENSE_NAME
LICENSE=        UNRAR
LICENSE_NAME=   UnRAR License
LICENSE_FILE=   ${WRKSRC}/license.txt
LICENSE_PERMS=  dist-mirror dist-sell pkg-mirror pkg-sell auto-accept

5.7.5. LICENSE_FILE e LICENSE_FILE_NOME

Caminho completo para o arquivo que contém o texto da licença, geralmente ${WRKSRC}/some/file. Se o arquivo não estiver no distfile e seu conteúdo for muito longo para ser colocado em LICENSE_TEXT, insira o texto em um novo arquivo em ${FILESDIR}.

Exemplo 5.32. LICENSE_FILE
LICENSE=	GPLv3+
LICENSE_FILE=	${WRKSRC}/COPYING

5.7.6. LICENSE_TEXT e LICENSE_TEXT_NAME

Texto para usar como uma licença. Útil quando a licença não está nos arquivos de distribuição e seu texto é curto.

Exemplo 5.33. LICENSE_TEXT
LICENSE=        UNKNOWN
LICENSE_NAME=   unknown
LICENSE_TEXT=   This program is NOT in public domain.\
                It can be freely distributed for non-commercial purposes only,\
                and THERE IS NO WARRANTY FOR THIS PROGRAM.
LICENSE_PERMS=  dist-mirror no-dist-sell pkg-mirror no-pkg-sell auto-accept

5.7.7. LICENSE_DISTFILES e LICENSE_DISTFILES_NAME

Os arquivos de distribuição aos quais as licenças se aplicam. O padrão é para todos os arquivos de distribuição.

Exemplo 5.34. LICENSE_DISTFILES

Usado quando os arquivos de distribuição não possuem a mesma licença. Por exemplo, um possui uma licença de código e outro possui alguns trabalhos de arte que não podem ser redistribuídos:

MASTER_SITES=   SF/some-game
DISTFILES=      ${DISTNAME}${EXTRACT_SUFX} artwork.zip

LICENSE=        BSD3CLAUSE ARTWORK
LICENSE_COMB=   dual
LICENSE_NAME_ARTWORK=      The game artwork license
LICENSE_TEXT_ARTWORK=      The README says that the files cannot be redistributed
LICENSE_PERMS_ARTWORK=     pkg-mirror pkg-sell auto-accept
LICENSE_DISTFILES_BSD3CLAUSE=   ${DISTNAME}${EXTRACT_SUFX}
LICENSE_DISTFILES_ARTWORK= artwork.zip

5.7.8. LICENSE_COMB

Defina como multi se todas as licenças se aplicarem. Defina como dual se qualquer uma das licenças se aplica. O padrão é definido para single.

Exemplo 5.35. Licenças Duplas

Quando um port diz This software may be distributed under the GNU General Public License or the Artistic License>, isso significa que qualquer licença pode ser usada. Use isto:

LICENSE=	ART10 GPLv1
LICENSE_COMB=   dual

Se os arquivos de licença forem fornecidos, use assim:

LICENSE=	ART10 GPLv1
LICENSE_COMB=   dual
LICENSE_FILE_ART10=     ${WRKSRC}/Artistic
LICENSE_FILE_GPLv1=     ${WRKSRC}/Copying

Exemplo 5.36. Múltiplas Licenças

Quando parte de um port tem uma licença, e outra parte tem uma licença diferente, use multi:

LICENSE=	GPLv2 LGPL21+
LICENSE_COMB=	multi

All FreeBSD documents are available for download at https://download.freebsd.org/ftp/doc/

Questions that are not answered by the documentation may be sent to <freebsd-questions@FreeBSD.org>.
Send questions about this document to <freebsd-doc@FreeBSD.org>.