Hi everyone,
I'm new here and currently developing a module for CMS Made Simple. I have a few questions about licensing as I prepare for release.
My module uses:
XYZ PHP library (MIT license)
jQuery ABC library (GPL v3)
I want to release my module under GPL v2, like CMSMS, while redistributing the libraries with my changes.
Can I release my module under GPL v2 while keeping the original licenses for the libraries?
If I extend a class from the XYZ library, do I need to keep the MIT license for that class?
Thank you!
Licensing for My CMSMS Module
Licensing for My CMSMS Module
Nackson[https://golfhit.org/]golf hit[/url]
Re: Licensing for My CMSMS Module
Hey there, Nackson,
We don't have a licence expert in the dev team at the moment so we only know our own licence limitations, but I did a quick AI check for you. Take the following information as a starting point with which to check. I would advise following and confirming the cites it gives.
1. Can you release your module under GPLv2 while redistributing MIT- and GPLv3-licensed libraries?
MIT Library (XYZ)
Yes — MIT is extremely permissive. You can redistribute it inside a GPLv2 module without any conflict.
MIT also allows you to licence your own code however you like.
Source:
MIT Licence text — Open Source Initiative
https://opensource.org/license/mit/
GPLv3 Library (jQuery ABC)
This one is more nuanced:
If you modify the GPLv3 library or tightly integrate it into your module in a way that creates a combined derivative work, then GPLv3 requires your whole module to be GPLv3.
If you simply redistribute it unmodified (e.g., as a standalone JS file), then it remains under GPLv3, and your PHP module can stay GPLv2 — exactly the same way CMSMS itself bundles third-party JS libraries.
Source:
GPLv3 FAQs — Free Software Foundation
https://www.gnu.org/licenses/gpl-faq.html
(See “Can I combine GPLv2 and GPLv3 code?” and “What is a ‘combined work’?”)
GPLv3 Licence text — GNU Project
https://www.gnu.org/licenses/gpl-3.0.html
GPLv2 Licence text — GNU Project
https://www.gnu.org/licenses/old-licenses/gpl-2.0.html
2. If you extend a class from the MIT-licensed XYZ library, do you need to keep the MIT licence?
Yes — for the MIT-licensed code you are extending, you must preserve the MIT licence notice.
However, your new code (the subclass) may be licensed under GPLv2 with no issues.
MIT explicitly allows sublicensing of derivative works.
Source:
MIT Licence text — Open Source Initiative
https://opensource.org/license/mit/
(See the clause: “Permission is hereby granted… to deal in the Software without restriction…”)
Practical summary
Your module: GPLv2 (same as CMSMS)
MIT library: Remains MIT; no conflict even if you extend it
GPLv3 library: Allowed if unmodified and kept separate; otherwise your module must switch to GPLv3
This is also consistent with how CMS Made Simple itself includes third-party JS libraries with their original licences unchanged.
We don't have a licence expert in the dev team at the moment so we only know our own licence limitations, but I did a quick AI check for you. Take the following information as a starting point with which to check. I would advise following and confirming the cites it gives.
1. Can you release your module under GPLv2 while redistributing MIT- and GPLv3-licensed libraries?
MIT Library (XYZ)
Yes — MIT is extremely permissive. You can redistribute it inside a GPLv2 module without any conflict.
MIT also allows you to licence your own code however you like.
Source:
MIT Licence text — Open Source Initiative
https://opensource.org/license/mit/
GPLv3 Library (jQuery ABC)
This one is more nuanced:
If you modify the GPLv3 library or tightly integrate it into your module in a way that creates a combined derivative work, then GPLv3 requires your whole module to be GPLv3.
If you simply redistribute it unmodified (e.g., as a standalone JS file), then it remains under GPLv3, and your PHP module can stay GPLv2 — exactly the same way CMSMS itself bundles third-party JS libraries.
Source:
GPLv3 FAQs — Free Software Foundation
https://www.gnu.org/licenses/gpl-faq.html
(See “Can I combine GPLv2 and GPLv3 code?” and “What is a ‘combined work’?”)
GPLv3 Licence text — GNU Project
https://www.gnu.org/licenses/gpl-3.0.html
GPLv2 Licence text — GNU Project
https://www.gnu.org/licenses/old-licenses/gpl-2.0.html
2. If you extend a class from the MIT-licensed XYZ library, do you need to keep the MIT licence?
Yes — for the MIT-licensed code you are extending, you must preserve the MIT licence notice.
However, your new code (the subclass) may be licensed under GPLv2 with no issues.
MIT explicitly allows sublicensing of derivative works.
Source:
MIT Licence text — Open Source Initiative
https://opensource.org/license/mit/
(See the clause: “Permission is hereby granted… to deal in the Software without restriction…”)
Practical summary
Your module: GPLv2 (same as CMSMS)
MIT library: Remains MIT; no conflict even if you extend it
GPLv3 library: Allowed if unmodified and kept separate; otherwise your module must switch to GPLv3
This is also consistent with how CMS Made Simple itself includes third-party JS libraries with their original licences unchanged.


