Jump to content

WHMCS Module including GPL library


eurodomenii

Recommended Posts

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 GPLhttp://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 GPL
https://github.com/stylemistake/whmcs-domreg GPL
https://wiki.cocca.org.nz/mediawiki/index.php/Main_Page CoCCAepp Module for WHMCS means all the TLDS listed at https://cocca.org.nz/#five

Also
https://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 license
https://github.com/search?utf8=✓&q=whmcs+license%3Agpl&type= 143 results WHMCS Modules GPL license

Thanks!
 

 

Link to comment
Share on other sites

  • 4 weeks later...

 

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 do
https://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 at
https://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. 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use & Guidelines and understand your posts will initially be pre-moderated