There have been concerns among people in the Debian project that Turck MMCache binaries are undistributable under the GPL. Without a license exception to link against PHP, or an LGPL license, it is violating the GPL to distribute binaries linked against PHP-licensed code, including PHP itself. Some people are contemplating removing turck-mmcache from the Debian archives because of this legal difficulty. As a user of turck-mmcache on Debian, I'd hate to see that happen. Unfortunately, we have the situation of a defunct company owning the copyright, so I'm not sure how we can get relicensing accomplished now (although a Russian pointed out a quirk of Russian law that may allow the copyright to fall into public domain or back to Dmitry Stogov).
PHP license or LGPL would probably be preferable to ensure that distribution is legal.
(I was mistaken about the "presumably because they put him to work on Zend Optimizer, and didn't
want him contributing to a competing project" clause - my apologies)
As Elizabeth pointed out, the current licensing of Turck-mmcache means it cannot be distributed as binaries by Debian.
The recent fork (eaccelerator: http://eaccelerator.sourceforge.net/Home\) is still under GPL and so has the exact same problem.
What we need is the mmcache codebase relicensed to be compatible with PHP. However, the big problem is that the copyright owner is Turcksoft (which I believe is now a defunct company) since Dmitry wrote it under contract to them, and under standard copyright law the copyright of "work for hire" rests with the employer not with the creator. Eaccelerator have taken the mmcache codebase and stripped out Turcksoft's copyright notices and replaced them with Dmitry's name, but unless someone can show otherwise I'm pretty sure that's illegal.
The catch-22 is that the codebase needs to be relicenced so that someone else can continue development, but it can't be relicenced because the copyright holder is defunct.
If anyone has any ideas how to resolve this, please speak up now.
"What we need is the mmcache codebase relicensed to be compatible with PHP. However, the big problem is that the copyright owner is Turcksoft (which I believe is now a defunct company) since Dmitry wrote it under contract to them, and under standard copyright law the copyright of "work for hire" rests with the employer not with the creator. "
turck software was, however, a russian company. i haven't paid close attention to copyright law, but i'm pretty sure in this case, 'standard copyright law' may not be operative.
I am afraid you are very confused. There is nothing in the license that forbids you to distribute binaries of a GPL package as long as you provide access to the source code.
The problem of Debian is a different thing, which is the fact that they also distribute PHP binaries and PHP license is not GPL compatible. The problem of Debian is distributing PHP and MMCache together.
Anyway, if you distribute a version of MMCache and make the source code available, the problem of Debian is only of Debian maintainers, not of MMCache or any forks.
"I am afraid you are very confused. There is nothing in the license that forbids you to distribute binaries of a GPL package as long as you provide access to the source code."
"The problem of Debian is a different thing, which is the fact that they also distribute PHP binaries and PHP license is not GPL compatible. The problem of Debian is distributing PHP and MMCache together."
Ah, so it's OK to distribute Turck-mmcache, or PHP, but not both together?
Unfortunately that means Debian can't distribute either Turck-mmcache or eAccelerator, or by that logic any other PHP module licensed under the GPL (or possibly any other GPL software at all, since PHP is also distributed and they can' be distributed together - which would obviously be ridiculous, but is my reading of what you've said. Please tell me I'm wrong.)
It doesn't resolve the copyright violation issues of course, but I don't really care about that in the context of making Turck-mmcache / eAccelerator distributable by Debian. Right now all I care about is working out some way that Debian can distribute both PHP and Turck-mmcache/eAccelerator without being in breach of either of the relevant licences.
So, just to make sure I've understood you correctly Manuel: you say Debian can't distribute it because it's under GPL and Debian also distributes PHP? What's meant by "distribute together?". Putting them on the same CD? Making them downloadable from the same web server?
What would make this whole problem go away would be if the codebase could be relicenced under something like the LGPL or PHP license. To relicense it, the copyright holder would need to do it. The files in eAccelerator have had Turcksoft's copyright replaced, so *if* we make a big assumption that no breach of copyright has occured here, then the "new" copyright holders could reissue the code under the LGPL and everyone would be happy. Unless of course the change of copyright was later shown to be unlawful, and then the house of cards would fall over.
So, could the "new" copyright holders please relicense Turck-mmcache/eAccelerator under the LGPL, then it can be distributed again and we only have one problem to worry about (possible copyright violation) rather than 2?
I do not think there is a problem with MMCache itself. The problem is solely with Debian and the fact that they distribute PHP binaries that dynamically link with MMCache binaries.
Note that even if you use Debian, you can download PHP from them and download the source of MMCache and rebuild your own MMCache binaries. AFAIK, GPL does not forbid you to link non-GPL binaries with a GPL code that you compiled. What you could not do is to re-distribute those binaries together.
When Debian is distributing PHP and MMCache binaries as part of their distribution, they are violating the GPL licence.
Although I am not concerned with Debian, I suppose Debian people could fork PHP and redistribute it with a GPL license. The only relevant restriction of the PHP license is that the fork name could not have the PHP name in it.
For instance, GNU-PHP is not a acceptable (Rasmus hunts people that use the PHP name despite AFAIK he does not hold any trademark on the name PHP). I think if they called the fork GNU-P it may be acceptable, although I suspect that Rasmus would be annoyed anyway.
As for relicence MMCache, forget it. It is not absolutely necessary and you will probably have an hard time finding the legal sucessor that holds its copyright.
I would suggest that anybody with time and skill would create a new project with an acceptable licence instead of forking MMCache. If you write code from scratch, even if you based your knowledge on looking at MMCache code, it would no longer be a fork and you would be free of legal ties.
A rewrite would be non-trivial, and there are very few people with the skill and time to pull it off.
As for forking PHP under the GPL (unless you want to go back to PHP 3 and build from scratch): it's impossible to relicense under GPL because of the advertising clause in the PHP license. GPL stipulates "You may not impose any further restrictions on the recipients' exercise of the rights granted herein."
"The problem is solely with Debian and the fact that they distribute PHP binaries that dynamically link with MMCache binaries.
Note that even if you use Debian, you can download PHP from them and download the source of MMCache and rebuild your own MMCache binaries."
Yes, but that's the whole point: of course you can download the source and compile it yourself and blah blah blah, but the whole reason for a "distribution" is to distribute software as a complete system that people can just use. Do you really think every person who wants to use eAccelerator should have to compile it themselves, or that people should have to manually compile every piece of software they ever want to use? That's not very useful for the typical end user.
I don't just "use" Debian, I'm the Debian maintainer of Turck-mmcache and I'm trying to figure out if there is any way to keep it in Debian for the benefit of all Debian users. Of course I can compile it myself and use it for my own purposes, but what I'm trying to do here is find a way that allows thousands of other people to benefit from Turck-mmcache / eAccelerator without having to install all the build tools, figure out how to configure it, and build it personally.
With the current licensing situation Turck-mmcache (and therefore eAccelerator) will never be distributable by any Linux or BSD distribution, which is the exact problem we're trying to work around. You're basically saying it's a waste of time trying to work around it and to just give up and let every user compile it themselves.
I think that would be a terrible outcome because it would prevent Turck-mmcache / eAccelerator being usable by a huge number of people who would happily "apt-get install turck-mmcache" but couldn't be bothered figuring out how to do it from source.
But if that's the way it is then I may just have to give up and pull Turck-mmcache out of Debian. I'd really hate that.
Maybe I am not being clear but AFAIK, nothing stops you to build Debian binary packages and distribute them independently from the actual Debian repository where PHP binaries are made available.
But even if Richard Stallman jumps on your back, I suppose there is an equivalent to RPM source for Debian packages. In that case just distribute a .deb source archive and the users just have to do the equivalent to rpm --rebuild to build the binry package and then install it. This is the solution used by some distributions to ship installation packages for qmail or Microsoft True Type fonts.
Yeah, we could stick it in non-free or contrib, and cause the downloading of source, and patching to happen on the end-user's system. It's clunky, and I'd prefer to avoid that.