Bundled licensing is CodeLibra's mechanism for enabling downstream development rights when your module incorporates another CodeLibra module. This page explains when and how bundled licensing applies.
Under the standard CodeLibra License, a Developer can sublicense use rights to his or her customers, but not development rights. This means that if you license a module and use it to create a derivative work, your users have the right to execute, run, and operate it your software, but they cannot modify the underlying licensed modules or create their own derivative works from them.
Sometimes you need to enable more:
In these cases, your customers need development rights to the underlying modules—not just use rights.
Your customers receive their own direct licenses to the underlying modules through a bundled license. When you list a CodeLibra module as a license dependency of your module, customers purchasing a license to your module automatically receive:
Each developer in the chain is paid according to their pricing.
Section 3.3 of the CodeLibra License specifies:
Licensee may grant sublicenses permitting creation of Derivative Works or conveying other development rights beyond Use rights only through CodeLibra's license bundling program, by listing the Licensed Module as a license dependency of a module containing Licensee's Derivative Works. In that case, Sublicensees will receive a direct license to the Licensed Module as well as to Licensee's Derivative Works, and Sublicensees' license fee payments will be automatically apportioned for Developer and Licensee's respective Modules.
You create "SuperFramework" which incorporates "CoreLib" (a CodeLibra module).
Traditional sublicensing (use rights only):
Bundled licensing:
Your product is a development framework
Others will build their own applications on top of it, requiring development rights to underlying components.
You're creating a toolkit or library
Developers using your toolkit will need to modify, extend, and create derivatives.
Your product is extensible at the code level
Plugins, extensions, or customizations require development access to core components.
You want to pass through development rights
Your customers need the same development flexibility you have with the underlying modules.
Your product is an end-user application
Users just run your software; they don't develop with it.
Your product is a service
Users interact via API or interface; underlying modules are implementation details.
Customers only need use rights
They deploy your product but don't need to modify components.
Not all software dependencies are license dependencies. A license dependency typically arises when one CodeLibra module includes code from another CodeLibra module. For example:
When you onboard your module to CodeLibra:
Update your license dependency list with each new release if dependencies change. Note that adding new dependencies to an existing module triggers release charges (see below).
Remember that your customers pay a composite price:
Consider this when setting your price. If dependencies are expensive, your total may be high.
Let potential customers know:
When a customer purchases your bundled module:
Distribution:
If you add a new license dependency in a new release of your module, your existing licensees automatically receive licenses to the new dependency at no additional charge to them. However, you (the developer) must pay for these licenses.
This is called a "release charge" or "reverse charge."
This protects licensees from unexpected price increases when developers modify their modules. When someone licenses your module, they receive all releases during their subscription term—including releases with new dependencies. They shouldn't have to pay more because you changed your module's structure.
| Aspect | Sublicensing | Bundled Licensing |
|---|---|---|
| Your customers' rights | Use only | Use + Development |
| Customers can create derivatives | No (of dependencies) | Yes |
| Customers can modify dependencies | No | Yes |
| How customers get licenses | Through you (use rights only) | Directly from CodeLibra |
| Pricing | Just your module | Composite (includes dependencies) |
| Revenue to dependency developers | None from your sales | Their share per sale |
Bundled licensing must happen through the CodeLibra platform. You cannot:
By publishing on CodeLibra, developers consent to other developers using their module as a license dependency and bundling a license to their module with others.
Each developer maintains control over their pricing. This affects bundle economics but ensures fair compensation throughout the dependency chain.
If you already hold an active license to a module, and that module adds new license dependencies after your purchase:
When purchasing through bundled licensing, customers receive the same development rights to dependencies that they would receive by licensing those modules directly.
What if a dependency developer doesn't want to be bundled?
By publishing on CodeLibra, developers consent to their modules being used as license dependencies. However, they control their pricing, which affects bundle economics.
What happens if I remove a license dependency?
Future customers don't receive that dependency. Existing customers keep their existing licenses to it.
Do all my customers automatically get development rights?
Yes, when they purchase through CodeLibra with proper dependency declarations. That's the purpose of bundled licensing.
What if I add a license dependency to an existing module?
You'll be charged a release charge to cover licenses for all existing active licensees. This protects your customers from unexpected costs.