Skip to content

Provide specification for annotating LLM-produced and LLM-assisted #127

Description

@yarikoptic

Prior (but largely predating the current wave of LLM-generated code) related discussion I found is

There are recent moves to at large ban AI-generated projects from some hosting portals (e.g. see Codeberg's July 2026 ToU update) and attempts of downstream projects to avoid using LLM-altered core toolchains (e.g. see @joeyh "no llm code").

This also aligns with the Software Freedom Conservancy's June 2026 recommendations on LLM-backed generative AI, whose Rec. 5 calls for AI-assistance provenance to be "included in a machine-readable format in commit logs" but leaves the schema open, pending community convergence.

So IMHO it becomes important to explicitly annotate AI produced content within the REUSE framework.

There is already a SPDX-FileContributor and SPDX-FileComment "to credit additional contributors", but I feel that we currently need a dedicated "LLM" annotation where we start potentially mixing in original copyrightable human expression and then potentially a cocktail of derived content from other copyrighted materials used during training.

And there I also feel worthy to distinguish

generated-by-ai: (e.g. by claude code doing most of code writing) vs assisted-by-ai: where "completion" style assist is provided and likely copyrightable expression is more with the current "human author".

SPDX 3.0 already ships an AI Profile (April 2024), but its scope is AI systems as artifacts (models, training data, energy) — not "this source file was drafted with AI assistance." So it is complementary, not overlapping, and REUSE would not be pre-empting SPDX by recommending a file-level convention now. Commit-level conventions (Co-Authored-By:, the emerging Assisted-by: trailer) describe the event of a commit; they don't survive as artifact-level metadata after squash/rebase or when a package is redistributed without git history (and I recall that forgejo might be dropping adding those by default into merge commits). That is the gap a file-level convention would fill.

So, if not a separate new field, could/should there be recommendation to e.g. use those with explicit annotation like

   SPDX-FileContributor: generated-by-ai: <tool> <tool-version> / <model> <model-version>
   SPDX-FileContributor: assisted-by-ai: <tool> <tool-version> / <model> <model-version>

? Then, potentially reuse-tool could "channel" that metadata from commit messages into file headers or REUSE.toml.

For now, it could be just a recommended convention in the docs/FAQ (not a spec change) that authors may use SPDX-FileContributor: with a generated-by-ai: / assisted-by-ai: prefix, pending eventual SPDX standardization if you feel that it should fall under SPDX agenda more than under REUSE. WDYT?

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions