Subject: Re: Protecting free OS extension from use with proprietary OS
From: Chuck Swiger <chuck@codefab.com>
Date: Tue, 21 Dec 2004 20:29:06 -0500

pgraf@q40.de wrote:
[ ... ]
> When I release my OS extension, I want it to be used only for the free OS, 
> but not for the proprietary one. The free OS and my free extension are not 
> necessarily the same executable file (for ROM size restrictions), but as 
> soon as my extension is loaded at runtime, I see the OS and my extension 
> as "two modules combined into one program".

By this you mean, you wish to prevent the vendor of the proprietary version of 
this OS from redistributing your extension?  If so, the GPL is very 
well-suited for your situation, since that vendor will not be able to 
redistribute your software (unless they make their source code available).

If you want to prevent the end-users of the proprietary OS version from 
getting and using your software, that's a different story altogether.  Once 
you've published an open source project publicly on the net, it's out there. 
People who use the proprietary OS are going to be able to build use your 
module for themselves, without needing to redistribute your software to anyone 
else, and it would be hard to prove that any financial loss has occurred.

> However I suspect that there could be attempts to "grab" my free OS 
> extension for use with the proprietary OS, because the "commercial" circle 
> has failed for many years to achieve what I have, and I know that some of 
> their users are quite eagerly waiting for the functionality of my stuff. 
> They could make some small modifications to my software and then say it 
> was "separate" from the OS, just to avoid freeing the proprietary OS.

If I understand your concern properly, no, you don't need to worry about the 
vendor "relicensing" your code just by making a few trivial changes.  If you 
use the GPL to license your software, then any modified versions of your 
software will also be licensed under the GPL.

The other concern you seem to have has to do with how the software interacts, 
and whether that interaction forms a derivative work or merely an aggregation 
or compilation of software.  For simple examples, a dynamicly loadable kernel 
module or shared library would result in a derivative work.  If the software 
in question is separate enough to run by itself as a distinct process, then 
the GPL would likely not apply.

[ Talk to a lawyer about your specific case, IANAL, TINLA. ]

> Now I wonder wether my intentions have enough protection by using the GPL 
> or would I be better off with a special license that explicitely forbids 
> runtime linkage with a proprietary OS?

A license which forbids a certain class of users from using your software 
would by definition not be an Open Source license according to the OSD.

I don't have any objection to a license which prohibits commercial use or 
redistribution, such as some shareware or "freeware for personal use/you need 
to buy licenses if you use it at work".  Such licenses are open, free (to an 
individual), however, they are not fair.

-- 
-Chuck