Commercial Parachain and code licensing

Hi all, looking for some clarity on how the current code licensing applies when creating a Parachain, and the implications it can have for commercial models.

As a disclaimer, I’m new to the ecosystem, have done all online courses I could find, read most of the documentation, checked the main github projects, and built a small use-case for an internal demo. That being said would appreciate any support and clarity on this, as it will help stear how we can build things on Polkadot while retaining competitiveness and managing internal IP.

From reading the documentation and checking the GitHub projects and pallets, licensing doesn’t appear to be consistent across, and it’s harder to manage when there are dependencies between them.

For smart-contracts things look mostly straightforward depending on how much you want to reuse from existing libraries, but for a Parachain it doesn’t look as straightforward.

From the documentation it looks like a Parachain that integrates with Polkadot need to either use Cumulus or write it’s own version of the protocol (which is prohibitive for any new-comer). This is where it becomes tricky, because the main license applied to Cumulus is GPL 3.0 with no exemptions, meaning the entire Parachain would need to be GPL 3.0, which poses some risk and challenges for commercial applications.

Is this correct, or am I missing something?
And if correct, does it have a reason for this license instead of a more permissive one?
How are teams with commercial offering managing this?

I know it is possible to safeguard IP by simply doing the bare minimum on the Parachain and push everything else to Oracles for anything commercially sensitive, but it feels a bit limiting and harder for anyone that wants to bring a strong commercial use-case into the ecosystem.

Would be great to get feedback, insights and clarity on this, and if I haven’t understood something properly.

Thanks in advance,
RDSC

Not sure if it helps in this context, but GPL software is compatible with LGPL software and LPGL software is compatible with some non-GPL licenses. So if you want to jump through a few hoops… Just add a few wrappers :slight_smile:

Another variant is to build a shell chain that runs smart contracts and then deploy your differently-licensed smart contracts on top.

An abstraction of the previous idea may be that you treat the chain as an execution environment and then load licensed code via governance that is executed in the execution environment.

I guess if you want you can find some creative ideas. Remember to open-source your legal wrappers once you built them so more people can write closed source for Polkadot :smirk:

1 Like

Thank you for your great suggestions, they all make sense.

GPL + LGPL + Other license wrapping is an option, we could do our Parachain barebone as LGPL and dynamically link our proprietary libraries, need to check if there are any constraints on this.

I really like your idea of an execution environment managed via governance, where anything being executed could have its own license and even be similar in kind to a smart contract. Guess the main thing here is ensuring the security of this execution environment and defining a proper governance mechanism.

Maybe we can even mix the two options. Will spend a few days on this as I believes it solves all our needs.

Really appreciate your support. Would you be available for a direct chat to pick your brain on the governance side of this?

1 Like

Glad I could help!

Closed source brain picking is 200 USD/h. Intro calls are free. Feel free to DM :slight_smile:

I’m surely missing something, couldn’t find a way to DM

1 Like