[ale] License goop... was RE: [ale-unemployed] A proposal

Ken Kennedy kkennedy at kenzoid.com
Wed Jan 30 19:21:37 EST 2002


On Wed, Jan 30, 2002 at 05:04:38PM -0500, Charles Marcus wrote:
> 
> I will say this...
> 
> There are 3 entities with the copyrights to the same code.  Each of
> us can do whatever we want with it (there was a code fork).  Here's
> the sticky part...
>
> My boss doesn't know that I also was granted a copyright by the guys
> doing the coding, in exchange for my off-hours work on designing the
> system (screens and functionality).  What this means is I could,
> technically, go ahead and open it up now, but I don't wanna do this
> without his permission while I am still working for him (ethics,
> ethics).  I have every intention of doing so if and when we part
> ways, but I don't see that happening anytime soon - I'm happy here.
> I have been trying very hard to convince him to open this up under
> at *least* the BSD license, which is what the programmers have it
> under, but preferably under the GPL.  I have some questions on the
> GPL here though...

Woohoo! License fun...*grin* And some folks thought that emacs vs. vi,
or GNOME vs. KDE was interesting...

> Our goal was to have the ability to have a plug-in type of
> architecture for adding functionality.  I don't think the
> programmers got that far before they threw in the towel (long
> story), but... assuming they did, can a plug-in for an app that is
> under the GPL be kept proprietary?  

No. Well...probably not. It depends. *sigh* Plug-ins are one of the
tricky things. Just as an FYI, there is an excellent FAQ on the GPL at
gnu.org: http://www.gnu.org/copyleft/gpl-faq.html

A couple of relevant passages from there (sorry for length):

Q: If a program released under the GPL uses plug-ins, what are the
requirements for the licenses of a plug-in?

A: It depends on how the program invokes its plug-ins. If the program
uses fork and exec to invoke plug-ins, then the plug-ins are separate
programs, so the license for the main program makes no requirements
for them. 

If the program dynamically links plug-ins, and they make function
calls to each other and share data structures, we believe they form a
single program, so plug-ins must be treated as extensions to the main
program. This means they must be released under the GPL or a
GPL-compatible free software license. 

If the program dynamically links plug-ins, but the communication
between them is limited to invoking the `main' function of the plug-in
with some options and waiting for it to return, that is a borderline
case. 

Q: How can I allow linking of proprietary modules with my GPL-covered
library under a controlled interface only?

A: Add this text to the license notice of each file in the package, at
the end of the text that says the file is distributed under the GNU
GPL: 

    Linking FOO statically or dynamically with other modules is making
    a combined work based on FOO.  Thus, the terms and conditions of
    the GNU General Public License cover the whole combination.

    As a special exception, the copyright holders of FOO give you
    permission to link FOO with independent modules that communicate
    with FOO solely through the FOOBAR interface, regardless of the
    license terms of these independent modules, and to copy and
    distribute the resulting combined work under terms of your choice,
    provided that every copy of the combined work is accompanied by a
    complete copy of the source code of FOO (the version of FOO used
    to produce the combined work), being distributed under the terms
    of the GNU General Public License plus this exception.  An
    independent module is a module which is not derived from or based
    on FOO.

    Note that people who make modified versions of FOO are not
    obligated to grant this special exception for their modified
    versions; it is their choice whether to do so.  The GNU General
    Public License gives permission to release a modified version
    without this exception; this exception also makes it possible to
    release a modified version which carries forward this exception.


(Import from GPL FAQ ends)

So it can depend on how the plug-ins work, and/or whether or not you
wish to define a particular interface, and allow an exemption for
it. Another option is the LGPL (see next comment).

> The reason I ask this is, there is some functionality that is very
> specific to our business, and that functionality my boss wants to be
> kept proprietary - he see-saws between the rest, but I think I could
> sell him on it if he could be assured that our proprietary business
> processes would not be available to our competitors (they could, of
> course, build their own).

> If the amswer is yes, I'll go to work on him immediately, again, if
> there is enough interest.

I understand, and that's one of the many places it gets tricky. Yet
another option (though weaker still, in terms of Free Software) is the
Lesser GPL (LGPL). The LGPL permits linking with non-free modules,
with some restrictions, and depending on how your software was coded,
could be useable. I don't recommend it, though. It has grey areas, it
can be (even more) confusing and it's not as "free" an option.

> > It's always your option, of course, as the copyright holder, to
> > restrict whatever you want/release under whatever license you want
> > (it's your code). But you can't do that and call it "Open Source", or
> > "Free Software".
> 

> I know.  I am a firm believer in OSS, and like I said, one way or
> another, it will eventually be open-sourced (I prefer the GPL, but
> don't have a huge problem with the BSD license), but I'd rather
> sooner than later.
>
> Another option is - can OSS that is under the BSD license be forked
> without the copyright holders permission and GPL'd?  

Oh, absolutely. If it has truly been written and released under a BSD
license, it actually has few protections. Once released, it could be
forked and re-licensed as GPL, or forked and re-licensed as closed,
for that matter.

> If so, then I could 'donate' the code (even though it is under the
> BSD license now, I don't think the guys have it on-line anywhere),
> but I'd have to be assured that I would retain enough control over
> the project that I could get the changes made that we need and to
> get it to a 1.0 release version.  Then, I would simply want some say
> in the ongoing direction of the project, and to continue
> contributing to the system design (I'd love to learn to code, but
> that takes time - time that I don't have right now).

Technically, that'd be just a matter of "negotiation" among the people
working on the project. If someone else WANTED to, they could always
take "your" code and fork it immediately, regardless of what Free
Software license you use. But without good reason, that's discouraged,
(and generally considered the sign of a poor
sport/hard-to-get-along-with type). You oughta be able to get what you
want.

> 
> And I appreciate it...
>
> ... 
> 
> Thanks for the comments

No sweat. Sorry for the long rambling here, but the licensing stuff is
hard to talk about tersely. Hope I helped.

-- 

Ken Kennedy	| http://www.kenzoid.com	| kenzoid at io.com

 PGP signature




More information about the Ale mailing list