BOSL or MIT - Orchard

As Shawn intimated, forum polls are of limited utility in assessing the sentiment of the Zcash community.

However, the Zcash community has already expressed a clear preference for how Zcash should be licensed, in ZIP 1014:

All substantial software whose development was funded by the Dev Fund SHOULD be released under an Open Source license (as defined by the Open Source Initiative), preferably the MIT license.

The definition of the term “SHOULD”, as used in ZIP 1014, is “that there may exist valid reasons in particular circumstances to ignore a particular item, but the full implications must be understood and carefully weighed before choosing a different course.”

“Full implications” includes both the expected beneficial impact and any expected or potential negative impacts.

@zooko: You have been eloquent in describing why you believe that adopting BOSL for the Orchard library would be good for Zcash. However, many people have raised concerns about the potential negative impacts, both at the time Halo2 was announced, over 18 months ago, and since (including by me on an Arborist call a year ago).

Those concerns have not been addressed or allayed. Many questions have been raised but there has been very little response from ECC. The best we have is @str4d’s attempts to help people understand what the BOSL license means. However, without clear guidance from ECC, there is inevitably a lot of uncertainty and doubt about the implications of Orchard being BOSL-licensed.

So, @zooko, here some direct questions to you and ECC:

  • Has ECC carried out an assessment of the full implications of using the BOSL license for Orchard, instead of the preferred MIT license? If so, will you make that assessment public?

  • In ECC’s estimation, what are the expected and potential negative implications of retaining the BOSL license for Orchard?

  • Will wallet developers who want to support Orchard addresses and transactions be required to either (a) open source and relicense their entire codebase under BOSL, or (b) get permission from ECC to continue using their existing license(s)? Or is there an alternative approach? Has ECC appraised the developers of wallets like Edge, Unstoppable, ZecWallet and Zwallet of the impact of the BOSL license, and will those wallets support Orchard transactions and addresses following NU5?

  • Same question for exchanges and custodians who want to support Orchard transactions and addresses by using the Orchard library within their own software tooling (as Gemini does with their Sapling withdrawals). Has ECC appraised Gemini of the impact of the BOSL license, and will Gemini be adding support for Orchard withdrawals after NU5?

  • Same question for other products and services that may want to integrate the Orchard library in order to support shielded transactions (e.g. Blockchair’s support for Sapling viewing keys in their blockchain explorer).

  • What does the requirement to adopt the BOSL license mean for projects that incorporate permissively-licensed (e.g. MIT and/or Apache) code created by third parties? For example, if someone wants to fork Zcash post-NU5 by creating a code fork of zcash/zcash, will they need to get agreement from all the Zcash and Bitcoin developers (including Satoshi Nakamoto) to relicense the entire codebase under BOSL? If so (and given the unlikelihood of successfully collecting the necessary agreements), does this effectively mean that the Zcash cryptocurrency can longer be forked without ECC’s permission? Are existing Zcash forks (e.g. Ycash) required to obtain permission from ECC before adding support for Orchard?

  • What criteria has ECC set for evaluating requests for a license exception?

  • Finally, why did Filecoin insist that Halo2 be licensed under MIT/Apache instead of BOSL?

10 Likes