Allow “special exception” to the Orchard codebase for the Monero Project

Hello, Seth here from the Monero community.

I was looking through the Orchard and Halo 2 code to see what work is being done on this side of the pond, and I noticed that the Orchard code is published under a “BOSL” license with various copyleft restrictions. The Halo 2 code is being transitioned into an open MIT license.

The Zcash core code and the Monero project publish their code under a permissive MIT or BSD-3 license. These licenses allow people to do pretty much whatever they want with the code.

The Orchard code however requires that any derivative work also include the same BOSL license. Including this same license is not possible in Zcash or Monero’s case, unless they were to relicense all their code. This is unrealistic, since there are hundreds of contributors over the years.

The ECC and Zcash Foundation have somewhat solved this issue by issuing a “special exception” to the Zcash and Zebra repositories, allowing the Orchard code to be included in these repositories without requiring that these repositories also change the rest of their code to be BOSL.

This exception allows for this copyleft Orchard code to reside within an otherwise permissive codebase. Normally, this is not allowed under the BOSL or the GPL. This exception makes it somewhat like the LGPL, but only for projects with an exception (not for everyone).

I was asked by Josh and Zooko of the ECC to create this post asking for a special exception in the Orchard license to allow for the Monero project to potentially use the code in its more open GPL-3 codebase.

What this would allow

  • The Monero project could include Orchard code to make a derivative work without needing to license the Monero code under the same BOSL restrictive license.
  • The Monero project would need to include a note about the BOSL code so that others would know they can’t use this Orchard code in another non-BOSL project, unless that project also had an exception.
  • The Orchard code will remain under its BOSL license.

What this does NOT mean and what it would NOT allow

  • Monero will not necessarily use this code. I can’t promise that. Monero may still do its own thing.
  • It will not be able to be used in any other project that uses a different license without a special exception.

If the goal of the Zcash community is to build strong open-source ecosystems and to advance privacy, I believe that there is no meaningful reason to prevent other open-source projects from using the Orchard code. Granting an exception to the Monero Project would allow Monero to potentially use the code without also making the code available for use in closed-source applications.

If such an exception is NOT granted, then it would signal that the BOSL license’s purpose is NOT only to require additional open-source development and thus foster open-source development. It will also function as a roadblock that directly inhibits open-source projects, innovation, and growth.

5 Likes

I repeat:
(too lazy to even write this again)

You’re just an awesome character:

You have no idea how much these developments cost for Zcash community. I’m not even talking about the work of developers. And not talking about money. I’m talking about nerves, fierce battles here on the forum. What part of the community did we lose when we voted for the best way every time. And with this attitude of the Monero community towards us… , not that one year, for an eternity, we should not share anything with you.

I’m a particularly vicious type here on the forum, and most people here are too kind to agree with me, but I said it because I wanted to say it.

12 Likes

Welcome to the forum!

To help with temperature check, let’s vote in this poll:

  • I support giving exception for Monero to use Zcash-funded Orchard code
  • I don’t support giving exception for Monero to use Zcash-funded Orchard code

0 voters

I have some questions:

Why don’t Monero implement their own code based on Halo 2, which is on the way of being MIT-licensed?

I mean, surely the great Monero devs are smart people who knows what’s best for Monero. Why settle for something built for Zcash?

Also, as someone who’s not familiar with the Monero project, what does prevent anyone from the Monero community to use the Orchard code in other projects that claim to be part of Monero? Say, someone from a Monero fork like Wownero adopting the Orchard code based on the exception given to Monero?

While I am somewhat supportive of this, I am skeptical that the Monero community would welcome anything that has to do with Zcash. Recent example include the Monero community reaction to @cakewallet and Haveno plan to add support for Zcash. Last time I check Monero community hates the Zcash development fund.

15 Likes

We certainly could, but parts of Orchard could be useful as Halo 2 is not a complete payment protocol. The purpose of this licensing request is to let us accurately assess if we can/should use anything from Orchard, as if the BOSL licensing applies than it is a non-starter and we have no choice in the matter.

