Quote:
jerryj wrote:
Hey Herko:
I know you've done research on this and you've reveiwed this issue with some "experts" in the field. My guess is that your experts are individuals like yourselvs who have a "free software" world view that predisposes them to interpret this portion of the GNU license in such a restrictive manner.
wow... you start by assuming that the authority of my experts is of little or no value? And you don't even know them! My experts are not just my own experts, but our national government's lawyers who are dedicated to shedding light on the legal issues associated with working with open source software. They have made extensive and comprehensive studies of open source licenses and how/when to use them, in close collaboration with our nation's top researchers and professors on digital rights. As well as some european and other international collaborations. So disregarding their authority in this is not a good conclusion.
Quote:
I think your mistake is misinterpreting the term "module" on the GPL license to be equivalent to XOOPS modules.
No, I am not, and if you had actually read my whole post, you would have understood my points there. I said that the GPL is written for compiled languages, and the terms should be reinterpreted for use with interpreted languages.
Quote:
When in reality, what they're calling a "module" would be equivalent to a "library", "include", or "hack" in XOOPS (or most other CMS's).
Ah, reality. Where in the GPL license does it say you should interpret those terms as you suggest? Has this been legally certified by a judge? The answers to those questions is 'it doesn't' and 'it hasn't'. So much for reality...
Quote:
I mentioned Mambo in my previous post. They have an FAQ item on their website here that specifically addresses this question. See question #10 on the link.
They also have a thread in their forum that talks about this very topic regarding Mambo you can visit by clicking here.
So that's the Mambo Interpretation of the GPL, which is differnt from the XOOPS interpretation, which is different from the PHP Nuke interpretation, etc. etc. etc. We have FAQ and forum posts on this matter as well, do we have less authority on this then Mambo? We've been around longer... Does that give us more authority? I don't think so.
Quote:
If you create a XOOPS module and then distribute XOOPS and the module together, then the module must be released as GPL. However, if the module is released and distributed separately and installed into XOOPS by the user, it is not subject to GPL and can be released under a commercial license.
In the common interpretation that is not (completely) true. The GPL does not (only) talk about
distributions, it talks about code being
part of the whole program. The distribution terms of the license are obviously written for compiled languages, as the source code is not readily available to it's users like the code is for interpreted languages like PHP. So the 'packaging' terms of the license are less valuable for XOOPS (and Mambo as well). Untill this has been legally challenged and certified, of course.
The XOOPS project's interpretation of the GPL license focusses on the 'part of the program' terms, as they are subject to interpretation better. And this is the difficult part: for compiled languages the terms for when code is considered to be part of the whole program are well defined in the license and FAQ, but not for interpreted languages.
In our interpretation it is a little too easy to say 'it's not in there so it must be allowed', and in the spirit of the license we make the interpretation as I stated above in my previous post.
Quote:
Here is an excerpt from the GPL preamble:
Quote: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.
If you look at discussions regarding this "module" clause in the GPL, it usually centers around such items as linked libraries and derivative works. The spirit of the GPL is to make sure that derivative works from a GPL'ed piece of code are also GPL. Hacking the XOOPS core and reselling the hacked XOOPS core definitely IS a violation of the GPL license.
Agreed there.
Quote:
However, XOOPS modules are NOT derivative works because they do not include the XOOPS core files, and have to have the Xooops core system to run. I know that's hard to understand and at first sounds contradictory, but think of XOOPS as a "website operating system". Modules are independent programs that use website operating system calls to accomplish their work, in much the same way as Linux programs make calls to the Linux kernel.
By your way of thinking, Herko, every program that runs on Linux would have to also be GPL because it can't run independently of Linux (Xoops) and makes calls to the Linux kernel (Xoops core).
That's not how we interpret the terms of the license. Again, here's where the 'part of the whole program' terms come to the foreground. These terms are written for compiled languages, and deal with inclusion of libraries and calls to classes etc. That is not exactly the same with PHP applications like XOOPS.
XOOPS is definately not an operating system, it's simply an advanced script interpreted by the PHP parsing engine. That makes the parsing engine the operating system, as that interprets and executes all the commands (operates, hence the term operating system). By your own logic, all PHP scripts would have to be licensed under PHP's license, which of course is not the case. So that hierarchy has been decided long ago already and is not in question here.
XOOPS modules are, because of the way XOOPS's object orientation, by definition extensions to the whole program. The independancy of the modules is not their distribution (as that GPL term is for compiled packages), but their dependancy on code from the XOOPS core in their operations. If they can function without any GPL code, but have an interface with XOOPS to send the results to a XOOPS page, then the dependancy is very small (and thus the licensing as GPL not mandatory). However, XOOPS's architecture is such that most modules will use the core classes extensively and thus rely heavily on the GPL code. Thus, we consider them as part of the whole program (in the spirit of the GPL license), and if released, they should be released under the terms of the GPL license.
Again, this is our interpretation, one which we have checked and tripple checked with the leading experts of the Dutch government, and which we have found to be the most common interpretation. I am not saying that this is the *only* interpretation. If Mambo's interpretation works for them, that's fine with me. Mambo isn't (as) object oriented like XOOPS is. And these interpretations are just guesses untill someone decides to seek certification by a judge. But knowing the international legal system, that is a long and expensive process.
Bottom line is that the GPL is really unfit for use with interpreted languages. We have to make interpretations and leave room for that as well. We have a commonly used interpretation we strongly believe in (and would take to court IF nessecary). We don't begrudge any other scripts their own interpretation tho. Fransisco Burzi added a 'you are not allowed to remove the copyright notice in your pages footer' restriction to PHP Nuke, which has been legally unchallenged for a long time. Does that make it a valid restriction? Even that is legally uncertain untill a court makes it's ruling.
Herko