Bayanat Labs Dataset Licence Compatibility Checker
Can these datasets be merged? Can a commercial model be trained on them? Which licence can the release carry? The checker answers from the licence texts themselves. Give it your sources, each with its licence or terms, and one of 4 intended uses (internal training, commercial model training, redistributing copies or publishing derived annotations), and it returns a verdict for each source and for the mix (allowed, allowed with obligations, unknown or not allowed), the obligations that follow, the licences a release can use, a split plan when sources conflict, and attribution lines. Each step cites the clause it rests on, with a short quotation and the date the text was retrieved. The rules cover 33 licences and terms, from Creative Commons, Open Data Commons and CDLA licences to government open data terms, research-only agreements and model-output terms, and the same rules run in a web app, a Python library, a command-line tool and a GitHub Action. Information, not legal advice.
| Licence | Apache-2.0 (code and web app); CC BY 4.0 (rules, test cases, schemas and documentation); quotations from licences and terms stay under their owners' terms |
|---|---|
| Version | v0.1.0 · Code, rules and web app v0.1.0, tagged on GitHub. Not on PyPI yet. |
| Published | |
| Updated | |
| Who it is for | Teams that assemble training or evaluation data from several sources and need to know, before release, what each licence allows, what it requires and which licence the result can carry. |
| Level | Beginner |
Key numbers
Counted by script from the released files. Each key number is counted from the compiled rules file (kb.json) in the GitHub repository at tag v0.1.0 and pinned to its SHA-256; every result the checker returns carries the same SHA-256.
Downloads and identifiers
| Where | What |
|---|---|
| Hugging Face | Open the checker |
| bayanatlabs.com | Python, command line and GitHub Action |
| GitHub | Code, rules and test cases on GitHub |
| GitHub | How verdicts are computed |
Get started
Install from GitHub at the v0.1.0 tag; pip install bayanatlabs-license-check will work once it is published on PyPI. The web app needs no install.
pip install "git+https://github.com/Bayanat-Labs/license-check@v0.1.0"
bl-license check --source "Encyclopedia=CC-BY-SA-4.0" --source "Map=ODbL-1.0" \
--use redistribute-annotations --mode merged --format markdown
bl-license check sources.json --out result.json --fail-on not_allowed,unknown
What is released
| Part | Licence | In this release |
|---|---|---|
| Rules engine, Python library, command line and GitHub Action | Apache-2.0 | Yes |
| Rules (rules version 2026.10.19), verdict test cases, JSON Schemas and documentation | CC BY 4.0 | Yes |
| Web app on Hugging Face Spaces, in English and Arabic | Apache-2.0 | Yes |
| Short quotations from licences, terms and FAQs | Each quotation stays under its owner's terms and names its source and retrieval date | Yes |
| IBM Plex Sans Arabic font in the web app, unmodified (SIL Open Font License 1.1) | SIL Open Font License, copyright IBM Corp. | Yes |
Attribution: license-check (Dataset Licence Compatibility Checker) by Bayanat Labs. https://github.com/Bayanat-Labs/license-check
Intended uses
- Check, before a release, whether the sources of a dataset can be merged, trained on or redistributed, and record the obligations that follow.
- Choose a licence for a derived dataset from the options every source allows, or split the release when sources conflict.
- Stop a dataset release in continuous integration when a source is not allowed or unknown, with the report in the job summary.
Out of scope
- Legal clearance: verdicts are information, not legal advice.
- Questions that turn on legal exceptions such as fair use or text and data mining exceptions, on contracts you have signed or on the law of a particular country: the rules do not consider them.
Rights at a glance
Training, display, redistribution and synthetic-voice use are separate permissions.
| Use | Status | Note |
|---|---|---|
| Training | Not applicable | A rules engine and test cases, not training data. The rules and test cases are CC BY 4.0 if you reuse them. |
| Display | Allowed | Rules, test cases and documentation under CC BY 4.0, with attribution; quotations keep their owners' terms. |
| Redistribution | Allowed | Code under Apache-2.0; rules, test cases and documentation under CC BY 4.0; the bundled font under the SIL Open Font License. |
| Synthetic voice | Not applicable | No audio. |
Limitations
- The rules record what the cited licence texts say; whether a trained model is itself an adaptation of its data is outside them.
- The Saudi Open Data License is listed but not yet assessed, because its official text was not reachable for this version; it returns unknown.
- Licences and terms change: each quotation carries its retrieval date, and model-output terms carry the date of the version encoded.
- Install from GitHub for now; the package is not on PyPI yet.
Sources and licences
The rules, verdict test cases and documentation are written by Bayanat Labs from the licence texts listed here. Each rule cites the clause it rests on with a short quotation, the page URL and the retrieval date; no licence text is reproduced in full except the licences of the release itself. Source details
How to cite
Cite as:
Bayanat Labs (2026). Dataset Licence Compatibility Checker (license-check), version 0.1.0, rules version 2026.10.19. Bayanat Labs. https://github.com/Bayanat-Labs/license-check
No DOI. Cite the URL in the citation above and the date you read it.
@misc{bayanatlabs2026licensecheck,
author = {{Bayanat Labs}},
title = {Dataset Licence Compatibility Checker (license-check), version 0.1.0, rules version 2026.10.19},
year = {2026},
month = oct,
howpublished = {\url{https://github.com/Bayanat-Labs/license-check}}
}
Changelog
| Date | Version | Change |
|---|---|---|
| v0.1.0 | Rules engine, Python library, command line, GitHub Action, rules and verdict test cases on GitHub; the web app in English and Arabic on Hugging Face Spaces. |
Corrections and removal requests
If something in this release should not be there, or is wrong, email hello@bayanatlabs.com. We handle removal requests within 30 days, and platform requests within 24 hours. How removal requests work
Related product: Bayanat Knowledge