As mentioned clearly in the post, the exception would likely not apply to those projects, and they would have to ask for their own exception, but the real-world implications of BOSL are not clear, and its rarity leads to no other real-world examples being usable to ascertain how it will be enforce.

Clarity around that question would be extremely helpful :slight_smile:

As this would be supposedly open-source code being utilized by Monero, it would have nothing to do with the myriad issues many in the Monero community have with the other design decisions or approaches taken by Zcash, and would simply being leveraging (or not) some of the existing code for only the payment protocol portion.

I doubt there would be broad resistance to leveraging the technology, as Monero would retain it’s extremely decentralized and cypherpunk roots and ethos, of course, and would only integrate this one portion of the payment protocol.

To clarify, Zcash as a project/community is quite different from Zcash as a protocol and code-base.

Thanks for opening the poll, by the way, should be useful! Would also love to hear from people why (or why not) they would support the “special exception”.

1 Like

Attention, please! A surge of new members to the forum is expected.

5 Likes

I think you underestimate the level of hostility Monero community has towards Zcash.

Anyway, I’m supportive of giving out the license exception to any project that advances the Zcash mission of empowering everyone, even though the community of said project is vile towards the Zcash community that funds Halo/Orchard development. At the same time, I predict you’ll get a lot of stick from your own Monero community. Good luck! :slightly_smiling_face:

9 Likes

Yep, already happening. :wink:

2 Likes

Glad to hear you support the exception!

There will of course be push-back if we go this route, but I think the tech speaks for itself (once it’s actually deployed and live on mainnet and thoroughly tested). The vitriol is usually around the many other parts of the Zcash project, not the technology/code-base itself, to be clear.

1 Like

Again, I think you underestimate the hatred shared by your compatriots at Monero land. :slightly_smiling_face:

5 Likes

Leave that side of things to me, this request is purely about the licensing exception, let’s not get too derailed by community disagreements in this thread, please.

Let’s figure out the licensing complications and go from there :slight_smile:

3 Likes

Hey, folks, as I said on twitter where this discussion began, I wouldn’t feel comfortable granting this exception (as CEO of ECC, which holds the copyright on the Halo2 and Orchard codebases) without a showing of support from the ZEC holders, since they are the ones who supported our team to create Halo2 and Orchard (the world’s best zero-knowledge proof tech and the world’s best shielded payment tech, respectively) through the Dev Fund, and they are also the ones who are going to be funding the next breakthrough and the next breakthrough.

28 Likes

Thank you! I can only imagine how uncomfortable it is to be in this situation for you. But we should not succumb to manipulations in which people use us good qualities to achieve results they want to get. I feel such feints a mile away.

3 Likes

Thanks for chiming in, Zooko, looking forward to clarity here, both for the Monero project’s potential usage and that of any other project who may be interested in using Halo 2/Orchard for their own use-case (open-sourced, of course).

1 Like

I don’t support this one bit. The amount of fake news and attacks we get from the Monero community is exhausting. I will admit i’ve been trolling them back a bit but in all honesty many members of this community are fed up. Just check the Zcash reddit forumn or even some of Seth’s posts on twitter effectively calling the founders of Zcash scam artists.

20 Likes

Unfortunately this is a hard no for me. Monero is not an honest community in any sense of that word. They’ve been trashing ZCash tech for years. Hard no

10 Likes

This is absolutely true. I just have time to open my mouth, as they are from all sides “lol”, “rofl”, “lmao” & “bugaga”.

The one who laughs last laughs well…

6 Likes

The meaningful reason is that monero been trashing us for years and now they want to use the tech. Why don’t they come up with their own techniques that go beyond obfuscation

4 Likes

Brother…ZCash holders funded this. There’s 0 chance any of us are okay with this. Monero has been trashing ZCash tech for years. Why would you want to use inferior privacy right…right

5 Likes

I think it’s disingenous to equate Monero with other open-source projects in general.

2 Likes