-
Notifications
You must be signed in to change notification settings - Fork 79
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
License Compatibility with GPLv3/AGPL #166
Comments
@vovafeldman as a stop gap, do I have your permission to apply |
Yikes... guess I never really looked too hard, but I also have "GPLv3 or later" plugins integrating Freemius. Good catch! |
@JHabdas based on the wp.org guidelines, any GPL-compatible license for 3rd party libraries is acceptable. So I'm not sure I understand what is the issue? We are actually considering to switch a license to MIT so developers will be able to use it without the restrictions of the GPL. |
@vovafeldman Thanks for your note. This is not a WP concern insomuch as it is a GNU compatibility issue within their own licenses and regardless of where used. As referenced in the supporting documentation in the OP, GPLv2 is not compatible with GPLv3 or later or the GNU AGPL (but GPLv2+ is). As a result, I look forward to seeing a compatible FOS license made available. If you're considering MIT please also consider ISC as it is the functional equivalent of MIT but with less words - making it take up less space when combined with other licenses in a license header atop a file, e.g.
For more information on ISC and FOS licenses in general, please see the following resources:
|
@JHabdas can you just explain me the problem in simple words. If I understand correctly, you say that GPLv2 is not compatible with GPLv3 or later, and why is that a problem for you? or anyone else? I'm just trying to make sure I understand the issue. |
@vovafeldman I cannot speak for anyone else. And I'm not a licensed attorney (that may change in a few years) but I can with confidence tell you I cannot use your library under current license in my plug-ins or themes licensed under GPLv3/AGPLv3/GPLv3-or-later/APGLv3-or-later until your license is modified as outlined in the OP. Doing so would cause a licensing incompatibility as shown in the GNU License Compatibility Matrix shared above. |
@JHabdas Thanks a lot for all the details! We will have to do some reading to learn about the different licenses, potentially consult with an attorney, we can't just switch the license without understanding the implications. |
@vovafeldman Whatever you gotta do. As mentioned, I'd love to be able to use this library. If you need any pointers to speed up your research see my path to enlightenment here: https://github.com/comfusion/hyperdrive/issues/41. Which lead me to create the following: Tools/Libs (MIT/ISC) Gotta love the GPL! |
Nudge. @vovafeldman with your permission I will fork this and apply an updated license to my fork so it's compatible with GPLv3/AGPL. Please let me know. If you have legal questions you can get quick response on https://opensource.stackexchange.com and avoid the fiduciary headache. |
@JHabdas we are updating the license to GPLv3 as part of the upcoming release. |
Thanks so much for this @vovafeldman. Moving to GPL-3.0 is great as it helps others update their GPLv2 licenses to either use the or any later version in their software to use the SDK, which is good as it enables then to automatically update plugins and themes to future versions of the GPL without having to think about licensing again (for the most part). I reopened this as I noticed the license headers in the Thank you for not becoming defensive or angry with me when I opened this issue (many do, as they seem to go through the stages of grief). Strong copyleft licenses like the GPL are some of the least sexy licenses out there, as I mention in the following article on Hacker Noon which you may find an entertaining read: https://hackernoon.com/introducing-the-btc-license-28650887eb11 |
@JHabdas updated all references to GPLv3 |
* feature/fs-theme-mode-v7: (308 commits) [helper-method] [fix] [minor] [add-ons] [features] [enhancement] Adjusted the feature comparison and pricing tab for add-ons without an annual prices. [add-on] [modal] [enhancement] Enriched the modal for freemium add-ons. [add-ons] When an add-on has both free and paid plans, show the prices range from "Free - {minPrice}". [add-ons] [optimization] Use the new endpoint that returns the add-on's plans, pricing, and features, all in one request. [license] Updated license from GPLv2 to GPLv3. Closed #166 [sdk-starter] [enhancement] Added special protection for renaming the SDK's folder name (will auto identify the new folder). [themes] [account] Don't show the Account for free WP.org themes without any paid plans. [premium-updater] [cache] [fix] Since the default API cache was set to 24 hours, together with the WP 12 hours updates cache, users with a valid license had to wait up to 36 hours to see an update. Therefore, enforce a 1-hour cache when checking for an update, which will reduce the wait time to up to 13 hours on the Account page. Also, if forcing an updates check, flush the cache to immediately see any updates. [api] [cache] [enrich] Enriched the API caching logic to optionally check a different expiration period than the one was originally set when the cached value was set. [cache-manager] [enrich] Enriched the cache manager logic to store the time the cache was created and also enriched the has_valid() method to optionally check if the cached value didn't expire based on an explicit expiration period. [css] [compile] [css] [minor] [tabs] [add-ons] Hide the add-ons page title when running within a tab context. [sections] [ui] [minor] Added a special styling class to the FS sections. [customizer] [upsell] [trial] [fix] Adjusted the upgrade link when running in a trial promotional period. [customizer] [upsell] Added "support" features based on the plan configuration. [customizer] [upsell] [feature-description] Added tooltips to the features that have a description. [tabs] [class] Added classes to FS added tabs for identification and consistency with the submenu items classes. ... # Conflicts: # includes/class-freemius.php # includes/class-fs-api.php # includes/class-fs-plugin-updater.php # includes/fs-core-functions.php # includes/fs-essential-functions.php # includes/fs-plugin-info-dialog.php # includes/i18n.php # includes/managers/class-fs-admin-menu-manager.php # includes/sdk/FreemiusWordPress.php # require.php # start.php # templates/account.php # templates/add-ons.php # templates/auto-installation.php # templates/billing.php # templates/checkout-legacy.php # templates/checkout.php # templates/connect.php # templates/contact.php # templates/debug.php # templates/debug/scheduled-crons.php # templates/forms/deactivation/form.php # templates/forms/deactivation/retry-skip.php # templates/forms/license-activation.php # templates/forms/optout.php # templates/forms/resend-key.php # templates/forms/trial-start.php # templates/pricing.php
Actual Behavior:
What is the issue? (*)
Current licensing restricts SDK use in A/GPLv3-or-later projects
What is the expected behavior?
Versions: (*)
Freemius SDK Version:
1.2.1.7.1WordPress Version:
n/aPHP Version:
n/aPlugin / Theme: (*)
Name:
HyperdriveSlug:
hyperdriveFreemius ID:
1109Additional Information:
Browser Type: (*)
n/aBrowser Version: (*)
n/aOS: (*)
n/aStack Traces:
Per section 8 of the GPLv2:
Because a license version is specified in this library, and or later is not applied, the SDK is not compatible for use as a lib with with GPLv3-or-later and AGPLv3-or-later projects.
The following license compatibility matrix on the GNU sums it up quite nicely:
https://www.gnu.org/licenses/gpl-faq.en.html#AllCompatibility
Possible directions to increase licensing compatibility for plugins and themes not using the exact same version of the GPL used by this SDK include updating the SDK thusly:
The text was updated successfully, but these errors were encountered: