Olmocr License: Apache 2.0 Terms and Usage Rights Explained
The olmocr codebase is released under the Apache License 2.0, a permissive open-source license that allows commercial use, modification, and redistribution provided you retain the original copyright notice and include a copy of the license text.
The olmocr repository by Allen AI provides a modular OCR pipeline framework designed for large-scale scientific document processing. Understanding the specific olmocr licensing terms ensures you remain compliant when integrating this toolkit into production workflows, research projects, or derivative applications.
Apache License 2.0 Permissions and Requirements
The LICENSE file located at the repository root contains the full Apache License, Version 2.0 text. This permissive license framework grants you specific rights while imposing minimal restrictions.
What You Can Do
Under the Apache 2.0 license governing olmocr, you are permitted to:
- Use the software for any purpose, including commercial applications
- Modify the source code and create derivative works
- Redistribute the original or modified versions
- Sublicense the code under different terms
Attribution Requirements
When distributing olmocr or derivative works, you must:
- Include a copy of the Apache License 2.0
- Preserve copyright notices found in the original source files
- State any significant changes made to the codebase
Repository Structure and Licensed Components
The olmocr license applies to all source files in the repository, including the pipeline orchestration, training modules, and utility functions.
Core Pipeline Components
The main orchestration logic resides in olmocr/pipeline.py, which defines the end-to-end flow from raw PDF loading through OCR processing to output generation. This file, like all others in the repository, falls under the Apache 2.0 license terms.
Data and Training Modules
Training and data preparation utilities are located in:
olmocr/data/prepare_olmocrmix.py– Training data preparation helpersolmocr/data/renderpdf.py– PDF rendering utilitiesolmocr/train/train.py– Primary training entry pointolmocr/train/grpo_train.py– GRPO training implementation
Evaluation and Post-Processing
Benchmark and filtering components include:
olmocr/bench/table_parsing.py– Table parsing benchmark utilitiesolmocr/bench/report.py– Evaluation report generationolmocr/filter/filter.py– Noise filtering and output cleanupolmocr/filter/coherency.py– Coherency checking algorithms
Supporting Utilities
Additional licensed files include olmocr/s3_utils.py for Amazon S3 operations and olmocr/version.py for version metadata management.
Practical Code Examples
The following examples demonstrate typical usage patterns of the licensed codebase.
Check Library Version
from olmocr.version import __version__
print(f"OLM-OCR version: {__version__}")
Run OCR Pipeline
from olmocr.pipeline import run_pipeline
result = run_pipeline(pdf_path="sample.pdf", output_dir="out")
print("Extracted text:", result["text"][:200])
Build Training Batch
from olmocr.data.build_openai_batch_from_olmocrmix import build_batch
batch = build_batch(
pdf_dir="data/pdfs",
model="gpt-4o-mini",
max_tokens=2048,
)
print(f"Created batch with {len(batch)} entries")
Evaluate OCR Accuracy
from olmocr.bench.report import generate_report
report = generate_report(
predictions_dir="preds",
ground_truth_dir="gt",
metrics=["rouge", "wer", "bleu"],
)
print(report.summary())
Summary
- Olmocr uses Apache License 2.0, a permissive open-source license found in the repository's
LICENSEfile - Commercial use is permitted without requiring payment or additional permissions
- Modification and redistribution allowed provided you include the license and copyright notices
- All source files are covered, including pipeline, training, bench, and filter modules
- Patent rights are explicitly granted to users by contributors
Frequently Asked Questions
Is olmocr free for commercial use?
Yes. The Apache License 2.0 explicitly permits commercial use, including integrating olmocr into proprietary applications or using it to process documents for commercial purposes. You do not need to pay royalties or obtain additional permissions from Allen AI.
Do I need to open-source my modifications to olmocr?
No. Unlike copyleft licenses, Apache 2.0 does not require you to distribute your modifications or derivative works under the same license. You can modify the code for private use or distribute your changes under different terms, provided you include the original Apache license and copyright notices.
Where can I find the complete license text?
The full Apache License 2.0 text is located in the LICENSE file at the repository root. This file contains the exact legal wording and copyright attribution required for compliance. You should include this file verbatim when redistributing the olmocr source code.
Does the olmocr license cover pre-trained model weights?
The license analysis applies to the codebase in the Allen AI repository. While the Apache 2.0 license typically covers code and documentation, you should verify the specific licensing terms for any pre-trained model weights or datasets separately, as these may have different usage restrictions.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →