-
Notifications
You must be signed in to change notification settings - Fork 57
Clarify and widen license exceptions #334
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -5,23 +5,42 @@ Source License, version 1.0, or at your option, any later version ("BOSL"). See | |
| the file ./LICENSE-BOSL for the terms of the Bootstrap Open Source Licence, | ||
| version 1.0. | ||
|
|
||
| In this document, | ||
|
|
||
| - "Zcash" means the blockchain defined by the most recent agreement between | ||
| the Electric Coin Company and the Zcash Foundation according to section 6.2 (b) | ||
| of the Zcash Trademark Agreement. | ||
| - A "Zcash Chain Fork" means a blockchain that descends from the Zcash | ||
| blockchain and that activates its first change to the consensus rules | ||
| relative to Zcash at a block height that is or was within 3456 blocks | ||
| of the current height of the Zcash chain at the time of activation. | ||
| - A "Zcash Technology Testnet" means a blockchain designed for the purpose of | ||
| testing technology potentially of use to the Zcash blockchain and not for | ||
| the purpose of implementing any token of economic value, where this purpose | ||
| and lack of such economic value are clearly communicated to its users and to | ||
| the general public. | ||
|
|
||
| Only if this Original Work is included as part of the distribution of one of the | ||
| following (each, the "Project"): | ||
|
|
||
| - The Zcash projects published by the Electric Coin Company; | ||
| - The Zebra project published by the Zcash Foundation; | ||
| - A project that is designed to integrate with Zcash and provides additional | ||
| functionality or utility to the Zcash network and holders of the ZEC coin; or | ||
| - A blockchain that descends from the Zcash blockchain and that is forked | ||
| within 100 blocks of the current block height of the Zcash blockchain at the | ||
| time of the code fork; | ||
| - A project that implements Zcash; | ||
| - A project that implements a Zcash Chain Fork; | ||
| - A project that implements a Zcash Technology Testnet; | ||
| - A project that is designed to integrate with Zcash (whether or not it can | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. How to define Can a Zcash forked chain application add a ZEC donation deposit and transaction explorer option while having only advanced features for the forked chain version? And still qualify, as the application that "provides additional functionality or utility to the Zcash network and holders of ZEC" by allowing a deposit address and other "limited" features for ZEC in the same application.
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. My intent was that if you add features for a chain fork then you should make a reasonable effort to provide them for the Zcash chain. That is the whole point of saying "integrate with Zcash" as opposed to "integrate with Zcash or a Zcash Chain Fork". Sometimes this might not be possible, if the features rely on particular consensus or peer-to-peer protocol differences. I'm not sure that the intent can be fully captured in legal wording; at some point you have to assume good faith.
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Note that this is only a clarification; it does not change what is allowed. The substantive changes to what is allowed are:
The last of these is important because without it, it is not clear that a party other than ECC or ZF can code-fork Zcashd or Zebra at all unless they reimplement |
||
| also integrate with one or more Zcash Chain Forks), and that provides | ||
| additional functionality or utility to the Zcash network and holders of | ||
| the ZEC coin; | ||
|
|
||
| then License is granted to use the Original Work under the BOSL as modified by | ||
| the following clarification and special exception. This exception applies only | ||
| to the Original Work when linked or combined with the Project and not to the | ||
| Original Work when linked, combined, or included in or with any other software | ||
| or project or on a standalone basis. | ||
|
|
||
| For the avoidance of doubt, "a project that implements Zcash" includes, but is | ||
| not limited to, the Zcash projects published by the Electric Coin Company and | ||
| the Zebra project published by the Zcash Foundation. | ||
|
|
||
| Under the terms of the BOSL, linking or combining this Original Work with | ||
| the Project creates a Derivative Work based upon the Original Work and the | ||
| terms of the BOSL thus apply to both the Original Work and that Derivative | ||
|
|
||
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The idea of the change to allow a 3456-block leeway, is that the fork's implementation might need to hard-code information (e.g. a checkpoint or a snapshot of some of the chain state) that depends on the Zcash chain, and then have nodes running that code when the fork happens. This change allows 3 days between those two points, which is enough time to prepare the code, do a release, and have a reasonable number of nodes running that release at the fork height.
Not all forks will need this; it depends how much they are changing. But it could plausibly be needed.