# mikepenz/aboutlibraries

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/mikepenz-aboutlibraries).**

4,228 stars · 538 forks · Kotlin · apache-2.0

## Links

- GitHub: https://github.com/mikepenz/AboutLibraries
- Homepage: http://mikepenz.github.io/AboutLibraries/
- awesome-repositories: https://awesome-repositories.com/repository/mikepenz-aboutlibraries.md

## Topics

`aboutlibraries` `android` `android-development` `android-library` `android-ui` `cmp` `compose` `compose-multiplatform` `fragments` `kmp` `kmp-library` `kotlin` `kotlin-multiplatform` `kotlin-multiplatform-library` `libraries` `mikepenz` `multiplatform` `wasm`

## Description

AboutLibraries is an open-source license compliance tool designed to collect, validate, and display third-party library licenses within software projects. It functions as a system for gathering dependency metadata at compile time and validating those libraries against a list of approved licenses to ensure legal compliance.

The project provides a license validation engine that can enforce compliance by halting the build process when unauthorized licenses are detected. It also includes a set of visual components for rendering dependency and funding information within a user interface for third-party library attribution.

The software covers broader capability areas including the generation of software bills of materials and the automation of metadata retrieval via remote API integration. It supports the use of schema-based metadata modeling and allows for library metadata overrides through external configuration files.

## Tags

### Security & Cryptography

- [License Compliance Tools](https://awesome-repositories.com/f/security-cryptography/license-compliance-tools.md) — Serves as a comprehensive tool for auditing and managing software licenses to ensure open-source compliance.
- [Compliance Enforcement](https://awesome-repositories.com/f/security-cryptography/license-compliance-tools/compliance-enforcement.md) — Enforces license compliance by checking dependencies against approved lists and halting the build process upon detection of unauthorized licenses. ([source](https://cdn.jsdelivr.net/gh/mikepenz/aboutlibraries@develop/README.md))

### Development Tools & Productivity

- [Dependency Metadata Automation](https://awesome-repositories.com/f/development-tools-productivity/package-dependency-managers/dependency-metadata-automation.md) — Programmatically retrieves and updates license and funding information for libraries used in a software project.
- [Remote Metadata Acquisition](https://awesome-repositories.com/f/development-tools-productivity/software-licenses/license-trackers/remote-metadata-acquisition.md) — Implements remote data acquisition to fetch missing license and funding details from external web services. ([source](https://cdn.jsdelivr.net/gh/mikepenz/aboutlibraries@develop/README.md))

### Networking & Communication

- [Web API Integration](https://awesome-repositories.com/f/networking-communication/api-integration-frameworks/api-management-integration/api-integrations/web-api-integration.md) — Implements structured communication with remote web services to complete the dataset of license and funding information.

### Programming Languages & Runtimes

- [Dependency Metadata Extraction](https://awesome-repositories.com/f/programming-languages-runtimes/compile-time-project-metadata/dependency-metadata-extraction.md) — Gathers dependency and license information during the build process to generate static data files for runtime use.

### Software Engineering & Architecture

- [Dependency License Extractors](https://awesome-repositories.com/f/software-engineering-architecture/licensing-information/dependency-license-extractors.md) — Automatically extracts license information for all project dependencies during the build process for reporting. ([source](https://cdn.jsdelivr.net/gh/mikepenz/aboutlibraries@develop/README.md))
- [License Validation Engines](https://awesome-repositories.com/f/software-engineering-architecture/licensing-information/dependency-license-extractors/license-validation-engines.md) — Implements a mechanism to check project dependencies against approved licenses to prevent unauthorized software use.
- [Software Bill of Materials Generators](https://awesome-repositories.com/f/software-engineering-architecture/software-bill-of-materials-generators.md) — Automatically generates comprehensive inventories of software components and their associated licenses as a Software Bill of Materials.

### Data & Databases

- [Metadata Schemas](https://awesome-repositories.com/f/data-databases/data-processing-pipelines/data-serialization/json-schema/metadata-schemas.md) — Uses structured metadata schemas to ensure consistent representation of libraries and licenses across different platforms.

### User Interface & Experience

- [Dependency Attribution Displays](https://awesome-repositories.com/f/user-interface-experience/dependency-attribution-displays.md) — Displays a list of used dependencies and their licenses within a user interface for legal attribution.
- [Library Metadata Displays](https://awesome-repositories.com/f/user-interface-experience/library-metadata-displays.md) — Provides pre-built visual components to render dependency and license information within a user interface. ([source](https://cdn.jsdelivr.net/gh/mikepenz/aboutlibraries@develop/README.md))
- [Modular UI Components](https://awesome-repositories.com/f/user-interface-experience/modular-ui-components.md) — Ships a set of independent, reusable UI modules designed to render structured library metadata in human-readable formats.
- [UI Component Libraries](https://awesome-repositories.com/f/user-interface-experience/ui-component-libraries.md) — Provides a library of reusable UI components for rendering dependency and funding information.

### Part of an Awesome List

- [Developer Utilities](https://awesome-repositories.com/f/awesome-lists/devtools/developer-utilities.md) — Automatically generates an "About" screen with dependency licenses.
