# License

This document provides a comprehensive overview of third-party libraries used in the Firework Android SDK and their respective licenses.

## License Summary

All third-party dependencies in this SDK are distributed under permissive open-source licenses that **permit commercial use** without requiring disclosure of proprietary source code.

| License Type | Commercial Use | Copyleft | Patent Grant |
| ------------ | -------------- | -------- | ------------ |
| Apache 2.0   | ✅ Permitted    | No       | Yes          |
| MIT          | ✅ Permitted    | No       | No           |

***

## Third-Party Dependencies

### Kotlin & Coroutines

| Library                    | Version | License    | Source                                                    |
| -------------------------- | ------- | ---------- | --------------------------------------------------------- |
| kotlin-stdlib              | 1.8.22  | Apache 2.0 | [JetBrains](https://github.com/JetBrains/kotlin)          |
| kotlin-reflect             | 1.8.22  | Apache 2.0 | [JetBrains](https://github.com/JetBrains/kotlin)          |
| kotlinx-coroutines-core    | 1.7.3   | Apache 2.0 | [JetBrains](https://github.com/Kotlin/kotlinx.coroutines) |
| kotlinx-coroutines-android | 1.7.3   | Apache 2.0 | [JetBrains](https://github.com/Kotlin/kotlinx.coroutines) |

### AndroidX Libraries

| Library                                    | Version | License    |
| ------------------------------------------ | ------- | ---------- |
| androidx.appcompat:appcompat               | 1.4.1   | Apache 2.0 |
| androidx.core:core-ktx                     | 1.7.0   | Apache 2.0 |
| androidx.constraintlayout:constraintlayout | 2.1.3   | Apache 2.0 |
| androidx.lifecycle:lifecycle-runtime-ktx   | 2.6.2   | Apache 2.0 |
| androidx.lifecycle:lifecycle-viewmodel-ktx | 2.6.2   | Apache 2.0 |
| androidx.preference:preference-ktx         | 1.2.0   | Apache 2.0 |
| androidx.recyclerview:recyclerview         | 1.2.1   | Apache 2.0 |
| androidx.fragment:fragment-ktx             | 1.3.6   | Apache 2.0 |
| androidx.databinding:viewbinding           | 8.4.2   | Apache 2.0 |
| androidx.annotation:annotation             | 1.5.0   | Apache 2.0 |

### Google Libraries

| Library                              | Version      | License    | Source                                                                       |
| ------------------------------------ | ------------ | ---------- | ---------------------------------------------------------------------------- |
| com.google.android.material:material | 1.6.0        | Apache 2.0 | [Google](https://github.com/material-components/material-components-android) |
| com.google.guava:guava               | 27.1-android | Apache 2.0 | [Google](https://github.com/google/guava)                                    |
| com.google.code.gson:gson            | 2.10.1       | Apache 2.0 | [Google](https://github.com/google/gson)                                     |

### Square Libraries

| Library                     | Version | License    | Source                                     |
| --------------------------- | ------- | ---------- | ------------------------------------------ |
| com.squareup.okhttp3:okhttp | 4.11.0  | Apache 2.0 | [Square](https://github.com/square/okhttp) |
| com.squareup.okio:okio      | 3.2.0   | Apache 2.0 | [Square](https://github.com/square/okio)   |

### Other Libraries

| Library                   | Version | License    | Source                                                     |
| ------------------------- | ------- | ---------- | ---------------------------------------------------------- |
| org.jetbrains:annotations | 23.0.0  | Apache 2.0 | [JetBrains](https://github.com/JetBrains/java-annotations) |

***

## Firework Modified Libraries

The following libraries are modified versions maintained by Firework:

| Library                                     | Base Version | License    | Modifications                                |
| ------------------------------------------- | ------------ | ---------- | -------------------------------------------- |
| com.firework.android.exoplayer:exoplayer-\* | 2.16.1.7     | Apache 2.0 | Custom build with SDK-specific optimizations |
| com.firework.gson:gson                      | 2.10.1.0     | Apache 2.0 | Repackaged to avoid classpath conflicts      |
| com.firework:android-phoenix-client         | 1.3.1.1      | MIT        | WebSocket client for Phoenix channels        |

***

## License Compatibility Assessment

| Risk Category     | Status         | Notes                                      |
| ----------------- | -------------- | ------------------------------------------ |
| GPL Contamination | ✅ None         | No GPL-licensed dependencies detected      |
| LGPL Restrictions | ✅ None         | No LGPL-licensed dependencies detected     |
| Commercial Use    | ✅ Permitted    | All licenses allow commercial distribution |
| Patent Exposure   | ✅ Low Risk     | Apache 2.0 provides explicit patent grant  |
| Source Disclosure | ✅ Not Required | No copyleft licenses present               |

***

## Document Information

| Field         | Value                                |
| ------------- | ------------------------------------ |
| Last Updated  | December 2025                        |
| SDK Version   | Applicable to all versions           |
| Review Status | Approved for commercial distribution |

***

*This document is provided for informational purposes. For legal advice regarding specific use cases, consult qualified legal counsel.*


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.firework.com/firework-for-developers/android-sdk/third_party_licenses.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
