2

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

7
  • 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, 2011 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, 2011 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, 2011 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, 2011 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, 2011 at 2:30

2 Answers 2

2

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.

2
  • 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, 2011 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, 2011 at 21:26
0

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.

2
  • 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, 2011 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. :) Oct 3, 2011 at 18:34

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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