Skip to content

8 Project History and Licensing

Raul Cardenas Montoya edited this page Sep 19, 2026 · 1 revision

Project History and Licensing

Relevant source files

The following files were used as context for generating this wiki page:

This parent page provides a high-level overview of the release history, terminology migrations, and licensing model for corpus-ipc. For comprehensive details, migration guides, and license texts, please refer to the child pages:


8.1 Naming History and Completed Renames

To serve as a core infrastructure layer bridging Rust services like thalamic-relay and brainstem-daemon to external compute engines, the codebase underwent a generalized IPC terminology migration CHANGELOG.md:30-31, CHANGELOG.md:78-86. This transition standardized public backend traits, message envelopes, snapshots, and environment variables across the API surface.

For complete details on completed renames (such as RuntimeBackend becoming IpcBackend, RuntimeMessage becoming IpcMessage, and environment variable updates like CORPUS_IPC_BACKEND_TYPE), see Naming History and Completed Renames.

Diagram: Evolution of Terminology to Code Entities

graph TD
    subgraph "NaturalLanguageSpace"
        LN1["Runtime Backend"]
        LN2["Runtime Message"]
        LN3["ZMQ Runtime Backend"]
    end

    subgraph "CodeEntitySpace"
        CE1["IpcBackend"]
        CE2["IpcMessage"]
        CE3["ZmqIpcBackend"]
    end

    LN1 --> CE1
    LN2 --> CE2
    LN3 --> CE3
Loading

Sources: CHANGELOG.md:43-48, CHANGELOG.md:78-88


8.2 Licensing

To support broader adoptability as foundational IPC infrastructure, the project transitioned its licensing model from GPL-3.0-or-later to a permissive dual-license structure CHANGELOG.md:77. Source files incorporate SPDX identifiers (SPDX-License-Identifier: MIT OR Apache-2.0) CHANGELOG.md:1, allowing downstream users to choose between the MIT license LICENSE-MIT:1-21 and the Apache License 2.0 LICENSE-APACHE-2.0:1-125.

For detailed licensing terms, SPDX header requirements, and downstream usage implications, see Licensing.

Diagram: Dual Licensing Structure

graph TD
    subgraph "NaturalLanguageSpace"
        L1["MIT License Choice"]
        L2["Apache 2.0 License Choice"]
    end

    subgraph "CodeEntitySpace"
        CS1["LICENSE-MIT"]
        CS2["LICENSE-APACHE-2.0"]
        CS3["IpcBackend"]
    end

    L1 --> CS1
    L2 --> CS2
    CS1 -.-> CS3
    CS2 -.-> CS3
Loading

Sources: CHANGELOG.md:1, CHANGELOG.md:77, LICENSE-MIT:1-21, LICENSE-APACHE-2.0:1-125

Clone this wiki locally