Skip to content

Repository files navigation

The OpenLBM Standard

A licensing standard for vertical-industry software commons — fair source, not OSI.

OpenLBM is not a single license. It is one standard, one shared Definitions Core, and six named Profiles, applied per component (per directory or per repository) rather than per project. A component's location tells you which license governs it; an SPDX identifier on every file makes that machine-readable.

This repository is the canonical, authoritative home of the Standard: the six license texts, the normative Definitions & Eligibility core, the Gable Charter, the design rationale, and copy-paste templates for adopting it in your own repo.

Version 1.0 — effective. See VERSION and CHANGELOG.md.


Fair source, not open source — stated plainly

The OpenLBM Commons License conditions one of its obligations on who you are (organization size), and excludes one field of use (building a competing vertical product). Both are deliberate. Both put the Standard outside the OSI Open Source Definition.

We say so in the license text itself (Commons §9, "NO OSI CLAIM") rather than implying otherwise. What you get in exchange:

  • An independent dealer runs, modifies, and privately deploys the commons free, forever, with no obligation to publish anything.
  • A consolidator cannot take-and-privatize at scale — it contributes back or licenses commercially.
  • A legacy ERP vendor cannot strip-mine the commons into a competing product.
  • Everything gated trends open on a timer, and opens early if the project is abandoned (the continuity clause). It cannot be rug-pulled.

If you need an OSI-approved license, OpenLBM is not it, and we would rather you learn that from this paragraph than from your counsel three months in.


The six Profiles

Each Profile is a named composition of grant and condition modules over the shared Definitions Core. Full texts are in LICENSES/.

Profile SPDX identifier Covers Distinctive term
OpenLBM Commons 1.0 LicenseRef-OpenLBM-Commons-1.0 Core suite, add-ons, open interfaces, pure-commons satellites Size-conditioned reciprocity — a Large Operator owes Corresponding Source to the Steward even for purely internal production use
OpenLBM Surface 1.0 LicenseRef-OpenLBM-Surface-1.0 Surfaces and native client apps (ERP desktop, POS, driver, yard) Reciprocity on distribution only — customize your own UI privately
OpenLBM Connector 1.0 LicenseRef-OpenLBM-Connector-1.0 Module SDK, generated API clients — the plug-in seam Maximally permissive, no copyleft. The neutral boundary
OpenLBM Community-Source 1.0 LicenseRef-OpenLBM-Community-Source-1.0 Community satellites (e.g. AI_LM) Free for Community Members immediately; fee for Large Operators; converts to AGPL-3.0-only after 5 years
OpenLBM Docs 1.0 LicenseRef-OpenLBM-Docs-1.0 Documentation, specs, guides, this Standard's prose Attribution + share-alike
OpenLBM Trademark 1.0 LicenseRef-OpenLBM-Trademark The Gable / GableLBM / AI_LM / OpenLBM marks Not a code license. A brand-use policy

Every Profile carries a normative Deed — a plain-language summary at the top that is part of the license, so a reviewer can clear it in a minute and then read the binding detail below it.

Why the Connector matters

The Connector Profile is what makes the rest safe to combine. Because the SDK seam is Apache-style permissive with no copyleft, a proprietary product, a community-source satellite, and the copyleft commons can all interoperate across it without any license crossing the boundary. If you are integrating with an OpenLBM commons, you integrate over the Connector and your own licensing is your own business.


The three eligibility gates

The canonical definitions live in definitions.md. This is the summary; where this table and definitions.md disagree, definitions.md governs.

Eligibility is decided by three independent gates, not one. Collapsing them into a single "member vs. everyone else" test is the mistake this design exists to correct.

Gate Question Keyed on Consequence
Size Small independent, or a consolidator? Locations + affiliated-group revenue An Independent Operator (< 50 Locations, not $1B+-controlled) uses the commons free and keeps private modifications private. A Large Operator owes reciprocity to the Steward and pays for community-source satellites.
Field of use An industry business, or a competing software vendor? What you do with it Competing Use — building or enhancing a rival vertical ERP/POS/ops platform — is outside the grant for everyone, regardless of size, and needs a separate written license the Steward may decline.
Participation An active member of the Gable community? Opt-in engagement Community Member determines advisory-panel seats, micro-JV eligibility, and contributor incentives. It is a governance term, not the grant.

The consequence people miss: a small dealer who has never spoken to the community is an Independent Operator and gets the software free. Free use does not require participation. Those are different questions with different answers.


Applying the Standard to your own repository

Adopting OpenLBM is four artifacts. Two of them are in this repo as templates you can copy directly.

1. Vendor the license texts. Copy the Profiles you actually use from LICENSES/ into a LICENSES/ directory at your repo root, keeping the filenames exactly as they are — the filename must match the SPDX identifier for REUSE tooling to resolve it.

