-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathLicensing Clearance for Controllers.txt
57 lines (46 loc) · 5.12 KB
/
Licensing Clearance for Controllers.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
================================================================================================================================================
LICENSING CLEARANCE FOR CONTROLLERS, THAT ARE RUNNING ON S.O.L.I.D. MVC MICRO-FRAMEWORK IN A WORDPRESS-KERNEL ENVIRONMENT
-------------------
The source code of PHP files, that sits under /Controllers/ folder of plugin that is running on MIT-licensed SolidMVC micro-framework,
are licensed under commercial-friendly MIT license by default.
1. If needed, the default MIT license can be overridden by one of copyleft licenses (i.e. AGPL) in open-source projects:
https://en.wikipedia.org/wiki/Copyleft , as long as original authors credential are left in the file header, if that is a file modification.
2. If needed, the default MIT license can be overridden by one of copyright licenses (i.e. CCL) in commercial projects:
https://en.wikipedia.org/wiki/Copyright , as long as original authors credential are left in the file header, if that is a file modification.
================================================================================================================================================
CLEARANCE ON SO-CALLED "DERIVATIVE & NON-DERIVATIVE WORK OF WORDPRESS" FOR FILES INSIDE /CONTROLLERS/ FOLDER:
-------------------
Only the "WP core-hooking" controllers of SolidMVC (PHP classes), that sits under /Controllers/ folder are counted as so-called "derivative work of WordPress",
and has to be licensed under GPL-compatible license (i.e. MIT, AGPL, GPLv3, etc.), as they actively using WordPress functionality.
These, always MIT-licensed, "WP core-hooking" controllers (PHP classes) are in the following files:
/Controllers/MainController.php: MainController {...}
/Controllers/Admin/AssetController.php: AssetController {...}
/Controllers/Admin/InstallController.php InstallController {...}
/Controllers/Admin/NetworkMenuController.php: NetworkMenuController {...}
/Controllers/Admin/SingleMenuController.php: SingleMenuController {...}
/Controllers/Front/AssetController.php: AssetController {...}
/Controllers/Front/ShortcodeController.php: ShortcodeController {...}
All other controllers may be licensed on any license author wants, as long as original MIT header is kept on the top of the file, if that is one of MIT-licensed file modifications.
If some controller is i.e. AGPL-licensed or uses commercial license, then it should remain as AGPL-licensed or remain commercially licensed respectively.
================================================================================================================================================
RULE OF GOOD FAITH:
Despite that YOU CAN license other controllers on any license YOU want, because some controllers still has to be GPL-compliant,
it is advised to have all your models and model classes licensed under GPL-compliant license (MIT, AGPL, GPLv3, etc.).
================================================================================================================================================
NOTE FOR CONTROLLERS LICENSING OF EXACT PLUGIN:
For exact plugin licensing please check corresponding folder and license clearance file IN EXACT PLUGIN sub-folder.
================================================================================================================================================
ADDITIONAL NOTES:
1. In SolidMVC coding standard it is defined, that SolidMVC controllers should not implement WordPress widgets (that would be extending "WP_Widget" WordPress core class).
While, of course, nobody is stopping you from doing that, but then you would lose the licensing independence flexibility from WordPress core license, which is GPL.
2. In SolidMVC coding standard it is defined, that, despite that SolidMVC 'MainController' has a registration for .PO/.MO language files,
you should only use Unicode CLDR ("Key=>Value" pairs) language coding standard, that does not require your templates, library transpilers, models, views and controllers
to hook to WordPress core language processing functions.
Of course, nobody is stopping you from doing that, but then you may lose the licensing independence flexibility from WordPress core license, which is GPL.
3. In SolidMVC coding standard it is defined, that only SolidMVC core controllers may be hooking into WordPress 'filters and actions'.
Any non-core controllers should not be doing that.
Of course, nobody is stopping you from doing that, but then you would lose the licensing independence flexibility from WordPress core license, which is GPL.
4. In SolidMVC coding standard it is defined, that only SolidMVC core controllers may be registering it's WordPress filters and actions
with 'add_filter(..)' and 'add_action(..)' functions. Any non-core controllers should not be doing that.
Of course, nobody is stopping you from doing that, but then you would lose the licensing independence flexibility from WordPress core license, which is GPL.
5. The meta header of exact controller class file, may be overriding the default /Controllers/ directory licensing, which in this case is MIT.