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

Moritz Maxeiner mm at ucw.sh
Sun Aug 4 22:34:00 UTC 2019

Thank you for your feedback.

On Sunday, 4 August 2019 19:49:18 CEST Lukas Atkinson wrote:
> I have two concerns about this license:
> 1. it seems to disallow private modification and compel disclosure.

Yes, that is intentional.

> Even if this didn't fail the desert island test, it would be impossible to 
> because there's no time frame within which a change must be published.

It fails the desert island test on paper for sure, but I'm reasonably confident 
that a court would look not only at the letter of but also the intent behind 
the license and recognize that in that particular case the changes would only 
have to be published after the person returns from the desert island.
I did have a time (grace) period of 30 days in a recent draft, but removed it 
since I thought it would just be another potential loophole to exploit (as in 
trickery to keep shifting the date).

> Then
> again, publication is only necessary while the changes are distributed –
> how does that work with undistributed changes, or changes that are only
> distributed once?

 and ensure reasonable availability of it via one such publication for as long 
as you use or distribute this software with it.

Publication is required for as long as you use or distribute the modified 
If you never use it and only distribute it once then you could in theory 
publish it and delete it immediately, I suppose.
This is a good catch (thank you!), I think I'm going to need to specify a 
minimum amount of time (maybe 30 days) for at least one such publication.

> 1a. Your license requires changes to the software to be published, but
> fails to explicitly require a source form to be provided. This seems like a
> glaring loophole.

> Proposed solution: explicitly tie a source publication requirement to
> distribution of non-source forms, similar to the GPL.

You're right. How about something like

License each change you make to this software under this license,
publish it in the form you made it in through a freely accessible distribution


publish it in its original form through a freely accessible distribution

This would allow non-source changes (and require their publication as is).

> Preferably, do not
> require publication but only that source is provided to recipients.

While I understand that that's not a goal for everyone this would defeat a 
primary purpose of the license: Ensure you can't (significantly) improve (and 
profit from) changes you make to the covered software and refuse to share those 
improvements with the rest of the world (i.e. hoard them for only yourself).

> 2. it doesn't mention patents. New licenses that don't include patent
> licenses might have a more difficult time finding approval,

Are you referring to OSI approval or approval with the general public? If the 
latter: I hear you and it's something I'll have to think about, but whether 
others are going to use the license or not isn't my main concern.

> as such
> licenses fail to ensure that the software can be used freely.

AFAIU that's only the case if the covered software is patent encumbered?

> Proposed solution: incorporate a patent grant into the license, preferably
> modeled after Apache 2.

Since none of my use cases have such software it hasn't been my main concern, 
but I'm going to take a look at Apache 2 and think about it.

> Regarding the prior art you mention:
> Reciprocal Public License (RPL-1.5):
> > It's not only too long and complex for my purposes, but it also explicitly
> > defers arbitration to Colorado, USA, which I cannot accept.
> > 
> > Eiffel Forum License, Version 2
> > While being sensibly short and concise it only encourages - but does not
> > require - modified versions to be publicly released.
> > 
> > Microsoft Reciprocal License (MS-RL)
> > It's copy-left for things such as static linking, containers, etc.
> > (section 3,
> > paragraph A) and it deals with patents and trademarks.
> RPL binds the publication requirement to  the event that you “Deploy” the
> software, but explicitly exempts personal use or internal research. The
> license goes to great lengths to draw a usable distinction between uses
> that require publication and uses that do not.

True and if those distinctions are what someone desires that's great. I don't 
want those distinctions, I would like an "all code within this software must 
be free" kind of license.

> Note that “long and complex” can also mean “clear and explicit”, whereas a
> short license might be very complex because a lot is implied and its
> interpretation depends on legal context that might be inaccessible to
> laypersons.

That's fair, but I'd prefer a license where at least the intent can be clearly 
and easily established by a layperson (such as myself). That doesn't mean I 
don't see any value in longer and more complex licenses, but a license with 
the length of the RPL is not something I'd even consider writing myself, I'd 
go to a specialized lawyer for that.

> MS-RL only requires that you provide the source code if you distribute the
> software, but doesn't require publication otherwise.

Here's the case that bothers me:
Library A is used under MS-RL license by program B.
If program B is linked statically against library A and the resulting 
executable file distributed, source code for program B must be published.
That is not what I want. I only want to require publication if library A 
itself is modified, not if you just consume its API.

More information about the License-discuss mailing list