Aryeh Gregor wrote:
This is C-oriented, but the application to MediaWiki is fairly clear. Extensions will invariably make function calls back and forth to core code, and share data structures (= objects). This conventional understanding is reflected in MediaWiki's README file, which has stated that extensions must be GPL (citing the above FAQ) for over four years http://svn.wikimedia.org/viewvc/mediawiki/trunk/phase3/README?r1=11468&r2=11770:
It's fuzzier for skins, though. It can be almost a php interface, very similar to the mentioned borderline case.
However, we don't actually enforce this against extensions, even ones hosted on mediawiki.org. (I'd be in favor, but most developers seem to be against.)
I think that's because they are more liberal licenses, like MIT*. Do we have any code that isn't GPL-compatible?
*To which extent they can do that is debatable. Maybe they can only license under that license *some* pieces of their code.
Another question is JavaScript: stuff that people put in Common.js or whatnot is probably a derivative work by the FSF's standard, but on Wikipedia it's licensed as CC-BY-SA 3.0, which is not GPL-compatible
We should probably change on wmf the editnotice on .js pages to require it to be colicensed as GPL. Specially since user space javascript sometimes goes into mediawiki.
Andrew Fitzgerald wrote:
So strictly speaking by their own definition, shouldn't WordPress be licensed under the PHP license?
I consider that completely unrelated. PHP is a platform, similarly as how you can use a non-GPL program on a GPL kernel. Or write a document on a GPL text editor without it being automatically open source.
Aryeh wrote:
Similarly, most Linux kernel developers maintain that drivers written for Linux must be released under the GPL -- but this presumably doesn't apply if BSD clones the driver interface, and the driver is written for BSD, and thus happens to work on Linux too. IANAL, and the FSF FAQ doesn't cover this case, so I dunno how this works.
It wouldn't need to be under GPL. AFAIK, the case for that is that kernel drivers usually copy code from the GPL ones. Also note that since some version, they have apis not available for closed drivers.
I think there are some interesting discussions about this on lkml archives.