allowing non-free use but limiting public performance

Justin Wells jread at
Wed Feb 23 15:54:21 UTC 2000

I want to run a few licensing ideas by this list. I have a license with 
a GPL style grant that boils down to a statement like this:

    You may create derived works based on this software. Your derived
    works must be licensed to the public under the terms of this license,
    royalty free, and without additional restriction. You may use, copy,
    distribute, display, perform, and sublicense such derived works, 
    possibly for a fee.

I also want to allow commercial software developers to make some non-free
derivations of my software. However, I want to place limits on this. 

In particular, I don't want there to be a non-free version of my software 
(no non-free code fork).  I only want there to be non-free applications
that use it. I think I can accomplish that like this:

    You may create non-free derivations and use, copy, distribute, and
    sublicense them without providing source code to your users. You may
    charge a fee or royalty for doing so. However, recipients of such 
    non-free derived works shall not receive the right to create any 
    further derivations.
I think that's pretty straight forward and fair. You can create non-free
applications, but they're dead-ends. If you want to create a derived 
work that is not a dead-end, then you have to do it under the free, 
open license. If your customer finds a bug, they can't fix it--they have
to come to you and ask you to do it, which you do by creating another
non-free derivation after correcting your source code. This is draconian,
but also the way non-free software developers seem to like to have it.

Enter controversy: I am worried about CORBA/RMI/DCOM/etc.

You could still build non-free derivations of this by making the non-free
version a CORBA/RMI application that exports its API. New derivations 
could be made which call the CORBA API. Nobody knows whether or not these
applications would be derived works or not. If they are, no problem. 

If not?

Maybe all is not lost. I can put a controversial statement like this in:

    In addition, there is no right of public performance granted to 
    such non-free derived works.

This stops running the non-free derived work on a public application 
server. It doesn't stop people from running it in their own CORBA server
and linking to it--but maybe that route is closer to derivation.

It also hurts. You can't run the non-free work on a public webserver. You
can only use it on a private server, an internal network, etc. 

I want some comments on this. In particular:

  -- Does this really help at all in restricting CORBA/DCOM/RMI? Does
     forcing the user to run it themselves make their activities more
     like derivation? 

  -- Can a statement like this live in an opensource license?

  -- Can you think of another way to do what I want? Namely, to restrict
     peoples ability to fork the code, other than via the free license?

For now I am leaving it out of my license, but if it would help, I am 
thinking seriously of putting it in. 


More information about the License-discuss mailing list