[License-discuss] For Public Comment: The Contribution Public License

Moritz Maxeiner mm at ucw.sh
Mon Aug 5 21:17:25 UTC 2019

On Monday, 5 August 2019 19:34:39 CEST Nicholas Matthew Neft Weinstock wrote:
> A few points that could do with some thought and possibly clarification:
> It doesn't seem like this license requires distribution of source code.  It
> seems like the original author could distribute an application only as a
> precompiled binary, in which case subsequent recipients/modifiers would
> also only need to distribute their "changes" as precompiled binary.

Yes, that is an (unintentional) side effect, thanks for pointing that out. The 
only downside to that I can see right now, though, is in terms of PR (seeing 
something licensed with this license won't guarantee that source code is 
available). But once someone does release source code under this license it 
(generally) stays that way.

> For obligation #2, it would be good to clarify what you mean by each
> "change." If I leave all the original source code untouched and add new
> code at the bottom of the same file, have I created a "change"?Is this
> limited only to the same source code file, or could a "change" also be
> templating, Java child classes, or static linkage?

The intent at least is as follows: If you make a change anywhere within the 
covered work, it's gotta be published. That would include any editing of 
existing covered files and any addition or deletion of files within the covered 
work. In terms of examples:

If you write a program that wants to use a library covered by this license 
this should not affect you at all. You would be able to instantiate templates, 
derive classes, and static link against the library without you having to 
publish any part of your program.
If, however, you start adding, removing, or changing functionality within a 
library covered by this license you'll have to publish each and every one of 
your changes in the same form you made them in (which is almost certainly 
going to be in source form; Yes, in theory someone could put in the effort to 
make the changes in binary form only and even write some kind of program to 
automatically apply the changes to the precompiled library, but to be honest, 
once you enter that level of shenanigans I don't think any current OSI license 
will protect the library' author intent - you can always to some crazy things 
like adding an open source shared memory bridge to a library in order to 
bridge with a closed source program).

So the only crucial factor is where you make the change. Within the covered 
software or not. I guess you could use the following as a rule of thumb: If 
you make the change in the software's source tarball, you gotta publish it. If 
you just consume what the software provides outside of the software itself, 
you're fine (including writing plugins).

To be honest I don't know how to be clearer in the license than explicitly 
referring to "this software" other than to explicitly (and verbosely) start 
listing things with something like:

"Changes include, but are not limited to [...]"

and I'd really like to avoid that. I personally think it's clear enough as is, 
but if there are more people sharing your point of view than not I'll consider 

> With IP licensing, the IP holder can grant a license to only some IP rights,
> so you want to make sure to list all of the rights you want to grant.  For
> example, with your Copyright license, you're only listing "use and
> distribute."  This could be viewed that you are not granting recipients a
> license to make changes (the right to create derivative works).  And you're
> not listing any rights for the Patent license, you're saying that they
> receive a patent license for patent claims but not saying what the licensee
> can actually do.

I see. Due to me having received lots of good feedback today things have moved 
quite fast and there's a new draft that I think addresses these issues (if 
not, please do not hesitate to point that out). I've attached the latest draft 
to this reply and will also send it later to as a top level reply to my 
initial post as an update so everyone can easily see it.

> Finally, a quick note on naming, there's already a CPL.  Since you got rid
> of the word "Contribute" maybe think of a new name for the license with a
> unique set of initials.

Makes sense, somehow I've missed the Common Public License, thanks, I'll have 
to think of another name, then.
How about the "Sharing is Caring License" (SiCL)? No? I'll keep looking, then.

> Thank you,
> Nicholas Weinstock

Thanks for your feedback, it is appreciated.

> > -----Original Message-----
> > From: License-discuss <license-discuss-bounces at lists.opensource.org> On
> > Behalf Of Moritz Maxeiner
> > Sent: Sunday, August 4, 2019 7:40 PM
> > To: license-discuss at lists.opensource.org
> > Subject: [EXT] Re: [License-discuss] For Public Comment: The Contribution
> > Public License
> > 
> > (Hopefully replying to my sent mail works and doesn't start a new thread)
> > 
> > I've incorporated most suggestions (commit 848faa0 in the previously
> > linked
> > to GitHub repository) and attached the new draft as both plaintext and
> > universal diff from previous plaintext.
> > 
> > - conditions -> obligations
> > - at least one publication must be available for at least 30 days
> > - patent grants
> > - explicit irrevocability except in case of obligation violations
> > 
> > Any additional feedback would be welcome.
> > 
> > Thank you for your time.
> > 
> > On Saturday, 3 August 2019 23:48:38 CEST Moritz Maxeiner wrote:
> > > Hello,
> > > 
> > > [...]
> _______________________________________________
> License-discuss mailing list
> License-discuss at lists.opensource.org
> http://lists.opensource.org/mailman/listinfo/license-discuss_lists.opensourc
> e.org

-------------- next part --------------
The Contribution Public License 1.0 (Draft)

  *Contributor Notice:* `Licensor Name'

  *Source Notice:* `Primary location of source code'

  You may do everything with this software that would otherwise infringe
  either any contributors' copyright in it, any patent claim any
  contributor can license that covers this software as of that
  contributor's latest contribution, or both, in exchange for your
  promise to fulfill all of the following obligations:

  1. Ensure everyone who receives a copy of this software from you, in
     any form, also receives the text of this license and the
     contributor and source notices above.

  2. License each change you make to this software under this license,
     publish it in its original form through a freely accessible
     distribution system commonly used for similar changes, and ensure
     reasonable availability of it via one such publication for as long
     as you use the hereby granted rights, but no less than 30 days.

  3. Do not make any legal claim against anyone for infringing any
     patent claim they would infringe by using this software alone,
     accusing this software, with or without changes, alone or as part
     of a larger application.

        You are granted a perpetual, universal, non-exclusive,
        no-charge, royalty-free, irrevocable (except in the case
        of breaching the above obligations) copyright license
        without scope limitations.

        You are granted a perpetual, universal, non-exclusive,
        no-charge, royalty-free, irrevocable (except in the case
        of breaching the above obligations) patent license for all
        patent claims covering contributions as embodied in this
        software and licensable by respective contributors without
        other scope limitations.

        There is no warranty for this software, to the extent
        permitted by applicable law. Except when otherwise stated
        in writing the copyright holders and/or other parties
        provide this software "as is" without warranty of any
        kind, either expressed or implied, including, but not
        limited to, the implied warranties of merchantability and
        fitness for a particular purpose. The entire risk as to
        the quality and performance of this sofware is with
        you. Should this software prove defective, you assume the
        cost of all necessary servicing, repair or correction.

        In no event, unless required by applicable law or agreed
        to in writing, will any copyright holder, or any other
        party who makes changes to and/or distributes this
        software as permitted above, be liable to you for damages,
        including any general, special, incidental, or
        consequential damages arising out of the use or inability
        to use this software (including but not limited to loss of
        data or data being rendered inaccurate or losses sustained
        by you or third parties or a failure of this software to
        operate with any other software, hardware, or wetware),
        even if such holder or other party has been advised of the
        possibility of such damages.

        Everyone is permitted to copy and distribute verbatim
        copies of this license.

More information about the License-discuss mailing list