Proposed license from AT&T

Justin Wells jread at semiotek.com
Fri May 5 08:22:48 UTC 2000


On Sat, Apr 29, 2000 at 10:24:36AM -0400, Rod Dixon, J.D., LL.M. wrote:
> I agree that the ATT license is a bit legalistic and could be written in
> clearer language, but there is much to be learned from there draft.

OK. Well, I'm trying to learn from it, so I went through the AT&T license 
and copied a lot of the ideas, and some of the language, into my
SPL license. I've also received some comments from the Apache people, 
and have modified the license in response to those comments too.

Unfortunately it also grew a third page, full of definitions, but hopefully
that material earns its keep and makes it a stronger and clearer license.

I have a FSF worldview, but the people most interested in my code are in 
the Apache camp. So I am trying to make this a "compatibility" license 
which bridges the gap between the two opposing worldviews. It's a tricky
balancing act.

Right now I am especially interested in whether my use of definitions 
is sensible, but as always I am interested in anything that is unclear 
and/or dangerous in my license. 

Major changes:

   -- Clarified that the section on combined software does not impose any
      conditions or restrictions on the other code that gets combined 
      with ours, and rewrote the section for clarity and correctness.

   -- Definition of "modify" no longer uses the scary term "link" but 
      instead states that modifications at execution time are included,
      with a better definition of what a modification is.

   -- Clarified that "depending on" an operating system does not mean 
      simply functioning on that operating system.

   -- Better definition of "Source code" and of "our software"

   -- Moved definitions to their own section, and expanded the number of
      terms defined. Now we have definitions for "deploy" (specifying what
      you can do with the software, rather than the vague term "use"), 
      "distribute" (stating that transmission is included, and requiring
      distribution as a whole), "electronically publish" (meaning putting
      software up essentially for free on the internet), 

   -- Rewrote the opening section to have a clear acceptance clause

   -- Restored language suggesting that the user perform acceptance 
      tests ("prove to yourself") before using the software.

   -- Tightened up GENERAL TERMS: state what the consideration is, refuse
      to give up trademarks and other IP, prevent infringement suits being
      launched against us, strengthen the termination language to make 
      it enforceable.

I've attached an annotated and a non-annotated copy. You can read it in
HTML or postscript or PDF here:

   http://shimari.com/SPL/

Thanks again for your help!

Justin

-------------- next part --------------

>                            Simple Public License 
>                                 Version 0.24
>
>
> READ THIS AGREEMENT CAREFULLY: "We" are only willing to license "our 
> software" to "you" if you agree to and comply with all of the terms
> and conditions of this agreement. By accessing or using our software,
> you accept this agreement in its entirety. If you do not wish to be bound 
> by this agreement, do not use our software. Terms with special meaning 
> are quoted on first use and defined in Section 4.
>

This is how you wind up coming to accept this agreement: You don't get
to use the software unless you do.

Definitions do not appear until the 2nd page because I want people to
reach early conclusions about the license by glancing only at the
first page.

>
> (1) DEPLOY, DISTRIBUTE, AND MODIFY OUR SOFTWARE
> 
> You may "deploy" and "distribute" our software. 
>
> You may "modify" our software provided that prior to any public or third 
> party deployment you "electronically publish" your modified version, 
> including all "source code". You grant the following irrevocable, worldwide,
> non-exclusive rights to your modified version: any recipient may use it 
> under the terms of this agreement, and we may "adapt", deploy, distribute,
> and sublicense it.
>

So far, a basic open source license with a copy left. Later we will 
weaken the copy left to allow certain kinds of linking and use that
this paragraph would appear to forbid.

We get to "adapt" and "sublicense" the code so that we can re-license
the software under other terms. For example, so we can make exemptions,
or integrate it into our other products. Other recipients of the software 
gain the right to use it under this agreement.


But first:

> Your modification must not make the modified version "dependent on" 
> other software, unless that other software is electronically published 
> under a license which allows everyone to deploy and distribute it free of 
> charge. Also, under any patent claim now or hereafter licensable by you
> which covers matter contained in your modification you grant a perpetual,
> worldwide, fully paid-up, non-exclusive patent license giving each 
> recipient the right to make, have made, use, sell, offer to sell, import, 
> and redistribute your modification only when contained within lawfully 
> created adaptations of our software.
> 

You can't fool the world into relying on your modification, and then 
pull the rug out from under everyone and announce your patent and/or
charge a lot of money for the software You've created dependencies on.

This is worded so that it is OK to depend on the Java Runtime Environment
from Sun (the JRE) which everyone can distribute and use, but not modify.

The patent language is intended to extract the minimum patent grant that 
would let everyone use the software as the license intends.

>
> (2) COMBINE OUR SOFTWARE WITH YOUR WORK
> 
> You may combine an unmodified copy of our software as a whole, or a compiled 
> version of it, with "additional code" to create a "combined work" which you 
> may deploy. You may distribute the combined work provided the additional 
> code has substantial functionality beyond that of the code it is combined 
> with, and has been electronically published, including source code, under 
> an "open software license".
>

This weakens the copyleft. We allow you to link us with other software,
so long as the other software STARTS OUT being open source. Since the 
other software's license might be the kind that allows proprietary use, 
the other software may not end up being open source--someone might make
proprietary changes. This is OK. 

We feel that the open source benefits by the creation of the software that
links us in, so in terms of promoting the creation of more open source 
software, we already "win" when that open source code is published--no 
matter what happens to it after that.


> If you have received a combined work from someone else, you may deploy and 
> distribute it. You may adapt the included copy of our software as permitted 
> in Section 1, and you may adapt the additional code as permitted by its own
> license. Provided that your version of the additional code is a recognizable 
> version of the original, you may recombine your version of our software with
> your version of the additional code to form a new combined work, which you
> may deploy and distribute. You don't have to disclose source code for your
> version of the additional code unless its own license requires you to do so.
>

People who receive this combined work need to be able to do something with
it. We want them to be able to do anything at all, providing that when 
they make changes to *our* code, they publish those changes.

Whether they would also have to publish changes to some other code
depends on what their other license allows them to do. Under an
Apache or BSD style license, they wouldn't have to do anything
except credit the authors of the other work.


> This section does not place restrictions or conditions on the additional 
> code, but only regulates the way in which our software can be combined 
> and distributed with other materials.
>

Just in case anyone is worried, we make it really really clear that the 
above paragraph sets out the conditions and terms for use of OUR software:
we are not interested in putting conditions on other peoples software. 

Someone else may wind up creating more open source software in order to
link with our code--but that is just a PRE-condition of linking, and it
is a condition on OUR software.


>
> (3) CREDIT US
>
> When you distribute a work that is subject to this agreement you must 
> attach our copyright notices and a copy of this agreement, and credit us 
> whenever the authors of the work are credited.
>

We get rich by becoming huge open source celebrities--in order to ensure
that we do, we demand credit. Oh and hopefully our software is good too :-)


>
> (4) IMPORTANT DEFINITIONS
>
> For the purpose of this agreement, certain terms have been defined below
> and elsewhere in this agreement to encompass meanings that may differ
> from, or be in addition to, the normal connotation of the defined word.
>

Really this is filler to prevent Netscape from pulling the first few lines
of the next page onto this page when you print it out ;-) I think it would
be OK to eliminate this paragraph. (I use Netscape to create the postscript).

It's pulled verbatim from an AT&T license, so maybe it means something to
their scary pack of lawyers.


> "We", "us", and "our" refer to the copyright owners of our software. 
>

Note that even though "we" might start out small, as more and more 
people contribute to the code base, "We" will grow to be a large 
number of people.


> "Our software" refers to the copyrighted work licensed under this agreement,
> including computer software, compiled code, source code, documentation, and 
> any other materials distributed with it.
>

Our software is essentially a capsule which you must maintain as a whole 
unless you modify it under section 1, in which case recipients of your 
modified version must maintain it as a whole. Here we define exactly what
that capsule contians.


> "You" and "your" refer individually to each person or entity who has read 
> and understood this agreement in its entirety, and who wishes to access
> our software under this agreement, 
> 

