Skip to content

chore: add a root LICENSE, and relicense genkit_flutter_gemma to MIT - #503

Merged
DenisovAV merged 1 commit into
mainfrom
chore/licence-hygiene
Sep 10, 2026
Merged

chore: add a root LICENSE, and relicense genkit_flutter_gemma to MIT#503
DenisovAV merged 1 commit into
mainfrom
chore/licence-hygiene

Conversation

@DenisovAV

Copy link
Copy Markdown
Owner

Two licensing gaps, found while checking why the site footer says MIT.

No LICENSE at the repository root

Licence files exist only inside each packages/*/. GitHub therefore reports the repository's licence as null:

$ gh api repos/DenisovAV/flutter_gemma --jq '.license.spdx_id'
null

So the repo page shows no licence badge, and automated scanners — including the corporate ones used to vet dependencies — read the project as "no licence stated". For a package people pull into production that is the signal that makes a legal review say no.

pub.dev was never affected: it reads the file from inside each published archive, and every package has one.

Added a root LICENSE with the same MIT text the packages use.

genkit_flutter_gemma was BSD-3-Clause

Eleven packages are MIT; this one was not. Verified against the published archives, not the pub.dev page:

genkit_flutter_gemma  v0.6.0   BSD 3-Clause
genkit_hybrid         v0.2.1   MIT License
flutter_gemma         v1.8.0   MIT

It arrived that way with the import in #331genkit_hybrid came in the same commit and is MIT — so this reads as drift rather than a decision. Its copyright line names Flutter Berlin / Sasha Denisov, not Google, so it is not a leftover from a Genkit template either.

Relicensed to MIT, keeping its own copyright line. MIT is strictly more permissive than BSD-3-Clause (it drops the no-endorsement clause), so nobody already using the package loses a right. Versions already on pub.dev stay BSD-3-Clause; MIT applies from 0.6.1, which this PR bumps — LICENSE ships inside the archive, so without a release the change reaches nobody.

Pins deliberately untouched

^0.6.0 already admits 0.6.1, and the codelabs under codelabs/ carry real pubspec.yaml files. Naming ^0.6.1 there before it is published would break resolution for anyone following the tutorial — the same trap as a satellite floor naming an unpublished core.

Noted, not changed

  • Copyright years differ across packages (2024 / 2025 / 2026) — that is the year each was first published, so rewriting them would be wrong.
  • flutter_gemma_onnx and genkit_hybrid differ from the canonical text only by a trailing newline and an MIT License header line.

Two licensing gaps, found while checking why the site footer says MIT.

There is no LICENSE at the repository root — only inside each
`packages/*/`. GitHub therefore reports the repository's licence as
`null`, so the repo page carries no licence badge and any automated
scanner reads the project as "no licence stated". For a package people
pull into production that is the signal that makes a legal review say
no. pub.dev was never affected: it reads the file from inside each
published archive.

`genkit_flutter_gemma` was BSD-3-Clause while the other eleven packages
are MIT. It arrived that way with the import in #331 — `genkit_hybrid`
came in the same commit and is MIT, so this looks like drift rather than
a decision. Relicensed to MIT, keeping its own copyright line. MIT is
strictly more permissive than BSD-3-Clause (it drops the no-endorsement
clause), so nobody already using the package loses a right; versions
already on pub.dev stay BSD-3-Clause, and MIT applies from 0.6.1.

Version pins are deliberately untouched. `^0.6.0` already admits 0.6.1,
and the codelabs under `codelabs/` carry real `pubspec.yaml` files —
naming `^0.6.1` there before it is published would break resolution for
anyone following the tutorial.

Not changed, worth knowing: the copyright years differ across packages
(2024 / 2025 / 2026), which is the year each was first published, and
two files differ from the canonical text only by a trailing newline.
@DenisovAV
DenisovAV merged commit 75f7e3d into main Sep 10, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant