Jim Penny wrote:
DC and FSF somehow have to come to some understandings of the following questions.
Here is my own view (not DC's offical word!)
Can a GPL (unmodified) component be distributed for Zope (at all)?
I think the message by Bradley Kuhn is a little misleading. If you are the original developer, you can distribute your product. The GPL does not try to limit the rights of the original developer. As the original developer you have the rights granted by copyright law, which is a "higher" law than the GPL. The GPL primarily affects redistribution. If, for example, Apple decides they like your product, even though you tried to GPL it they'll have to ask you to re-release your product under a different license before they can redistribute your product since it depends on Zope and the ZPL is not compatible.
Can a GPL (modified per fog) component be distributed for Zope?
Yes, but only by the original developer or with permission from the original developer. You can post your product on zope.org, but since the GPL and ZPL aren't compatible, another site cannot mirror your product unless you specifically grant permission. The intent of the GPL is to grant specific redistribution rights to those who receive your product, but since a condition of the GPL cannot be met, the license is effectively meaningless. So what does a voided license mean? It means that the recipient of your product effectively has no rights to redistribute your product in any way, except according to your terms expressed through other means. Now let's say some company decides to take your product and distribute a derivative without source code. Let's say you don't like what they've done and the case goes to court. I'm no lawyer, but as I see it the GPL won't be in effect, yet the fact that you tried to use the GPL clearly demonstrates your intent. The intent was clearly stated from the start. It's hard to say how much legal weight intent really has (especially outside the U.S.), but regardless of the GPL your work would still be covered by copyright law. The only time copyright law no longer applies is when you declare your work to be in the "public domain".
If yes to either, may the component be invoked (dtml-var, dtml-call, or equivalent) from a non-GPL component? If yes to either, may the component be subclassed by a non-GPL component?
These are really the same question in the eyes of the GPL. The answer is yes, but the non-GPL component can't be distributed except under terms not contained in the GPL. Let's take a real-life example: Simon Michael created the ZWiki product and released it under the GPL. Digital Creations modified it to fit better in the CMF. Digital Creations cannot redistribute the derivative unless Simon (assuming he is the copyright holder) specifically says we can. He holds copyright privileges and can release the work under multiple licenses or under special terms. Now, if the ZPL were GPL compatible, the GPL would be in full effect for products. Digital Creations would automatically have the rights to redistribute derivatives of ZWiki. I believe DC would even be able to distribute ZWiki with Zope as long as any dependent products (such as CMFWiki) are also GPL'ed. Zope itself would not have to be GPL'ed since it does not depend in any way on ZWiki. By the way, the "operating system" clause of the GPL does not apply. The clause is there because it's clear that although an operating system is required to run most GPL'ed software, a *specific* operating system is not required. If there were multiple distinct implementation of the Zope APIs, there would be grounds for a different interpretation of the GPL. So let me summarize: - GPL applied to Zope products is currently meaningless. If, however, the ZPL is made GPL compatible at some time, the GPL will automatically take effect for products that currently attempt to apply the GPL. - As the original developer you can distribute to whomever you please, but trying to use the GPL to grant rights to redistributors is ineffective right now. (Technically, those who receive the product don't have the right to use the product at all, except for the fact that posting it on zope.org and attempting to apply the GPL is a somewhat weak means of expressing permission.) - Unless you're making something substantial, you shouldn't be concerned that your code will be stolen by code sharks. You might consider a dual-licensing scheme where users are allowed to apply either the GPL, when it becomes possible, or some other license. - The GPL is designed to build a pool of software from which anyone can draw as long as they play by the rules. As long as the ZPL is not compatible with the GPL, no one can truly add Zope products to this pool. If your philosophy agrees with the GPL, I urge you to lobby DC to get the ZPL changed. - DC has not changed the ZPL because there hasn't been any strong push to make it happen. I certainly can't make it happen; some of my arguments are a bit weak and I personally have no reason to release a product under the GPL. Make your voice heard. Keep in mind that many on the management team don't have time to read the zope-dev and zope lists. Shane