views:

249

answers:

3

Hello, I am developing a javascript API which is planned to be released LGPL early 2010.

  • I want to release a prototype in the form of a wordpress plugin which uses my new API.

  • I want to host this plugin on Wordpress' official plugin site.

  • Wordpress only hosts plugins which are compatible with GPL.

Ideally I would just supply an obfuscated release of the prototype API as closed source (i.e. copyright notices).

Can I GPL 3/2 my obfuscated script and not supply the original source which the script was generated? Intuitively I think so. If not, where's the GPL clause - and where do you draw the line on how much source to release? (e.g. would you need to supply comments/tools/tests, could you just supply badly formatted but still-readable source??)

NOTE: I do not want to release my API for 2 reasons:

  1. To protect a project fork until its first release.
  2. I want the project to begin on the right foot with the Open Source community... so increases chances of a successful project.

Cheers!

+2  A: 

As the author of the source, you can do whatever you like. However, when Wordpress finds out, they might remove your plugin from their site, since using obfuscated source defeats the purpose of the GPL.

As for "how much source to release", the relevant GPL statement is this:

For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.

Notice that this doesn't answer the question what "complete source" means for libraries. However, the intention is clear: it stops at code that everybody has, anyway, but not before.

Martin v. Löwis
A: 

Thanks for your insightful response Martin. It is yet another "gray area" of GPL...

The Plugin can bee seen as two sub-systems, using a external API:

  1. (Sub system 1) The back-end - direct wordpress interaction.
  2. (Sub system 2) The client-side GUI and ajax script interacting with the back-end.

  3. (External API) The JavaScript API I wish to protect.

So I would see sub-system 1 and 2 as the plugin, although sub system 2 depends on the external API, the API is a transparent and modular external library with no dependencies - i.e, not related to the wordpress plugin. Therefore if I fully Open sourced the sub systems (1 and 2) I would say the plugin is sincerely open sourced to which the open source community can contribute to... even if the external API is obfuscated.

I must lookup that clause in context too :)

Thoughts?

TheLostAcademic
+1  A: 

Obfuscated source isn't source in the GPL sense. The license defines source as the form of the program most suitable for changing, and that isn't the obfuscated version.

David Thornley
This probably only applies for the people who must redistribute the source code. The GPL doesn't apply restrictions to the person who is publishing the code.
Jader Dias
If you have to distribute source code, it can't be obfuscated. I believe you have to distribute source code if you distribute any version of the program.
David Thornley