2. Write a LICENSE-MAP.md. The human-readable index of which path prefix is governed by which Profile. Start from LICENSE-MAP-TEMPLATE.md.

3. Write a REUSE.toml. The same mapping in machine-readable REUSE 3.x form. Start from REUSE.toml.example. Order matters — when a path matches more than one [[annotations]] block, the last match wins, so narrower carve-outs must come after the broad defaults.

4. Put an SPDX header on every file.

// SPDX-License-Identifier: LicenseRef-OpenLBM-Commons-1.0
// SPDX-FileCopyrightText: 2026 Your Organization and OpenLBM contributors

Then verify with the REUSE tool:

pip install reuse
reuse lint

A green reuse lint means every file in your tree resolves to a named license. Run it in CI.

Worked reference implementation

The gable repository is a full worked example of the layout above — a single repo carrying four different Profiles across backend/internal/ (Commons), backend/pkg/apps/ (Connector), app/ (Surface), and docs/ (Docs), with a carve-out demonstrating last-match-wins precedence:

https://github.com/FutureBuildAIinc/gable


What's in this repository

Path What it is
LICENSES/ The six authoritative license texts. These are the operative instruments.
definitions.md The normative Definitions & Eligibility core that every Profile incorporates by reference.
CHARTER.md The Gable Charter — the governance instrument, including §8 FutureBuild Reserved Rights.
LICENSE-MAP-TEMPLATE.md Copy-paste starting point for an adopter's license map.
REUSE.toml.example Copy-paste starting point for an adopter's machine-readable mapping.
design/ Why the Standard is shaped this way — the greenfield design rationale, the master overview, the entity/economics model, and the component-to-license outline.
VERSION · CHANGELOG.md Standard version and its revision history.
CONTRIBUTING.md How to propose a change to the Standard.

Where the Definitions Core lives

Every Profile opens by incorporating the OpenLBM Definitions Core v1.0 by reference. That core is definitions.md in this repository. It is normative: the license texts do not restate the definitions, they point at this file. If you are evaluating an OpenLBM-licensed component, read definitions.md first — every operative term in every Profile resolves there.


Governance

The Standard's framework IP is owned by FutureBuild, Inc. The LBM commons it governs is held by the Gable Steward, a purpose-locked vehicle that cannot be sold, captured, or extracted, with a Community Advisory Panel holding a hard veto over a narrow, load-bearing set of decisions — including the license terms themselves and the size thresholds.

Two locks make that symmetric and safe for both sides to invest behind:

  • §2 steward-ownership lock — FutureBuild can never capture or sell the commons.
  • §8 FutureBuild Reserved Rights — the community can never extract FutureBuild's contribution or lock it out. Non-amendable, expressly outside the Panel's authority.

Read CHARTER.md in full before forming a view on whether the "commons" here is real. It is designed to be judged on that question.


Versioning and revisions

The Standard is versioned. VERSION names the current release; CHANGELOG.md records what changed and when. We may publish revisions — clarifications, corrections, and new Profiles — as new versions of the Standard.

A published version is stable for the material licensed under it. Material licensed under LicenseRef-OpenLBM-Commons-1.0 stays governed by the 1.0 text; a later revision does not retroactively change the terms you accepted. Adopting a new version is an explicit act — you change the SPDX identifiers in your tree.

Changes to the OpenLBM license terms as applied to the Gable commons are subject to the Community Advisory Panel's veto (CHARTER.md §4.1).


Contributing

Proposals to change the Standard are welcome and are handled deliberately — license text is not a place for drive-by edits. See CONTRIBUTING.md for how to open a proposal, what a good one contains, and which changes require Panel ratification.

If you use Claude Code or another agent to work in this repository, read CONTRIBUTING-WITH-CLAUDE.md as well.

Please also read our Code of Conduct. To report a security or integrity problem with the Standard or this repository, follow SECURITY.md — do not open a public issue.


Licensing of this repository

The prose in this repository — this README, the definitions, the charter, the design notes, the templates — is licensed under OpenLBM Docs 1.0 (LicenseRef-OpenLBM-Docs-1.0). See LICENSE and REUSE.toml.

The license texts in LICENSES/ are the instruments themselves, not content licensed under the Docs Profile. Reproduce them verbatim and unmodified. You may reference and apply them; you may not publish a modified text under the OpenLBM name (see LICENSES/LicenseRef-OpenLBM-Trademark.txt).

Not legal advice. This repository publishes license instruments; it does not advise you on them. Have your own counsel review any license before you rely on it.

About

The OpenLBM Standard — licenses, LICENSE-MAP, charter

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors