[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[POSITION SUMMARY] Re: Plugins, libraries, licenses and Debian




On Dec 8, 2003, at 10:00, Måns Rullgård wrote:

What I'm trying to find out is, whether or not it's allowed to write a
plugin, using GPL,d libraries, for a program with MIT license, for
which there also exists plugins using OpenSSL (or anything
GPL-incompatible).

As long as its really a plugin, I'd say so. By plugin, I mean it provides additional features, through a generic API, which may optionally be invoked by the user, through menu items, command keys, scripts, etc.

To explain my position, I'm going to use a fictional program, Anthony's Image Editor (AIE), distributed under the MIT X11 license. Like GIMP, Photoshop, and most other image editors, AIE has plugins that let the user manipulate the images. In addition, it has scripting that lets the user automate image manipulations.

Among AIE's many plugins, are these two:
	STENOG, which uses OpenSSL to encrypt a message, and stenography to
	        hide it in the image. License: OpenSSL

	INVERT, which inverts the image. License: GPL

Now, for the argument. Let's assume that the plugins are a derivative work of AIE.

We know that AIE is not a derivative work of the plugins, because a derivative work must be based on a pre-existing work.

Now, can we distribute both the STENOG and INVERT plugin? Clearly, we can distribute either one separately: The X11 license is compatible with most everything.

The only thing that would prevent me from distributing both is the GPL. But I argue that GPL 3(a) clearly gives me permission to distribute INVERT, no matter if STENOG is there. In particular, 3(a) gives me permission:

	3.  You may copy and distribute the Program (or a work based on
	it, under Section 2) in object code or executable form under the
	terms of Sections 1 and 2 above provided that you also do one of
	the following:

	    a) Accompany it with the complete corresponding machine
	    readable source code, which must be distributed under the
	    terms of Sections 1 and 2 above on a medium customarily used
	    for software interchange; or,

	...

	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.

I will accompany INVERT with complete source code, as defined above. Since we're assuming INVERT is a derivative work of AIE, I will include the source code of AIE as well. The source of INVERT is under the GPL, clearly quite legal to distribute "under the terms of Sections 1 and 2." The source of AIE is under the MIT X11 license, clearly quite legal to distribute under those terms as well.

I have thus, even with STENOG included, satisfied the terms of the INVERT license.

Now, there is a potential problem. Remember that scripting language mentioned before? If someone were to write a script that used both INVERT and STENOG, and then distribute that script, there might be a problem. But that's an issue for another thread.

This is no different from perl/python/whatever modules under different licenses.


Reply to: