[License-review] For Approval: License Zero Reciprocal Public License

Kyle Mitchell kyle at kemitchell.com
Mon Oct 23 22:55:21 UTC 2017


Josh,

I've been busy working out variations, trying to cover all
the concerns we raised, plus a few from Richard and McCoy,
without doubling the length of the license or veering into
heavy-duty contract structure.

The frontrunner:

  3.  Use with any software patch must be accompanied by
      release of that patch as Open Source Software per the
      Open Source Definition published by the Open Source
      Initiative.

  4.  Use as a component of, or in development of, other
      software must be accompanied by release of that
      software as Open Source Software per the Open Source
      Definition published by the Open Source Initiative.

  5.  A failure to meet condition 3 or condition 4 is
      automatically excused on required release of software,
      or permanent cessation of use involving the software,
      within ____ calendar days of first failure to meet the
      condition involving the same software or a preexisting
      work upon which it was based.

Number 3 and 4 now state release requirements affirmatively.
The "grace period" mechanism for both now lives in a
separate 5.  Number 5 is structured like a path to
forgiveness, akin to section 8 of (A)GPL-3.0.

The last clause, "...or a preexisting work" attempts to
solve the possible "succession of patches" loophole
mentioned earlier.  Choice of words came from 17USC101's
definition of "derivative work" in terms of a work "based
on" some "preexisting work".

A few worked hypotheticals, for the deepest decision-tree
paths:

- A releases X, a 3D image renderer, under L0-R (15 days).

- B starts using X without patches, standalone, to render
  images, on 2017-12-01.  No condition applies to this use.

- B starts using X with patch Y1 on 2018-01-01.  Condition 3
  applies.

- B starts using X with patch Y2, a derivative of patch Y1,
  on 2018-01-05.  Condition 3 applies.

1. Come 2018-01-31, if B is still using X with patch Y2, and
   B hasn't released patch Y2 as Open Source, B is outside
   permission granted by L0-R.

2. If B releases patch Y2 on 2018-01-10, and keeps using X
   with patch Y2 through 2019, B is within permission
   granted by L0-R.

   B's failure to meet condition 3 with patch Y1 was
   "automatically excused on ... permanent cessation of use
   involving the software [patch Y1, on 2017-01-05] ...
   within 15 calendar days of first failure to meet the
   condition involving the same software [patch Y1, on
   2017-01-05]".

   B's failure to meet condition 3 with patch Y2 was
   "automatically excused on required release of software
   [of patch Y2 as Open Source on 2017-01-10] ... within 15
   calendar days of first failure to meet the condition
   involving the same software [patch Y2], or a preexisting
   work upon which it was based [patch Y1, on 2017-01-01 +
   15 = 2017-01-16]".

3. B uses X with patch Y2 through 2018-01-14 and stops.  B
   is within its rights under L0-R.  B's failures to meet
   condition 3 with both patch Y1 and patch Y2 were
   automatically excused on permanent cessation of use
   within the grace period.

   But:

   Resuming using of X with patch Y2 without Open Source
   release would be outside of permission granted by L0-R.
   The "cessation of use involving the software" was not
   "permanent".

   Releasing patch Y2 later, say 2019-01-01, and then using
   X with patch Y2 from 2019-01-01 is still outside of
   permission granted by L0-R, because release did not occur
   within the grace period.

   Modifying patch Y2 to make a new derivative patch, patch
   Y3, releasing patch Y3, and using patch Y3 is still
   outside permission.  The grace period runs back from
   first use with patch Y1, a preexisting work.

   However, creating a new patch to X, patch Z, that does
   not derive from patch Y1, patch Y2, or patch Y3, starts a
   new, independent grace period clock running.

Working examples like this always make for a long, dense
message.  Thanks for wading through!

-- 
Kyle Mitchell, attorney // Oakland // (510) 712 - 0933



More information about the License-review mailing list