Take the 2-minute tour ×
WordPress Development Stack Exchange is a question and answer site for WordPress developers and administrators. It's 100% free, no registration required.

Suppose I create a WP plugin that includes a couple of SWFs that I create (not third-party SWFs). According to http://wordpress.org/extend/plugins/about/ , if I want to publish that plugin on wordpress.org I have to release it as GPLv2 or compatible.

The first question is more theoretical:

The second question is more practical:

  • If I tried to release a plugin that includes SWF "binaries" without source code on wordpress.org:

    • Would I be blocked from publishing the plugin on wordpress.org?
    • Would I be permitted to publish it, but publicly excoriated?
    • Would nothing happen?

Thanks for your thoughts,

JP

share|improve this question
    
Another variation on this: What if the SWF were to use the unmodified Adobe Flex framework? In other words, the framework would be required in order to compile the SWF using the source code. The Adobe Flex Framework is released under the MPL 1.1. –  JP. Oct 3 '11 at 19:16
    
GPL applies to code/products you distribute. You're not distributing the Adobe Flex Framework, so you don't need to worry about that license. You're licensing your code, not the tools used to write/compile it. –  EAMann Oct 3 '11 at 21:28
    
@EAMann The thing, though, is that the framework (or part of it) automatically gets compiled into SWFs using it. So, to that extent, I am "distributing" the framework. Would that change anything? –  JP. Oct 3 '11 at 21:46
    
No. Just like you're not distributing the .Net framework if you write code in C#, even though parts of the framework itself are compiled in to the final project. Just reference the fact that it was built using Adobe Flex and you should be fine. You just have to provide the original source you wrote in the original form you wrote it so others can make changes. External SDKs over which you have no control are, by nature, external. –  EAMann Oct 3 '11 at 23:28
    
Thanks - that helps me understand better. I don't mean to beat a dead horse, but another question: Suppose I have a closed-source SWC library ("library B") from my company that cannot be open-sourced for various reasons. Can I use this in my GPL-released SWF project, if I include the compiled SWC in the distribution (but not its source)? Library B would be independent to the extent that it would be on the receiving end of all calls, excepting event callbacks. (Someone who downloaded the source code would be able to compile the project, but they wouldn't be able to modify the library code.) –  JP. Oct 4 '11 at 2:30
show 2 more comments

2 Answers 2

up vote 2 down vote accepted

If you release your plugin with the SWFs embedded, they do in fact need to be released under a GPL-compatible license. This means you need to make the original source for the SWFs available, but not necessarily in the plugin itself.

You have two options:

The WordPress Way

When WordPress includes a third-party tool or library that's compiled or minified (i.e. SWFs for uploaders or large JS libraries that are minified on the server), they also include a "dev" version as well.

If you browse the contents of /wp-includes you'll see things like:

  • admin-bar.dev.js
  • admin-bar.js
  • etc ...

So, really, you could include an /src directory in your plugin that has the raw source code of your SWF controls. This makes them immediately available to anyone who needs them and alleviates any concerns you might have regarding hosting them yourself. However, it will make your plugin download considerably larger.

Host them yourself

According to the GPL, you can distribute compiled binaries so long as they include (6b):

Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge.

Essentially, if you put a ZIP file on your own server containing the source files and either link to it in your readme or respond to emails requesting a copy, you should be in the clear.

Why this matters

The entire point of the GPL is to protect the end users' right to modify the program they're getting from you. In the case of compiled Flash applications, this is only possible if you provide access to the original source code.

The official repository only allows GPL-compatible plugins. This means, whatever else your plugin might be, it must comply with the GPL. So you either need to distribute the source of your SWF binaries with your plugin or provide a clear way for end users to get them.

To answer your second question, you would likely be blocked from publishing the plugin on WordPress.org, or risk having your plugin pulled once someone notices you're distributing non-GPL-compliant SWF binaries.

share|improve this answer
    
Thanks for the clarification. In the case of a plugin like this, I don't see anything even mentioning a license, much less source code for the SWFs (maybe I'm missing it). Obviously, this is a popular plugin that's been around for a while. How do the rules apply in a case like this? –  JP. Oct 3 '11 at 19:11
    
That would be a case of it not being reported/no one asking them to link to source files. The exact same rules apply, it's just that no one noticed. –  EAMann Oct 3 '11 at 21:26
add comment

Long answer, short: if it's distributed via the WPORG repositories, the human-editable version must be included.

The current interpretation, as espoused by the WordPress project, is that Plugins are derivative of WordPress, and therefore must be 100% GPL-compatible in order to be eligible for hosting on WPORG. Similarly for Themes, as espoused by the WordPress project, is that Theme PHP files are derivative of WordPress, and therefore must be GPL-compatible, but that other resources may not be derivative. Nevertheless, in order to be eligible to be hosted by WPORG, Themes must also be 100% GPL-compatible.

In specific reference to your question: not too long ago, the JW Player for WordPress Plugin was forced to de-bundle the JWPlayer binaries, because source code was not available.

share|improve this answer
    
Actually, in this case it's beyond the derivative/non-derivative argument. It's just that WordPress.org states your plugin must be GPL-compatible to be eligible for hosting. –  EAMann Oct 3 '11 at 18:23
    
@EAMann the derivative/non-derivative part was in response to his question about needing to make source code available for his own SWF binaries. Clearly, such binaries wouldn't be derivative of WordPress; but in order to host on WPORG, they must still be released under a GPL-compatible license. Sorry if that point was not made clearly. :) –  Chip Bennett Oct 3 '11 at 18:34
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.