Skip to content

Clarify licensing of generated code: GPL-3.0 runtime/spectral.h is compiled into downstream consumers' materials #145

Description

@petlenz

From the 2026-08-02 full-repo review (finding F-19). Flagging for a deliberate decision / specialist review — no legal conclusion implied.

Mechanism (verified): generated spectral materials emit #include <numsim_codegen/runtime/spectral.h> (e.g. HenckyCheck.h:6 in the build tree) — a GPL-3.0 header compiled into the consumer's binary. Emitted boilerplate text also originates from GPL-licensed emitter sources. There is currently no statement anywhere about the license status of generated output.

Why it matters for adoption: MOOSE is LGPL; Abaqus/ANSYS/CalculiX user-subroutine environments are typically proprietary. If generated materials (and the runtime header they include) are GPL, downstream users' applications are plausibly pulled in — a hard blocker for most external consumers, and ambiguity alone deters adoption.

Options to consider:

  1. Explicit output exception (GCC-runtime-library-exception pattern) covering runtime/ and emitted text;
  2. Dual/permissive license for runtime/spectral.h + emission templates only;
  3. Deliberate decision that GPL reach-through is intended (matching the numsim-cas stack), documented in the README so expectations are clear.

Metadata

Metadata

Assignees

No one assigned

    Labels

    questionFurther information is requested

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions