Commercial Licenses

A commercial plan marks a Marketplace purchase for the LPM.dev Registry's commercial-permission checks. It is a platform authorization signal, not a generated license agreement or an automatic grant of redistribution rights.

What the Commercial Flag Records

Authors enable Commercial License while creating a pricing plan in Distribution & Monetization > Pricing Plans.

When that plan is purchased:

  • The purchase is associated with the buyer or the selected organization.
  • A one-time purchase can satisfy the Registry's commercial-license lookup until it is refunded or revoked.
  • A subscription can satisfy the lookup while its paid access remains active.
  • Public-distribution validation can check that purchase when the buyer publishes a package that references the paid Marketplace package.

A package can have only one active commercial plan. If its terms need to change, archive it and create a replacement.

Packages owned by the same personal account or the same organization do not require a separate commercial purchase from each other during dependency validation.

What It Does Not Do

The commercial flag does not:

  • Write or select the package's LICENSE terms
  • Override an open-source, proprietary, or third-party license
  • Guarantee that dependency files are present in a publish tarball
  • Grant the redistributor's customers a separate Registry entitlement
  • Convert a normal dependency declaration into vendored code

Authors remain responsible for publishing terms that match the rights they intend to offer. Put those terms in the package's license and supporting documentation. The LPM.dev Registry does not generate a legal template for them.

Bundled Marketplace Dependencies

Use a bundle when the dependency's code must ship inside your Marketplace package. LPM CLI includes installed packages declared through bundleDependencies or bundledDependencies in the publish archive. The Registry accepts either field name and the npm-compatible array or boolean form.

A bundle declaration alone is not sufficient. During publish, the Registry finds each declared bundle at its expected archive path, parses its nested package.json within bounded inspection limits, and requires the package name to match the declaration exactly. A cross-owner Marketplace bundle also requires the publishing personal account or organization to hold a valid Commercial License. A verified bundle owned by the same account or organization does not require a self-purchase.

For example, this package bundles one paid dependency for redistribution and leaves another as a peer that consumers purchase separately:

{
	"dependencies": {
		"@lpm.dev/vendor.paid-lib": "^1.0.0"
	},
	"bundleDependencies": [
		"@lpm.dev/vendor.paid-lib"
	],
	"peerDependencies": {
		"@lpm.dev/vendor.separate-lib": "^2.0.0"
	}
}

The bundled declaration takes precedence when the same package also appears in a dependency field. If an older version does not have Registry-owned archive-verification evidence, publish a new version before promoting it to Marketplace. The Registry revalidates dependency rights transactionally when a public package version is approved, so a Commercial License lost while review is pending leaves that version blocked.

Separate Paid Dependencies

A Marketplace purchase grants access to the purchased package only. It does not grant access to another paid package referenced by that package.

Declare a separately purchased Marketplace dependency in peerDependencies. The publisher does not need a Commercial License for an unbundled peer, but each consumer must obtain access before LPM CLI can install that dependency from the Registry.

An unbundled Marketplace package in dependencies is rejected, even when both packages have the same owner. Expose it as a peer for separate purchase or bundle it with the required redistribution permission.

Access Duration

Commercial permission follows the underlying purchase:

Billing modelRegistry permission
One-timePackage-level permission until refund or revocation
SubscriptionPackage-level permission through paid subscription periods

There is no Registry-enforced “purchased major version” boundary. The entitlement lookup is package-level and applies to versions that remain available from the Registry.

Archiving a commercial pricing plan prevents new purchases but does not revoke licenses already created from it.

License Terms

The package author chooses the legal terms for use, modification, and redistribution. Before selling a commercial plan, make sure those terms:

  • Match the rights represented on the package page
  • Cover any third-party code included in the package
  • Explain the intended scope of individual and organization purchases
  • Explain what happens when a subscription ends or a purchase is refunded

For the platform rules that apply to selling, see the Marketplace Seller Agreement. Obtain appropriate legal advice for license language specific to your package or jurisdiction.

See Also