License Report - Finite State Report

{% if domain %}{% endif %}
{% if logo_path %}
{% else %}
{% endif %}

# License Risk Report

{{ scope_label | default('All Projects') }} — Software License Analysis
Report: License Report | Generated: {{ generated_at }} | Scope: {{ scope_label | default('All Projects') }} | Components: {{ total_components | default(0) }}
Total Components
{{ total_components | default(0) }}
Unique Licenses
{{ total_licenses | default(0) }}
Strong Copyleft
0 %}style="color: #d32f2f;"{% endif %}>{{ category_summary.get('Strong Copyleft', 0) }}
Weak Copyleft
0 %}style="color: #f57c00;"{% endif %}>{{ category_summary.get('Weak Copyleft', 0) }}
Permissive
{{ category_summary.get('Permissive', 0) }}
No License
0 %}style="color: #f57c00;"{% endif %}>{{ no_license_count | default(0) }}
{% if risk_pie and risk_pie.labels | default([]) | length > 0 %}

## License Risk Distribution

Components grouped by license risk category.

## Risk Summary

Breakdown of license risk categories across all components.

Category | Count | %
--- | --- | ---
{% for cat in ['Strong Copyleft', 'Weak Copyleft', 'Proprietary/Restricted', 'Unknown', 'Permissive'] %} {% set count = category_summary.get(cat, 0) %} {% if count > 0 %}
{{ cat }} | {{ count }} | {{ ((count / total_components) * 100) | round(1) }}%
{% endif %} {% endfor %}

{% endif %} {% if license_table and license_table | length > 0 %}

## License Breakdown

License | Risk Category | Components | Projects
--- | --- | --- | ---
{% for row in license_table %}
{{ row.license_name if row.license_name else '(No License)' }} | {{ row.risk_category }} | {{ row.component_count }} | {{ row.projects }}
{% endfor %}

{% endif %}
{% include '_action_buttons.html' %}