If you haven't read and understood the agreement then you have no right
to use the software. No saying later that you want to be under this 
agreement, but you didn't read it, and thought it said something different.


> To "deploy" computer software means to read, compile to executable form, 
> execute, publicly display or perform, privately copy (including copying 
> into computer memory), or archive the software.
>

Rather than repeat all these phrases all over the license, we just stick
them all in one place and call it "deploy".


> To "distribute" means to redistribute or transmit a work as a whole, 
> including all of it, either by itself, or as part of an aggregate
> collection, to a third party.
>

Again, we use "distribute" often enough that it's convenient not to have
to include all of the things we really mean in each place.


> To "modify" software means to alter the literal program code, structure, 
> sequence, or organization of the software, including without limitation 
> alterations performed by patching, deleting, or replacing parts of the 
> the software, no matter whether performed at the time of execution,
> or at some earlier time.
>

This should capture all forms of alteration, even if they occur while
the program is running. For example, if you alter the software by 
relinking it in a way that replaces some of the core classes, you
would be replacing material distributed with the software.


> To "electronically publish" means to redistribute or transmit a work to the
> general public through an electronic medium customarily used for software
> exchange, such as by email, public web sites, or publicly accessible 
> source code repositories (for example: "CVS"). A fee may be charged 
> to cover the cost of the electronic distribution itself only.


Another phrase which is used several times. We just collect it here to 
shorten up the license. This phrase basically allows you to give the 
software to the public through a variety of fair and convenient means.

Note that you could electronically publish the software via a CVS archive 
to satisfy this requirement, charging little or nothing for that service, 
but sell CDROMs at a profit. 


> "Source code" is the electronic form of a work preferred for making 
> modifications to it, including without limitation human readable program 
> code, comments, compilation scripts, interface definitions, patch files,
> schemas, definitions, and specifications. 
>

Pretty standard. Very similar to other licenses.


> "Adapt" and "adaptation" include derivative works, adaptations, and
> translations under copyright law.
>

Try to work with both United States ("prepare a derivative work")
and Canadian ("adaptation") copyright law. Also, translation is to
be thought of as adaptation as well.


> Software is "dependent on" additional software if it has some functionality 
> only when that additional software is present. For example, software 
> depends on an operating system (OS) only if it can perform a function when 
> used with that OS that it cannot perform when used with a different OS.
>

Altering the software so that it runs on a proprietary platform does not 
make it depend on that platform, but altering it so that it ONLY runs on
that platform does.


> "Additional code" is a work which does not include any material copied or
> adapted from our software.
>

We use this term several times in section 2, defining it helps keep that
section short.


> A "combined work" is a collective work which includes a copy of our 
> software, or an adaptation of it, plus additional code. Our software and
> the additional code may be linked, deployed, and distributed together but 
> they remain distinct and are independently licensed works. 
>

It is important to assert that the parts of the combined work are separate
works with their own license. Otherwise we risk transferring our software
so that it is licensed under a completely different license; and we would
also risk trying to bring someone else's software under OUR license.


> An "open software license" is any license approved by the Open Source 
> Initiative (opensource.org), the Apache Software License (see apache.org), 
> this agreement, or any later version of this agreement.
>

I didn't want to use the phrase "open source license" because it is 
subject to a trademark, and doesn't include the Apache License, and 
doesn't yet include this license. Once this license is approved, and
the Apache license is approved, I may be able to switch.


>
> (5) GENERAL TERMS AND CONDITIONS
>
> This agreement represents the entire agreement between us and you. You
> receive valuable consideration in the form of licenses and rights, we 
> receive it in the form of credit and the rights to any modifications.
>

Consideration helps the court see this as a contract, which helps make
the license enforceable.


> Our software is copyrighted and licensed, not sold. We do not assign any 
> copyrights, patents, or other intellectual property to you. You may 
> not associate our name or our trademarks with any product, other than 
> to credit us in accordance with Section 3. You shall not assert against
> us any claim for infringement or misappropriation of any right
> protectable under copyright, patent, or trade secret law in any way
> relating to our software, including any claims relating to modifications.
>

