# Embabel-Agent Licensing: Apache 2.0 Terms, Compliance Guide, and File Locations

> Understand embabel-agent licensing. Explore Apache 2.0 terms, compliance, and file locations for the embabel-agent repository. Ensure proper usage and integration.

- Repository: [Embabel/embabel-agent](https://github.com/embabel/embabel-agent)
- Tags: licensing-information
- Published: 2026-08-14

---

**The embabel-agent repository is licensed under the Apache License, Version 2.0, with the full license text stored in the `LICENSE` file and metadata declared in [`pom.xml`](https://github.com/embabel/embabel-agent/blob/main/pom.xml) for Maven consumers.**

Understanding the embabel-agent licensing details ensures you can legally use, modify, and distribute this open-source agent framework in your projects. The Apache 2.0 license provides broad permissions while requiring specific attribution steps that both developers and legal teams need to track.

## Apache 2.0 License: Core Permissions

The Apache License 2.0 grants four fundamental rights to users of embabel-agent:

- **Use, reproduce, and distribute** — Deploy the software for any purpose without restriction
- **Modify** — Create derivative works, provided you document your changes
- **Patent protection** — Receive a perpetual, worldwide, royalty-free patent license covering contributions
- **Sublicense** — Redistribute under the same Apache 2.0 terms or compatible licenses

These permissions make Apache 2.0 one of the most permissive and commercially friendly open-source licenses available.

## Compliance Conditions for Embabel-Agent

To remain compliant when using embabel-agent in your projects, you must satisfy three conditions:

1. **Include the license** — Every redistributed copy (source or binary) must retain the Apache 2.0 license text
2. **Document modifications** — If you alter any files in `src/`, add a prominent notice stating what you changed
3. **Preserve attribution** — Include any existing `NOTICE` file if present in the distribution

The license explicitly disclaims warranties and limits contributor liability, standard provisions that protect both the Embabel organization and downstream users.

## Where Licensing Information Lives in the Repository

Embabel-agent exposes its licensing through multiple discovery paths for different consumers:

| File | Location | Purpose |
|------|----------|---------|
| `LICENSE` | Repository root | Complete Apache 2.0 legal text |
| [`pom.xml`](https://github.com/embabel/embabel-agent/blob/main/pom.xml) | Repository root | Maven metadata for automated license detection |
| [`README.md`](https://github.com/embabel/embabel-agent/blob/main/README.md) | Repository root | High-level license mention in project overview |

The [`pom.xml`](https://github.com/embabel/embabel-agent/blob/main/pom.xml) declaration ensures that build tools like Maven and Gradle can automatically extract licensing information when embabel-agent appears as a dependency.

## Practical Implementation: Header Comments and Build Configuration

### Adding Apache 2.0 Headers to Source Files

Include this standard header in Kotlin or Java files you modify or create based on embabel-agent:

```kotlin
/*
 * Copyright © 2024 Embabel
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     https://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 */
package com.embabel.agent.example

```

### Declaring the License in Your Own pom.xml

If you build a project that depends on embabel-agent, mirror the license declaration:

```xml
<project>
    ...
    <licenses>
        <license>
            <name>Apache License, Version 2.0</name>
            <url>https://www.apache.org/licenses/LICENSE-2.0</url>
            <distribution>repo</distribution>
        </license>
    </licenses>
    ...
</project>

```

### Bundling the License in Distribution Artifacts

To ensure the `LICENSE` file appears in your final JAR:

```bash
mvn clean package -DattachLicense=true

```

For guaranteed inclusion, configure your build plugin to copy `LICENSE` into `META-INF/` within the generated artifact.

## Summary

- **Embabel-agent uses Apache License 2.0**, stored in the repository root `LICENSE` file
- **Maven consumers** automatically detect licensing through [`pom.xml`](https://github.com/embabel/embabel-agent/blob/main/pom.xml) metadata
- **Four broad permissions** (use, modify, patent grant, sublicense) with three conditions (retain license, document changes, preserve notices)
- **Source file headers** and **build configuration** demonstrate compliance in practice

## Frequently Asked Questions

### Can I use embabel-agent in a commercial closed-source product?

Yes. The Apache 2.0 license explicitly permits commercial use without requiring you to open-source your own code. You must retain the original license and notices, but your proprietary code remains separate.

### Does the embabel-agent license protect against patent claims?

Yes. The Apache 2.0 license includes an express patent grant where contributors license any relevant patents they hold. This provision reduces litigation risk for users of embabel-agent.

### Where must I display the Apache 2.0 license when redistributing embabel-agent?

Include the `LICENSE` file in your distribution's documentation or legal notices section. For binary distributions, place it in a file named `LICENSE` or [`LICENSE.txt`](https://github.com/embabel/embabel-agent/blob/main/LICENSE.txt) at the top level of your package. The `NOTICE` file, if present, must accompany it.

### What happens if I modify embabel-agent source files?

You must add a prominent notice in each modified file stating that you changed it. The standard practice places this notice in the file header comment alongside the original copyright statement.