Skip to content

License: the PineForge Source License 1.0 (pineforge, LLC); investment management is commercial for every organization - #168

Merged
luisleo526 merged 3 commits into
mainfrom
licmove/docs-contact
Oct 4, 2026
Merged

luisleo526 merged 3 commits into
mainfrom
licmove/docs-contact

Conversation

@luisleo526

@luisleo526 luisleo526 commented Oct 4, 2026 •

Copy link
Copy Markdown
Contributor

Replaces the LICENSE with one license, the PineForge Source License 1.0, and names pineforge, LLC as licensor.

Why

  • The owner ruled that fund management is not free for anyone.
  • Charities, schools, public research organizations and government institutions stay free for teaching, research and their other operations.
  • Investment Management is Commercial Use for every individual and every organization, except Personal Trading. It covers managing, advising on or trading investment capital, researching strategies for it, or operating the software for others who do. Examples are an endowment, a pension or public fund, a foundation's treasury, clients' capital, and a friend's money.
  • This narrows the PolyForm Noncommercial base. PolyForm's terms require a changed license to drop the name: "If you make changes to a PolyForm license, you must remove all mention of "PolyForm" and polyformproject.org, as well." So this is a separate license with its own name. It mentions PolyForm nowhere.

LICENSE (PineForge Source License 1.0)

  • Grants: copyright, distribution (for any purpose), changes and new works, and patent licenses, for the permitted purposes.
  • Permitted purposes: noncommercial purposes, personal uses, noncommercial organizations' teaching, research and other operations, and Personal Trading. Investment Management is never a permitted purpose except as Personal Trading.
  • Personal Trading (unchanged):
    • It covers any of research, development, backtesting and execution, solely for trades for one's own account with one's own capital.
    • Household, joint and retirement accounts and revocable trusts count as one's own account.
    • Household capital, ordinary margin and money received outright count as one's own capital.
    • Own-name trading is free even when it is a livelihood, and so is publishing or teaching about one's own trading, as long as no Output is given to others.
    • A company's or other organization's account is not personal, even when wholly owned, and neither is capital from an employer, a prop firm or a funded-trader program.
  • Commercial Use: any use that is not a permitted purpose, other than distribution.
    • Investment Management is Commercial Use for everyone except as Personal Trading.
    • Uses (1) to (4) are unchanged: others' capital; use by or for an organization; embedding the software or its Output in a product; a hosted or public-facing service.
    • The commercial-license contact is enterprise@pineforge.dev.
  • Output is code the software generates and programs built from it. Backtest results, charts, reports and signals are not Output.
  • Unchanged clauses: Notices, Fair Use, No Other Rights, Patent Defense, Violations (32-day cure), No Liability and Definitions.

Other files

  • README (badge and License section), LEGAL.md, AGENTS.md and CLAUDE.md name the new license.
  • LEGAL.md notes that releases up to 1.1.0 keep the license they shipped with.
  • pyproject: the comment names the new license; the classifier is License :: Other/Proprietary License.
  • npm: "license": "SEE LICENSE IN LICENSE". scripts/build-npm-package.mjs now copies LICENSE into the package, and the files list includes it.
  • The first commit moves the README and LEGAL.md commercial contact to enterprise@pineforge.dev.

