Ícone grátis tem licença: como usar Font Awesome, Material e outros sem dor de cabeça
Saiba o que as licenças mais comuns de ícones pedem, por que ícone de marca é outro assunto, e monte um manifesto de licenças na pasta com um script que barra arquivo sem origem.
O app de delivery estava pronto para a campanha de lançamento quando o jurídico do cliente mandou uma pergunta simples: "de onde vieram os ícones?". A pasta tinha 38 SVGs. Uns vieram de uma biblioteca conhecida, outros de um pacote baixado num site de ícones grátis, três de um print redesenhado e um era o logo de uma carteira digital achado numa busca de imagens. Ninguém sabia dizer qual era qual. A campanha atrasou uma semana enquanto alguém refazia o levantamento arquivo por arquivo.
A resposta curta: "grátis" quer dizer que você não paga, não que não há regras. Cada conjunto de ícones tem uma licença que diz se você precisa dar crédito, se pode modificar e redistribuir. Logos de empresas são outro assunto: além do direito autoral do desenho, há a marca registrada. Escolha conjuntos com licença clara, anote a origem de cada arquivo no dia em que ele entra no projeto e deixe um script recusar ícone sem registro.
O que as licenças mais comuns pedem
A maioria das bibliotecas de ícones populares usa licenças permissivas. Elas deixam usar em projeto comercial, modificar e redistribuir, e quase sempre pedem uma coisa: manter o aviso de licença junto do código.
- MIT e ISC: usadas por conjuntos como Bootstrap Icons (MIT) e Lucide (ISC). Permitem quase tudo, desde que o texto da licença e o aviso de copyright acompanhem as cópias do software.
- Apache 2.0: a do Material Symbols, do Google. Parecida com a MIT, com exigências adicionais sobre manter avisos e indicar arquivos modificados.
- Creative Commons Atribuição (CC BY 4.0): a dos ícones do Font Awesome Free. Exige crédito. O próprio Font Awesome explica que os arquivos baixados já trazem comentários com a atribuição suficiente, então, em uso normal, basta não removê-los.
- "Grátis com crédito" de sites agregadores: muitos sites de ícones liberam o download gratuito com a condição de um crédito visível, e a versão sem crédito é paga. A regra fica nos termos do site, não num arquivo de licença padrão.
- Sem licença nenhuma: arquivo achado numa busca de imagens ou num pacote sem termos. Sem licença, a regra padrão do direito autoral vale e você não tem permissão. Não use.
Essas descrições são um resumo para orientar a escolha. O texto que vale é o da licença no repositório ou no site de cada conjunto, e ele pode mudar entre versões. Leia antes de adotar, e guarde a versão que você leu.
O detalhe do minificador
No caso do Font Awesome, a atribuição está num comentário dentro do SVG. Ferramentas de otimização de SVG costumam remover comentários por padrão, e o build passa a publicar ícones CC BY sem o crédito que a licença exige. Confira a configuração do seu otimizador e preserve o comentário de licença, ou dê o crédito numa página de créditos do site.
Ícone de marca é outra conversa
O logo de uma carteira digital, de uma rede social ou de um banco pode estar num conjunto com licença MIT. A licença cobre o desenho do ícone, não o direito de usar a marca. Marca é propriedade de quem a registrou, e os donos costumam publicar um manual de uso: proporção, cores, área livre e em que situações você pode exibi-la.
Na prática, ícone de marca serve para indicar o que ele é: "pague com tal carteira", "entre com tal conta", "siga-nos em tal rede". Não pode ser redesenhado, recolorido para combinar com o seu tema nem usado como enfeite que sugira parceria inexistente. No app de delivery, o logo da carteira digital foi trocado pelo arquivo oficial do kit de marca do próprio serviço, aplicado conforme o manual.
E um ícone genérico nunca deve imitar a marca de outro produto. Um balão de conversa verde muito parecido com o de um aplicativo conhecido confunde o usuário e chama atenção de quem cuida daquela marca.
Como organizar a pasta de ícones
No app de delivery, a reorganização seguiu estes passos:
- Escolha um ou dois conjuntos principais com licença clara. Menos fontes significam menos licenças para acompanhar e uma interface mais coerente, como defende ícones sem poluir a interface.
- Crie um manifesto ao lado dos arquivos. Um
licencas.jsonna pasta, com uma entrada por arquivo: origem, conjunto, licença, versão, se exige crédito e se foi modificado. - Copie o texto das licenças para o repositório. Um arquivo por licença, como
LICENSE-lucide.txt, junto dos ícones. É isso que as licenças MIT, ISC e Apache pedem. - Faça o build falhar sem registro. Um script compara os SVGs da pasta com o manifesto e para o CI se faltar entrada.
- Publique uma página de créditos quando algum conjunto exigir atribuição visível. Para CC BY, a recomendação da Creative Commons é informar título, autor, fonte e licença.
O manifesto:
{
"carrinho.svg": {
"origem": "https://lucide.dev",
"conjunto": "Lucide",
"versao": "a versão que você baixou",
"licenca": "ISC",
"credito_visivel": false,
"modificado": false
},
"moto-entrega.svg": {
"origem": "desenho próprio",
"conjunto": "Sabor de Casa",
"licenca": "propriedade do cliente",
"credito_visivel": false,
"modificado": false
},
"carteira-digital.svg": {
"origem": "kit de marca oficial do serviço",
"conjunto": "marca de terceiro",
"licenca": "uso conforme manual de marca",
"credito_visivel": false,
"modificado": false
}
}
No campo de versão, anote o número exato do pacote que entrou no projeto. E o script que roda no CI:
// scripts/conferir-icones.js
const fs = require('fs');
const path = require('path');
const pasta = path.join(__dirname, '..', 'src', 'icones');
const manifesto = JSON.parse(fs.readFileSync(path.join(pasta, 'licencas.json'), 'utf8'));
const arquivos = fs.readdirSync(pasta).filter((nome) => nome.endsWith('.svg'));
const semRegistro = arquivos.filter((nome) => !manifesto[nome]);
const orfaos = Object.keys(manifesto).filter((nome) => !arquivos.includes(nome));
if (semRegistro.length || orfaos.length) {
if (semRegistro.length) console.error('Ícones sem licença registrada: ' + semRegistro.join(', '));
if (orfaos.length) console.error('Entradas sem arquivo: ' + orfaos.join(', '));
process.exit(1);
}
console.log(arquivos.length + ' ícones, todos com origem registrada.');
Com isso, quem acrescenta um ícone sem dizer de onde veio vê o build falhar antes do merge, e a pergunta do jurídico passa a ter resposta em um minuto. A mesma ideia vale para fotos, como em guarde a licença da imagem na mesma pasta.
Licença resolvida não resolve tudo: ícone que funciona como botão ainda precisa de nome acessível, assunto de ícone SVG com nome.
Erros comuns
- Baixar de agregador sem ler os termos. O plano gratuito pode exigir crédito visível, e o app foi publicado sem ele.
- Minificar SVG removendo o comentário de licença. O ícone CC BY vai ao ar sem a atribuição que permitia usá-lo.
- Recolorir ou redesenhar logo de terceiro. Viola o manual de marca e pode sugerir uma parceria que não existe.
- Usar arquivo achado em busca de imagens. Sem licença, não há permissão, por mais comum que o desenho pareça.
- Misturar cinco conjuntos. São cinco licenças para acompanhar e uma interface com traços e pesos diferentes.
- Anotar a origem "depois". Depois, ninguém lembra, e o levantamento vira trabalho de detetive na véspera do lançamento.
Checklist
- Todo SVG da pasta tem entrada no
licencas.jsoncom origem e licença. - Os textos das licenças dos conjuntos usados estão no repositório.
- O CI roda o script de conferência e falha com ícone sem registro.
- O otimizador de SVG preserva comentários de licença, ou há página de créditos.
- Logos de terceiros vêm do kit oficial e seguem o manual de marca.
- Nenhum ícone genérico imita a marca de outro produto.
- Ícones que exigem crédito visível aparecem na página de créditos.
Abra agora a pasta de ícones do seu projeto e escolha três arquivos ao acaso: você consegue dizer de onde veio cada um e o que a licença dele pede?
Referência: http://www.iconesbr.net/