4 minutes ago, Matt75 said:Your module will use some classes (Module, Tools, Context, ObjectModel etc...) from PrestaShop Core that's is under OSL licence so you have to be compliant with OSL.
It means you have to use a compliant open source licence with OSL likes AFL, EUPL, BSD, MIT, ISC or Apache V2.
Generally modules are under AFL for example.
If you have some piece of code using another licence, likes a commercial licence, this code has to be isolated from all pieces of code under an open source licence.
Code under commercial licence must be on a separate folder, with a proper namespace, licence header on each file, LICENSE text file at root of this folder.
You can use an hexagonal architecture thanks to ports and adapters to isolate this code from others pieces of code under open source licence, it means you cannot have a direct dependancy to a class under open source licence and must pass through a Port or Adapter.
Awesome! Thanks for response. This clearly explainable requirements.
Can you please teach your support team and developers doing technical review also to reply like this?
Or maybe you can publish something like this inside PrestaShop development blog.