No change to the transpiler or the C++ it emits. Rebased onto main 521a6e9 (#166, #167) with no conflicts; the change set and the LICENSE blob are unchanged. pr-gate: PASS (no-improve-no-regression) for this head with engine main f3bf9f07, 7989 probes, no tier changed.

🤖 Generated with Claude Code

@luisleo526 luisleo526 changed the title License: pineforge, LLC; an additive Personal Trading permission and one Commercial Use definition License: the PineForge Source License 1.0 (pineforge, LLC); investment management is commercial for every organization Oct 4, 2026
luisleo526 and others added 3 commits October 4, 2026 21:07
…ense store is coming soon

The README's "Buying a commercial license" section and LEGAL.md's commercial
use bullet named luis@4pass.com.tw. Both now give enterprise@pineforge.dev
and say the commercial-license store is coming soon. The LICENSE text is
untouched (it keeps its own contact line).

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
… Commercial Use definition

The supplement to the PolyForm Noncommercial License 1.0.0 now only adds to
the base license. It no longer "modifies" the base license or "controls" over
it, and it says that it reduces, limits or conditions no license or permission
of the base license. The PolyForm text below the separator is unchanged, so
the PolyForm name stays, and noncommercial organizations and noncommercial
purposes stay free.

- Licensor and copyright holder: pineforge, LLC (header, Required Notice,
  LEGAL.md, CONTRIBUTING.md).
- Commercial Use has one standalone definition: any use that neither the base
  license nor the Personal Trading permission permits. Uses (1) to (4) are its
  examples unless one of those permits the use. Output is defined (generated
  code and programs built from it; not backtest results, charts, reports or
  signals). Item (3) covers generating Output for a product, and item (4)
  reads "through which others can run the software or receive its Output".
- Personal Trading covers any of research, development, backtesting and
  execution, solely for trades placed for the person's own account and funded
  by their own capital. Household, joint and retirement accounts and revocable
  trusts count as the person's own account; household capital, ordinary margin
  and money received outright count as their own capital. Trading in one's own
  name stays free even as a livelihood, and so does publishing or teaching
  about one's own trading, even for pay, without giving Output to others. An
  account of a company or other organization is not the person's own account,
  even if they wholly own it, and capital an employer, prop firm or
  funded-trader program provides is not their own capital.
- The LICENSE's commercial-license contact is enterprise@pineforge.dev.
- README and LEGAL.md describe the new structure.

No code changes.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…ommercial for every organization

The owner ruled that fund management is not free for anyone. Charities,
schools, public research bodies and government institutions stay free for
teaching, research and their other operations, but every individual and every
organization needs a commercial license for Investment Management. That
covers managing, advising on or trading investment capital, researching
strategies for it, or operating the software for others who do. Examples are
endowments, pension and public funds, a foundation's treasury, and a friend's
money. Personal Trading stays free.

That narrows the PolyForm Noncommercial base, so the LICENSE is now one text,
the PineForge Source License 1.0. It keeps the grant structure, Personal
Trading, uses (1) to (4) and Output as they were, and mentions PolyForm
nowhere. PolyForm's terms require that of a changed license: "If you make
changes to a PolyForm license, you must remove all mention of "PolyForm" and
polyformproject.org, as well."

- README, LEGAL.md, AGENTS.md and CLAUDE.md name the new license. LEGAL.md
  notes that releases up to 1.1.0 keep the license they shipped with.
- The pyproject comment names the new license; the classifier is "License ::
  Other/Proprietary License".
- npm/package.json: "license": "SEE LICENSE IN LICENSE". The npm build now
  copies LICENSE into the package, and the files list includes it.

No change to the transpiler or the C++ it emits.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@luisleo526
luisleo526 force-pushed the licmove/docs-contact branch from 3e0fd92 to 2efb953 Compare October 4, 2026 13:31
@luisleo526
luisleo526 merged commit 285ac03 into main Oct 4, 2026
9 checks passed
@luisleo526
luisleo526 deleted the licmove/docs-contact branch October 5, 2026 01:26
luisleo526 added a commit that referenced this pull request Oct 5, 2026
* docs: changelog and version scoping for 1.2.0

1.2.0 pairs with engine v1.2.0, whose pineforge.h defines
PF_CAPABILITIES_API_VERSION and declares the two capability functions
(engine #332) that the C++ of codegen 1.2.0 defines (#167). The changelog
section takes in the Unreleased notes and covers #166, #167, #168 and
#171: the capability receipt and what the live runner does with it, the
diagnostic codes and catalog, the first error in source order, the
linear-time classification as a security fix, the PineForge Source
License 1.1 and the pairing and migration steps. The Python and JSON
contract is additive; the engine's report harness is unchanged since
v1.1.0, so no report key changes.

The README, AGENTS.md / CLAUDE.md, CONTRIBUTING.md,
docs/PUBLIC_CONTRACT.md and docs/pine-cap-activation.md name 1.2.0 where
they named 1.1.0 as the current release or pair, the pairing table gets
a 1.2.0 row, the license badge reads 1.1, and the npm README lists the
catalog and LICENSE the package now carries. The release scoreboard
sentence and the pf markers are left to the release lane.

Measured for 1.2.0: the engine's 325 corpus sources and the 277 gate
fixtures transpile, with the capability block removed, to 1.1.0's C++
byte for byte, each in a fresh process (13 refusals, same messages), and
each in under 0.1 s on CPython 3.14.6 on an Apple M4 Max. The tutorial
run of the quick-start C++ against engine main 44eab7b1 (Linux x86_64,
GCC 13) prints 9 trades and +738.20, and 13 trades with the old sizing
declared, as 1.1.0 with engine v1.1.0 does.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* docs: release 1.2.0's grades from the facts tokens

README: the release sentence names 1.2.0 and renders releases[1.2.0]
(baseline pineforge-parity-baseline-20261005-engine-52292db9, 7,970
excellent / 19 strong of 7,989), and the scoreboard of main renders the
same baseline, from pineforge-release facts/facts.json as exported for the
1.2.0 release (sha256 c2f438f0). CHANGELOG: the 1.2.0 documentation entry
states the release's grades, as 1.1.0's does.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
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