We don't give up more rights than we say we do. And we don't want to get
sued for infringement either.


> Your rights and license under this agreement are worldwide and 
> non-exclusive, but conditional upon your compliance with the terms of 
> this agreement. Your rights and license (but not your obligations) shall 
> terminate automatically if you fail to comply with any of the provisions
> of this agreement, or exceed the rights and license we have granted you. 
> Upon such termination you must immediately cease all deployment and and
> distribution of our software. In addition to all other relief available
> to us for any failure to comply with this agreement, we shall be entitled 
> to an injunction requiring you to comply.
>

You lose your rights if you fail to comply with this agreement.


> Nothing in this agreement shall be interpreted strictly against you or 
> us. If any provision of this agreement is ruled invalid, the rest shall 
> remain in effect, and the invalid provision shall be reformed to the 
> minimum extent necessary to make it valid. If a new version of this 
> agreement is published by Semiotek Inc. you may opt to use our software 
> under the terms of the new version so published.
>

I know the "strictly against" stuff isn't likely to fly in all regions, 
but it might work some places. It's from an AT&T opensource license. The
severability clause and language to deal with invalid clauses hopefully 
ensures that in jurisdictions where this or other phrases would get us 
into hot water, We can get out of the hot water.

>
> (6) NO WARRANTY AND DISCLAIMER OF ALL LIABILITY
>
> Our software has been provided to you for free, with source code, but 
> without support or maintenance of any kind: it may contain defects, and
> may not conform to its documentation. You should examine the source code,
> and prove to yourself that our software suits your needs, before using it. 
> You must not deploy our software where there is any risk of death or
> personal injury.
>

This gives the court a good reason why we disclaim all our warranties.

There is an acceptance condition (you proved it to yourself) so there is
less need of an implicit warranty. We've given you source code so that
you can make this assessment. Furthermore, we've warned you that the
documentation is no good and the program is defective--what are your
expectations at this point?

If we tried to disclaim liability associated with personal injury or
In Canada there is an implied warranty that software must conform to 
its documentation, so I want to make sure We don't get hit with that.


> If you make our software, or an adaptation of it, accessible to a third party 
> then you are solely responsible for any warranty provided, and agree to 
> indemnify, hold harmless, and defend us against all losses, damages and
> costs arising from legal actions brought against us by such third parties.
>

Fred, who reads our license, may put our software up on a website which
Mary uses, and our software causes Mary to lose her life's savings. But
since she hasn't read our disclaimers, she could sue us. So we make Fred
responsible for telling Mary there are no warranties--or providing them
if Fred wants to do that.


> Our software is provided to you on an AS IS basis. WITHOUT LIMITATION, WE 
> DISCLAIM ALL WARRANTIES, CONDITIONS, OR REPRESENTATIONS, WHETHER EXPRESS OR 
> IMPLIED, INCLUDING WITHOUT LIMITATION ANY WARRANTIES OR CONDITIONS OF 
> FITNESS FOR A SPECIFIC PURPOSE, MERCHANTABILITY, AND NON-INFRINGEMENT.
>

In Canada and the UK it is not good enough to disclaim implied "warranties"
of merchantability, etc., You must disclaim them as implied conditions.


> IN NO EVENT SHALL WE BE LIABLE FOR DAMAGES, INCLUDING DIRECT, INDIRECT,
> SPECIAL, INCIDENTAL, CONSEQUENTIAL (INCLUDING LOST PROFITS), EXEMPLARY,
> AND PUNITIVE DAMAGES, HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
> WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE)
> ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF OUR SOFTWARE OR
> THE EXERCISE OF ANY RIGHT GRANTED HEREIN, EVEN IF WE HAVE BEEN ADVISED OF 
> THE POSSIBILITY OF SUCH DAMAGES.

I don't understand most of this, it's largely copied form other licenses.

-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: SPL.txt
URL: <http://lists.opensource.org/pipermail/license-discuss_lists.opensource.org/attachments/20000505/acf5e02f/attachment.txt>


More information about the License-discuss mailing list