Simple Public License, second draft

Justin Wells jread at semiotek.com
Sat Sep 4 01:20:42 UTC 1999


Hi Bruce, you will probably get another message form me, or at
least a revision of the SPL, because I will reread your message
again, and think about the issues raised.

So this is not a final response by any means, but I can clear up 
a few things you brought up:


On Sat, Sep 04, 1999 at 12:03:13AM -0000, bruce at perens.com wrote:

> Forgive me for being busy and tired. If there's anything I haven't covered
> here, please ask.

There's no rush. The longer this takes, the more peoples ideas I am 
able to solicit :-)


> From: Justin Wells <jread at semiotek.com>

> It still looks to me as if it won't pass the OSD. Of course you have an
> Open Source license in the GPL, you may simply resolve to have one
> Open Source license and one non-Open-Source license.

Maybe. However I am determined to come as close as I possibly can, while
achieving something close to my original goal. I think there are 
various compromises that I can make that don't lose too much, and 
come a lot closer to the OSD definition--maybe close enough.

>  ... termination clause ...
> You should cease _distributing_ if your license is terminated, too.

Good point. I'll add that.


> > DEFINITION OF BASIC RIGHTS:
> > 
> >   The "basic rights" to software are defined as follows:
> > 
> >     The right to use, copy, reproduce, distribute, display,
> >     perform, and sublicense the software, and to charge a fee
> >     for any of these purposes.
> > 
> >     The right to create a "binary application" based on the software,
> >     by compiling and/or linking the software with your own separate
> >     source material to produce a binary executable or library; and
> >     to have these "basic rights" to that binary application.
> > 
> >     The right to create a "modified version" of the software, by
> >     adding, deleting, editing, changing, fixing, or otherwise altering
> >     the source files, APIs, documentation, and other materials that
> >     constitute the software; and to have these "basic rights" to that
> >     modified version.
> > 
> >   These basic rights are world-wide and non-exclusive. They include
> >   a limited grant under any patent right, trademark, or copyright
> >   that may apply to the software, minimally sufficient to allow
> >   full enjoyment of the other basic rights.
> >   
> 
> And you want these patent rights in turn from people who distribute
> modifications and own applicable patents, don't you?

This section is a definition of a term called "basic rights", which 
haven't yet been granted to anyone. In the next section, these
basic rights, including the patent rights, are granted to the 
prospective user, conditional on their fulfilling their obligations
under this license, and the grant of rights is also limited by
those obligations. 

In a later section I will turn around and grant these "basic rights"
to myself, with respect to modifications--so once again that 
would include the patent rights:

   ...stuff deleted...

> >   You grant to us the above basic rights to any modifications,
> >   fixes, extensions, improvements, or other alterations to our 
> >   software which you submit or suggest to us.
> 
> Insert language about grant of patent rights above.

So I believe that the patent right grant is here as well, since 
it is part of the definition of basic rights. 


> >     a) Your modified version of our software will not be less free, 
> >        meaning that it will be covered by this license; have no fee 
> >        associated with it, other than a reasonable fee to cover the 
> >        distribution costs; and that it will not be made dependent
> >        upon additional software unless that software is freely
> >        available to the public under a license which grants everyone
> >        the above basic rights.

         ...

> >   Finally, you agree not to include any part of our software, or any
> >   part of a binary application based on our software, in a competing
> >   product, unless that competing product as a whole is considered
> >   to be a modified version of our software. A "competing product" is
> >   understood to mean software which has, at least in part, the same 
> >   purpose as we stated for our software in its definition.
>    
> 1. You are writing your own loopholes. Why include the restriction at all
>    if it is now so easy to circumvent?

It's not circumvented. I'm invoking the copyleft associated with 
being a "modified version". By being considered a "modified version"
of the software, you are required to obey the obligations for
modified versions of the software.

That includes "will not be less free" (quoted above), which means
effectively that your competing version has to come out under the
SPL (rather than being a proprietary binary derivative).


> 2. I still don't see how this restriction could be considered to be compliant
>    with the OSD. I just don't think you can restrict the type of product in
>    an OSD-compliant license.

The claim here is that if you use the software to build other software
that has the same purpose as the original, then no matter how you 
did that, the result is a "modified version" rather than just a (less
restricted) binary.

I believe that the claim is now much stronger and much more 
OSD friendly, possibly even with a lot of legitimacy under pure
copyright law. I think it's hard to build a case that a work with 
the same general purpose, constructed using parts of the original,
is not a bona-fide modification of the original. 

And if so, I am not even restricting based directly on domain, I
am invoking the standard mechanism that applies to any modified
version, this is just asserting my view that it is one.

I think there is a subtle but important difference betwen what 
I was doing before, and what I am doing now.

My original concern was that someone would build a non-free work and
build my application into it, and then compete with me. In the 1st 
draft, I simply tried to outlaw that. 

After you and several others raised objections (on and off this list) 
I sat down and thought about it--and I moved to the much less extreme,
and more GPL-like claim that if it has the same purpose, and it used
my code, then it is not just some derived binary, it is a modified 
version of my work itself, and therefore subject to copylefting.

>From a free software developer's point of view, this is no restriction
at all: if you planned to release under the SPL, you are already 
more or less in compliance with what this section demands. Thus a
FREE software developer need not consult a lawyer or worry about
what competes or doesn't.

If you are a proprietary developer, you have to make sure that your
non-free applications don't infringe into the domain of the original
software, or else you get whacked with a copyleft. A proprietary
developer (who presumably has a budget) might need to consult a 
lawyer and figure out whether or not they are. 

I've tried to move the hard work and pain of figuring that out onto
the shoulders of the people who can pay for counsel, and off the 
backs of poor free software developers who just want to code.

I've also tried to make it a more legitimate claim, based in 
actual facts about what you are doing. 


> I'm still not convinced that it's an improvement on the LGPL.

Well, hopefully I'm getting closer and closer all the time. In 
addition to larger and weightier issues relating to competes 
and readability, there are a lot of minor differences between
this license and the LGPL that I think add up to a big net 
benefit. 

It doesn't require distribution of the library, only mentioning
where you can get it. 

It moves credit of the original author up out of the source code
(never read by most users) into the documentation.

It provides the original author with an automatic copyright/patent
grant on submissions and suggestion (I added that in a version you
haven't yet seen).

It ensures that the original author gets to see the modifications,
whereas LGPL modifications may never be distributed to the public
(may just distribute to a few people internally).

It replaces the onerous obligation to document every change to 
the source code with the obligation to make the changes available
to the author (now optionally via a URL rather than e-mail).

To me, the restriction against direct proprietary competition is 
also an important gain--though obviously some people may debate it.
And the fact that the LGPL is 400% longer is not an advantage of
the LGPL.

Obviously it is not finished yet; possibly when my barrister gets
done with it, it'll be as unreadable as any other licene--but I am 
holding out some hope that this can be all be accomplished 
reasonably.

Waiting for comments as ever,

Justin




More information about the License-discuss mailing list