eurodomenii Posted January 23, 2018 Share Posted January 23, 2018 My use case is to create an WHMCS EPP Module, using the https://github.com/metaregistrar/php-epp-client ( very reliable, production tested with registrar that handles 600.000+ domain names) The obvious next step, is to release the new WHMCS EPP module, under GPL too. What is less obvious, can I incorporate, in the first place, the GPL epp php client library into a proprietary system, like WHMCS ? SCENARIO 1 ( NOT POSSIBLE) PROPRIETARY program + GPL module “NO the combined software must be released under the GPL” http://blog.milkingthegnu.org/2008/04/gpl-for-dummies.html Question is: what is the combined program that we are talking about? If the combined program is WHMCS module, we are fine ( is released under GPL). But, if the combined programs are WHMCS proprietary + GPL library + WHMCS GPL module, is not ok, because full WHMCS code could not be released under GPL GPL is all about distribution of the software. If WHMCS itself would distribute such module under GPL, could be questionable. But, me as third party, I don’t sell WHMCS licenses, I distribute only WHMCS module with incorporated GPL library, I don’t distribute WHMCS proprietary itself. Is this argument relevant? As a note, all the sample modules distributed on https://github.com/whmcs/ are MIT, not GPL. PROPRIETARY program + GPL library http://www.gnu.org/licenses/gpl-faq.html#GPLInProprietarySystem You cannot incorporate GPL-covered software in a proprietary system. “The difference between this and “incorporating” the GPL-covered software is partly a matter of substance and partly form. The substantive part is this: if the two programs are combined so that they become effectively two parts of one program, then you can't treat them as two separate programs. So the GPL has to cover the whole thing. If the two programs remain well separated, like the compiler and the kernel, or like an editor and a shell, then you can treat them as two separate programs—but you have to do it properly. “ I doubt that this exception ( of separate programs) could be invoked here, the epp library is very tight connected with the whmcs module and api. EXAMPLES Most notable example https://github.com/centralnic/php-epp released under GPL incorporated by https://github.com/registrobr/whmcs-registrobr-epp GPLhttps://github.com/stylemistake/whmcs-domreg GPLhttps://wiki.cocca.org.nz/mediawiki/index.php/Main_Page CoCCAepp Module for WHMCS means all the TLDS listed at https://cocca.org.nz/#five Alsohttps://github.com/AfriCC/whmcs-registrars-coza GPL incorporating GPL https://github.com/AfriCC/php-epp2 Are all those guys doing the wrong way? In case of an affirmative answer, they should relicense under more permissive license ( eg MIT ) both whmcs modules and libraries included. SCENARIO 2 ( POSSIBLE) Great news, I could incorporate into a WHMCS module, a production ready and well tested piece of software https://github.com/metaregistrar/php-epp-client. Need your feedback, to make sure is possible. If possible, GPL license for WHMCS module make sense: If somebody wants to make a fork of my module, is has to be gpl. ( Don’t sell it under whmcs market). Last question, is even possible a WHMCS module under GPL ( without incorporating a GPL library?) The github search are balanced. ttps://github.com/search?utf8=%E2%9C%93&q=whmcs+license%3Amit&type= 165 results WHMCS Modules MIT licensehttps://github.com/search?utf8=✓&q=whmcs+license%3Agpl&type= 143 results WHMCS Modules GPL license Thanks! 0 Quote Link to comment Share on other sites More sharing options...
eurodomenii Posted February 16, 2018 Author Share Posted February 16, 2018 Sometimes, best answers come after re-reading the text of the license itself, more carefully. Now, I have to admit that I might be biased towards scenario 2( possible). For the sake of accuracy, I am talking about text of GPL 2.0, used by https://github.com/metaregistrar/php-epp-client/blob/master/LICENSE.md The key clause is the following: “Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does.” The essence of GPL it’s ABOUT DISTRIBUTION, NOT RUNNING the program The optimistic scenario would be: -Can’t distribute WHMCS PROPRIETARY program + GPL WHMCS module using GPL library. but -Can distribute only GPL WHMCS module using GPL library, and can run WHMCS PROPRIETARY program + GPL WHMCS module using GPL library, because running the combination is outside the scope of GPL Worst case scenario, only WHMCS itself, as a company, couldn't distribute GPL WHMCS module using GPL library, because they charge for the proprietary license. But me, as a third party that doesn't sell WHMCS licenses, I am ok to distribute only the module with gpl library. 1) To be totally paranoid, the WHMCS GPL Module including the GPL library should not be distributed on https://marketplace.whmcs.com/, github being a safer option, like these guys dohttps://github.com/search?utf8=✓&q=whmcs+license%3Agpl&type= Or it would be ok to link to github, from whmcs marketplace, in order to have a better visibility athttps://marketplace.whmcs.com/category/top-free ? 2) If you break down the clause above, there’s still an exception regarding the program output. https://www.gnu.org/licenses/gpl-faq.en.html#GPLOutput and https://www.gnu.org/licenses/gpl-faq.en.html#WhatCaseIsOutputGPL contain answers. This isn’t our use case… Here’s a relevant example: “As the authors state, copyright does not provide a means to restrict the output of a program to the licence terms that apply to the program itself. That is only possible if the output consists of part of the source code of the GPL'd program. (For instance, YACC or Bison generate source code for lexers and parsers, and their output contains large parts of the source code of YACC and Bison themselves.)” https://softwareengineering.stackexchange.com/questions/311084/using-output-of-gnu-gpl-software-in-commercial-purposes 3) I guess that no announcement is required to print “if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.” 4) That are still some questions: -What about the incorporation clause? “This General Public License does not permit incorporating your program into proprietary programs.” On the other hand we have “Activities other than copying, distribution and modification are not covered by this License; they are outside its scope.” Which clause takes precedence? If the last one, it means that we can’t incorporate and distribute, but when it comes to running on own server, we can mix it ! Confirmation from http://blog.milkingthegnu.org/2008/04/gpl-for-dummies.html “This DOES mean that I can combine any proprietary software I have a license for with any GPL software I wish and use it as I please as long as I don't redistribute any of it.” 5) “If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works.” We can’t invoke this clause, but there’s no need to do it, because we don’t distribute the proprietary system. 6) Finally, https://github.com/Frikkadel/whmcs-zacrcoza is already using “Metaregistrar's Ewout de Graaf's excellent php-epp-client library.” This fact doesn’t make it more “legal”, but it’s a precedence. 0 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.