The GPL license is very very precise. It explicitly says :
- A GPL module may never be inside a private software : never
- A private module may never be inside a GPL software : never
- Any modification of a GPL module or software must be published under the GPL license : always
A software protected by the GPL license is protected globally, and for ever.
Now, assume that someone who completely agree with the GPL Copyleft clause, decide to build a nice plugin for Corona. He can do this because he knows that his work is completely protected by the GPL license. Lets us pretend that this guy is me, and that the software he wants to work is called Mi-Corazon. Mi-Corazon will be free, protected by GPL and for ever.
One day, someone (you for example), decide to modify one of the Corona modules used inside Mi-Corazon.
He (you) will say that it is OK to do this because he (you) say that this module is under the Corona dual license and you choose the private option. You will say that, because this module is private, you can do without any GPL requirement. You will say that because your module is private you must no have to publish your modification under the GPL license.
At this time, Mi-Corazon (which is a GPL software) will have one of its module modified and not covered by GPL. This is completely un-allowed by GPL.
You will say that because one of Mi-Corazon module can be modified without the GPL copyleft feature, then Mi-Corazon may not be GPL.
I will say that because Mi-Corazon is copyleft, thanks to GPL, you are in complete infringement with the GPL.
Who win ? (except lawyers who will never settle on this case) ?
The reality is that the Corona dual-license is founded on a major contradiction, and that GPL is completely incompatible with any private clause.