Question: I've been looking into using the Wordpress Repository for one of my larger plugins, the problem is that it's using a lot of third party software. Video players/Slide scripts/Jquery includes, some of which are commercial in nature. 

My question is related to the content that differs from the GPL v2. Id like to include those into the plugin, since that would make it easier to use. If I get permission from the third party, is this possible? As an example flowplayer (GPL 3) and Longtail Video Player (Commercial).

Also will this supporting software be exempt from the GPL 2 license restriction?

Answer: 
License Compatibility
---------------------

As a [recent commenter pointed out on my site](http://mindsharestrategy.com/a-quick-gpl-overview/#comments), it should be possible to distribute a plug-in that's not GPL so long as you don't distribute it with WordPress. However, the guys at WP.org have [pointed out](http://wordpress.org/extend/plugins/about/) time and again that only GPL-compatible plug-ins **must** be [compatible with version 2 of the GPL](http://www.gnu.org/licenses/gpl-faq.html#AllCompatibility).

So this puts you between a rock and a hard place. Strictly speaking, you can't distribute commercially licensed software under the terms of the GPL ... so Longtail would be out in this case. However, you might be able to get permission from Flowplayer to incorporate it in a GPLv2 plug-in. Just make sure you ask and point this out clearly in the documentation.

Support
-------

But remember, including 3rd party libraries doesn't require you to support them if the end user is using them outside your plug-in. And "support" is ambiguous anyway. The only support-related requirement is that, if you distribute compiled software, you provide a written offer (valid for 2 years) to provide the source code to anyone you gave the compiled binaries to. Since your plug-in is written in PHP, it's *interpreted* not compiled ... so you already provide the source code. (Meaning you're not obligated to do anything further).

Alternative
-----------

A potential alternative would be to make your plug-in "pluggable." Meaning it can use whatever video library or player the end user has available. Then you can load and use something like Longtail if it's available without having to distribute it. This just adds an extra requirement for the user to find, download, and install a separate player of their choice (I'd recommend listing several possibilities in your documentation).

Then you'd add a configuration section to your plug-in (somewhere in the admin screen) where the user enters the path of their video plug-in and tells you which one it is (so you can use the right API). This lifts the burden of licensing off your shoulders.

In Summary
----------

Just remember these key points:

* Your plug-in must be compatible with version 2 of the GPL, even if it's using some other license
* Your only support requirement is to provide the source of your solution, which you do by default when you release it to the WP.org repository
* If you incorporate a (non-free) third-party solution, you're limiting the rights of your users to edit, re-publish, and re-distribute your system ... though this isn't in the spirit of the GPL, [there are some ways to do it](http://www.gnu.org/licenses/gpl-faq.html#GPLIncompatibleLibs)
[Official requirements](http://wordpress.org/extend/plugins/about/) say that code should be [GPLv2-compatible](http://www.gnu.org/licenses/license-list.html#GPLCompatibleLicenses). Note that actual page they link to is for GPL-compatible of unspecific version and includes GPLv3 as well. Quick search show some GPLv3 plugins in repository so that one should be fine.

Definite no on proprietary components, unless you convince developers to release or dual-license their code under compatible license.

The one way around that would be to make plugin download and install proprietary components during installation (with disclosure and such), but that is not a technique I see used often.