Licensing and Contributions
Relevant source files
The following files were used as context for generating this wiki page:
Introduction
The AFIO project provides a custom distribution of the Iosevka font patched with Nerd Font icons. Because the project integrates multiple open-source components—specifically the Iosevka font and the Nerd Font patcher—it operates under a dual-licensing model to ensure compatibility and flexibility for users and contributors.
The project serves as both a ready-to-use font and a template for users to build their own variants by modifying build plans and leveraging GitHub Actions for automated releases.
Sources: README.md:11-19, README.md:86-90
Licensing Model
The project is explicitly dual-licensed, allowing users to choose the terms that best fit their requirements. This structure is common in projects that aim for high compatibility across different open-source ecosystems.
Available Licenses
Users may opt for either of the following:
- MIT License: A permissive license that is short and to the point.
- Apache License, Version 2.0: A permissive license that also provides an express grant of patent rights from contributors to users.
| License Type | Reference File | URL |
|---|---|---|
| MIT | LICENSE-MIT | http://opensource.org/licenses/MIT |
| Apache 2.0 | LICENSE-APACHE | http://www.apache.org/licenses/LICENSE-2.0 |
Sources: README.md:86-92
Contribution Policy
The project maintains a streamlined contribution process. By submitting a contribution, the contributor agrees to the project's licensing terms to maintain legal consistency.
Submission Terms
Unless explicitly stated otherwise, any contribution intentionally submitted for inclusion in the AFIO project is governed by the same dual-licensing (MIT and Apache-2.0). There are no additional terms or conditions required for standard submissions. This policy follows the definitions established in the Apache-2.0 license regarding contributions.
Sources: README.md:94-98
Development and Build Contributions
Contributors often interact with the project by modifying the build pipeline or configuration. Key areas for technical contribution include:
- Build Plans: Modifying
private-build-plans.tomlto change font variants (e.g.,f,i,0), weights, or widths. - Automation Scripts: Improving the build process within
build.shor the patching logic insrc/nerd-patcher.py. - Distribution: Updating the Homebrew tap logic via
homebrew/update-tap.sh.
Sources: private-build-plans.toml:1-12, build.sh:31-41, homebrew/update-tap.sh:26-38
Intellectual Property and Upstream Components
The project relies on external assets which have their own licensing and distribution methods. The AFIO build process automates the retrieval of these assets.
Upstream Asset Flow
The following diagram illustrates how external licensed components (Iosevka and Nerd Font Glyphs) are integrated into the final AFIO release.
This diagram shows the flow from upstream sources through the local build scripts to the final distribution points.
Sources: build.sh:31-41, nerd/download_glyphs.sh:7-10, homebrew/update-tap.sh:16-24
Glyph Source Information
The Nerd Font glyphs used in this project are retrieved from the official Nerd Fonts repository.
# Example of external glyph sources retrieved during build
BASE_URL="https://github.com/ryanoasis/nerd-fonts/raw/master/src/glyphs%22
# Includes: FontAwesome, Devicons, MaterialDesign, etc.
Sources: nerd/download_glyphs.sh:9-25
Conclusion
The AFIO project employs a dual MIT/Apache-2.0 license to provide a flexible legal framework for both usage and contribution. By aligning contribution terms with these licenses, the project ensures that all community-driven improvements remain accessible and compatible with the core font technologies it utilizes.