wandenberg / nginx-push-stream-module

A pure stream http push technology for your Nginx setup. Comet made easy and really scalable.
Other
2.22k stars 295 forks source link

pushstream.js not compatible with jquery license #68

Closed Downchuck closed 10 years ago

Downchuck commented 11 years ago

jQuery is dual licensed with MIT and GPL, pushstream.js module is only licensed as GPL. Because JS is sent to the client-side, this effectively restricts the use of pushstream.js to projects that are GPL. While GPL is appropriate for the server-side module, GPL may be less appropriate for client-side code.

It would be helpful if pushstream.js were available under a less restrictive license, such as the MIT/GPL dual license or a CC0 (attribution free/public domain) license so that it can be used in non-GPL applications without license issues.

Kronuz commented 11 years ago

I concur with @Downchuck in that I believe a dual license (GPL/MIT) for the pushstream.js module would be desirable and more appropriate. Most JavaScript libraries prefer more permissive LGPL, MIT and BSD licenses. And for a very good reason.

LGPL may be a better choice than GPL, but since that license assumes the notion of a dynamically linked library I suggest avoiding it as well. Although GPL as been a very important license in the evolution of open source software, I honestly think it is not well suited for JavaScript code running in browsers. Morever, due the complexity of these licenses, it's not clear whether code licensed under GPL can even be run by JavaScript interpreters in non-free web browsers. Contradictory, other interpretations of the license say that if you're using a GPL package in a project, the requirement to provide source doesn't kick in until you actually distribute your project. With that, if you're hosting your website and plug-in is built into your website (you're not offering it as a download for a user to integrate into the website), you haven't given that GPL package to anyone, so you don't have to open source it or your project. The GNU FAQ goes as far as suggesting using Affero GPL license instead, if what you really want is to force the release and publishing of all sources of any running website powered by AGPL-ed software.

Having seen all the FUD, the one good reason not to use only GPL for pushstream.js is: no damn confusion whatsoever.