Consulta de licença SPDX: nome e resumo
Digite um identificador SPDX e veja em palavras simples a licença por trás dele: Apache-2.0 é a Apache License 2.0, que permite uso comercial, modificação, distribuição e uso privado, com condições sobre avisos e patentes. Grátis no seu navegador.
- Grátis
- Funciona no seu navegador
- Sem cadastro
- Seus dados não saem do seu aparelho
Executar grátis
Exemplo resolvido
- Identificador
- Apache-2.0
- Nome completo
- Apache License 2.0
A consulta de identificadores de licença SPDX transforma um código curto, como MIT, Apache-2.0 ou GPL-3.0-only, no nome legível da licença e em uma explicação concisa das principais permissões e condições. Ela atende desenvolvedores, revisores de dependências e sistemas de build que encontram esses códigos em manifestos de pacotes, inventários de software e metadados de repositórios. O resultado é determinístico e imediato: não há acesso à rede, download nem tentativa de adivinhar. Se o identificador não estiver no registro aceito, a ferramenta retorna um erro claro.
Entenda um identificador SPDX sem depender da memória
Os identificadores SPDX são compactos para funcionar bem em arquivos legíveis por máquinas, mas dizem pouco durante uma revisão. O primeiro apresenta a grafia canônica aceita, o segundo expande o nome habitual da licença e o terceiro explica em linguagem direta as permissões e obrigações centrais. Apache-2.0, por exemplo, autoriza uso comercial e privado, alterações e distribuição, mas também exige a preservação de avisos, a indicação de mudanças relevantes e o respeito às cláusulas de patentes.
MIT destaca a reutilização ampla com manutenção do aviso de copyright e permissão. Para licenças copyleft, o resumo aponta as exigências de código-fonte e licenciamento aplicáveis à distribuição de mudanças. O texto foi feito para caber em uma tabela de dependências.
Ele oferece orientação inicial, não substitui a licença integral nem aconselhamento jurídico para uma distribuição específica.
Grafia canônica, formas antigas e mensagens de erro
A ferramenta remove espaços nas extremidades e compara sem diferenciar maiúsculas de minúsculas, permitindo resolver um valor copiado de um relatório com formatação inconsistente. Ela não procura aproximações, não completa pontuação ausente e não escolhe uma versão silenciosamente. Essa rigidez impede que um erro de digitação vire uma conclusão incorreta sobre licenciamento.
Identificadores atuais como GPL-3.0-only e GPL-3.0-or-later continuam distintos, pois autorizar somente uma versão ou também versões posteriores muda a permissão concedida. Para compatibilidade com metadados antigos, formas obsoletas como GPL-3.0 preservam o sentido histórico “only” e retornam GPL-3.0-only. Se houver rejeição, confira a lista oficial SPDX e envie o identificador exato.
Um título de licença ou LicenseRef personalizado não é tratado como identificador padrão reconhecido.
Use o resultado em revisões e automações
Um fluxo comum extrai o campo de licença de metadados de pacotes ou de um SBOM, consulta cada valor distinto e exibe nome e resumo ao lado da dependência. Assim, a equipe separa licenças permissivas, copyleft por arquivo e copyleft forte antes de abrir o texto jurídico completo. Você pode armazenar respostas pelo identificador canônico ao processar valores repetidos, embora a operação já seja uma pequena busca em memória.
Esta capacidade aceita um identificador, não uma expressão com AND, OR, WITH ou parênteses. Ela também não decide compatibilidade, suficiência de avisos ou conformidade de uma distribuição comercial.
Casos de uso
Revisar um manifesto de dependências
Converta códigos de licença em nomes e resumos legíveis antes de aprovar um novo pacote.
Enriquecer uma interface de SBOM
Mostre permissões e condições ao lado dos identificadores do inventário sem acessar a rede.
Validar metadados importados
Rejeite identificadores desconhecidos ou digitados incorretamente e encaminhe os casos para revisão humana.
Perguntas frequentes
A ferramenta aceita uma expressão SPDX completa?
Não. Envie um único identificador; expressões com AND, OR, WITH ou parênteses não são aceitas.
Por que GPL-3.0 retorna GPL-3.0-only?
GPL-3.0 é uma forma SPDX antiga e obsoleta cujo sentido histórico indica somente a versão 3. O resultado canônico deixa isso explícito.
O resumo é aconselhamento jurídico?
Não. É uma orientação técnica curta. Leia a licença integral e consulte profissionais qualificados para decisões jurídicas.
Maiúsculas fazem diferença ao digitar o identificador?
Não. Os espaços ao redor são removidos e a grafia é comparada sem diferenciar maiúsculas, então um valor copiado de um relatório bagunçado também é reconhecido, e você recebe a forma canônica, como Apache-2.0.
Qual a diferença entre GPL-3.0-only e GPL-3.0-or-later?
A primeira concede a licença só na versão 3; a segunda também permite usar versões posteriores. Como essa escolha muda a permissão dada pelo licenciante, a consulta mantém os dois identificadores separados.
Ferramentas relacionadas
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/dev/license-spdx-lookup \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"identifier":"Apache-2.0"}'const res = await fetch("https://api.kit.forhosting.com/dev/license-spdx-lookup", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"identifier": "Apache-2.0"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/dev/license-spdx-lookup",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"identifier": "Apache-2.0"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/dev/license-spdx-lookup", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"identifier":"Apache-2.0"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"identifier":"Apache-2.0"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/dev/license-spdx-lookup", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"identifier": "Apache-2.0"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.license_spdx_lookup",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Limites
max_chars | 100 |
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |
Notas técnicas
Entenda um identificador SPDX sem depender da memória
Informe um único valor no campo identifier e receba três campos estáveis: identifier, full_name e summary.
Grafia canônica, formas antigas e mensagens de erro
Valor vazio, não textual, longo demais ou fora do registro gera invalid_input.
Use o resultado em revisões e automações
A estrutura JSON determinística também serve para scripts, verificações de pull request, painéis de inventário e validação de importações. Encaminhe invalid_input para análise humana em vez de substituir o código: pode haver uma expressão composta, um LicenseRef próprio ou metadados incorretos.
Perguntas técnicas
O que acontece com um identificador desconhecido?
A solicitação falha com invalid_input e informa o valor não reconhecido; nenhum substituto é presumido.
Quanto custa uma consulta pela API?
Cada solicitação de API concluída custa US$ 0,002. A versão no navegador pode rodar localmente sem consulta à rede.