# OpenMAIC License: Understanding the MIT Licensing and Usage Terms

> Explore the OpenMAIC License details. Understand MIT licensing for free commercial use, modification, and distribution of the core codebase. Review terms now.

- Repository: [MAIC/OpenMAIC](https://github.com/THU-MAIC/OpenMAIC)
- Tags: licensing
- Published: 2026-09-04

---

**OpenMAIC is released under the MIT License, permitting free commercial use, modification, and distribution of the core codebase, with third-party packages retaining their respective licenses.**

The THU-MAIC/OpenMAIC repository is an open-source AI-powered classroom orchestration framework. Understanding the OpenMAIC license terms is essential for developers integrating the generation pipeline, agent runtime, or React frontend components into their own projects.

## MIT License Declaration in Repository Files

The MIT License governs OpenMAIC across multiple canonical files in the repository root.

### The LICENSE File

The full legal text resides in the repository’s [`LICENSE`](https://github.com/THU-MAIC/OpenMAIC/blob/main/LICENSE) file at the project root. This file contains the standard MIT grant:

> *“Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction…”*

This declaration explicitly allows unrestricted use, reproduction, and distribution of both source and binary forms.

### package.json License Field

The [`package.json`](https://github.com/THU-MAIC/OpenMAIC/blob/main/package.json) file at the repository root declares the license metadata for package managers:

```json
{
  "license": "MIT"
}

```

This field ensures automated tooling and dependency scanners correctly identify the project’s licensing terms.

### README Badge

The [[`README.md`](https://github.com/THU-MAIC/OpenMAIC/blob/main/README.md)](https://github.com/THU-MAIC/OpenMAIC/blob/main/README.md) displays a visual license indicator:

```markdown
[![License-MIT](https://img.shields.io/badge/License-MIT-green.svg?style=flat-square)](LICENSE)

```

This badge provides immediate visual confirmation of the OpenMAIC license status for repository visitors.

## Third-Party Package Licensing Exceptions

While the core codebase is MIT-licensed, the `packages/` directory contains third-party components with distinct licensing terms that you must honor when redistributing:

- **`packages/mathml2omml`** — Licensed under **LGPL-3.0-or-later**, requiring source code disclosure if you modify and redistribute this specific package.
- **`packages/pptxgenjs`** — Licensed under **MIT**, compatible with the core project terms.

When distributing OpenMAIC as a complete bundle, compliance requires adhering to the strictest license present in your specific deployment configuration.

## Core Modules Covered by the MIT License

All foundational architecture layers developed by the THU-MAIC team fall under the MIT License:

| Module | Path | Function |
|--------|------|----------|
| **Generation Pipeline** | `@openmaic/generation` | Two-stage outline and scene generation |
| **Agent Runtime** | `lib/server/agent-runtime/` | PostgreSQL-backed session management |
| **Storage Layer** | `packages/@openmaic/storage/` | Browser, HTTP, PostgreSQL, and S3 abstractions |
| **Orchestration Engine** | `lib/orchestration/` | LangGraph state machine coordination |
| **Playback Engine** | `lib/playback/` | Classroom state machine and live interaction |
| **Action Engine** | `lib/action/` | Implementation of 28+ action types (speech, whiteboard, effects) |
| **UI Components** | `components/`, `app/` | React workbench and slide editor |

These directories contain the primary intellectual property released under the permissive MIT terms.

## How to Verify the OpenMAIC License Programmatically

For CI/CD pipelines or automated compliance checking, you can programmatically validate the license using Node.js:

```javascript
import { readFileSync } from 'fs';
import path from 'path';

// Resolve the LICENSE file relative to the project root
const licensePath = path.resolve(process.cwd(), 'LICENSE');
const licenseText = readFileSync(licensePath, 'utf8');

// Simple sanity check: confirm the MIT header is present
if (licenseText.includes('MIT License')) {
  console.log('✅ OpenMAIC is MIT-licensed');
} else {
  console.warn('⚠️ License header not found');
}

```

This script reads the `LICENSE` file at runtime and verifies the presence of the MIT header, ensuring your deployment contains the expected legal terms.

## SPDX License Identifiers for Contributors

When contributing new source files to the repository, include the SPDX identifier to maintain license clarity:

```typescript
// SPDX-License-Identifier: MIT
// © 2026 THU-MAIC

export function helloWorld() {
  console.log('Hello, OpenMAIC!');
}

```

The `SPDX-License-Identifier: MIT` comment enables automated license scanning tools to catalogue the file correctly without parsing the full license text.

## Summary

- OpenMAIC is released under the **MIT License**, found in the `LICENSE` file and declared in [`package.json`](https://github.com/THU-MAIC/OpenMAIC/blob/main/package.json).
- The core codebase—including orchestration, generation, storage, and UI modules—is fully MIT-licensed for commercial and private use.
- Third-party packages in `packages/mathml2omml` (LGPL-3.0-or-later) and `packages/pptxgenjs` (MIT) retain their original licenses.
- You can verify the license programmatically by checking for "MIT License" in the root `LICENSE` file.
- Contributors should add `SPDX-License-Identifier: MIT` headers to new files for automated compliance tracking.

## Frequently Asked Questions

### What license is OpenMAIC released under?

OpenMAIC is released under the MIT License. This permissive license allows you to use, copy, modify, merge, publish, distribute, sublicense, and sell copies of the software, provided the copyright notice and permission notice are included in all copies.

### Can I use OpenMAIC for commercial projects?

Yes. The MIT License explicitly permits commercial use without restriction. You can integrate the `lib/orchestration/` LangGraph state machine, `@openmaic/generation` pipeline, or React components into proprietary products without releasing your source code, provided you include the original MIT license notice for the OpenMAIC portions.

### Are there any licensing restrictions on third-party packages in OpenMAIC?

Yes. While the core codebase is MIT-licensed, the `packages/mathml2omml` directory is under LGPL-3.0-or-later, which requires you to provide source code if you modify and redistribute that specific package. The `packages/pptxgenjs` package is also MIT-licensed. Always verify the `LICENSE` file within each subdirectory before redistribution.

### How do I check the OpenMAIC license in my local installation?

Navigate to the root directory of your cloned repository and open the `LICENSE` file, or run `cat LICENSE | grep "MIT License"` in your terminal. For automated verification in build pipelines, use the Node.js script provided above to programmatically confirm the MIT header exists in the license text.