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

I am of two minds on this issue, but ultimately I would vote not to grant the exemption.

I appreciate the views of @daira and other devs, and genuinely admire their altruism and commitment to the principles of openness and to the broad social benefit of privacy technology. I also have no particular animus towards the Monero community and don’t see punishing them or getting back at them as a particularly helpful objective. I think they advance the adoption of privacy technology in their own way, and that’s great.

Ultimately though, I believe that granting access to Zcash’s most cutting edge advancement to indifferent or competitive entities ought to be predicated on a clear addition of value to Zcash holders, or to the Zcash ecosystem. While many of us see the spread of private currency and store of value as the end goal here, there is a reason we have specifically chosen “Team Zcash”. I for one hope to see rising incentives for the adoption of Zcash specifically, because I think Zcash has the best team and the best community spirit of any cryptocurrency out there, and the greater extent that we can obtain maximal network effects and resources for Zcash, the better. That is to say that every additional user or dollar of market cap that goes to a different network, would, in my view, have been better allocated to Zcash BOTH to reward investors/stakeholders AND advance the goal of privacy for all.

So if someone can come up with a compelling argument for why granting this exemption for Monero would be specifically beneficial for the Zcash community, Zcash Tech, and Zcash adoption, I’ll be very open to hearing it/considering it. So far I have only heard appeals to abstract ideals, which are great, but I think would ultimately be counterproductive to our shared long-term goals and divert attention and resources from the superior team and superior tech.

9 Likes

So zcash community pay tax to fund indirectly the development of all privacy-focused coin and not just ZEC!! really…

2 Likes

The GPL does not work because Zcash’s main repo is MIT. So, you still would need a “special exemption” of sorts for the main Zcash and Zebra repos.

See example license annoyances with the GPL in the past for Zcash: Update license information for files under build-aux/m4 · Issue #2827 · zcash/zcash · GitHub

1 Like

Yeah, no offence @sgp but I don’t think he was talking about Monero in that paragraph. Not everything revolves around your needs.

4 Likes

You should really consider editing his post to include something similar to what I did on Reddit:

As you can see, he is already using the faux proposal to attack Zcash. This was never an honest attempt at discussion.

6 Likes

A property of free speech is that you must grant it equally to those you dislike to say things you abhor as to those you like and agree with.

Surely there is an analogous principle for FOSS.

If there is not an exception made here, animosity and retaliation should not be the reason. That feels antithetical to FOSS values to me.

6 Likes

I was still at ECC when the decision to license Halo 2 under BOSL was made. Like Daira, I was (and remain) opposed to it.

As I’ve said in the past, I don’t think the use of a non-standard license provides significant benefit to Zcash or its community, but I do see very clearly how it can result in FUD and friction, and could discourage people and teams from contributing to the Zcash ecosystem.

I guess I’m implicitly opposed to granting a special exception to Monero because I believe that Orchard should be MIT/Apache licensed, in which case Monero wouldn’t need an exception in the first place. :man_shrugging:

Zcash is built on a foundation of code written by others who licensed it freely, openly and permissively. I think we should do the same. It just doesn’t feel right to me, that we should jealously hoard our innovations or seek to maximise the benefit that Zcash derives from them, at the cost of putting obstacles in the way of others’ ability to benefit from those innovations.

Where would we be if Satoshi had taken that approach?

18 Likes

Totally agreed there. MIT or GPL? Sure, this is the way to go, especially after the code is released to mainnet (before you might run a risk that someone will yoink it and implement before Zcash mainnet)

Special exemption for Monero? Right now they only thing they are special in is coming up with brigades to raid Reddit and Twitter threads about Zcash, it isn’t a coincidence that the only two Monero people in this thread are leaders of those brigades.

2 Likes

I think there are 3 options a reasonable principled person could choose:

  1. Keep BOSL and no exceptions given

  2. Keep BOSL, exceptions given based on some clearly defined principles

  3. Switch to a more permissive license such as MIT

I’m open minded and could be persuaded to support any one of these three. But if we go with option #2, then we have to decide on the criteria, not make a one time exception for Monero.

9 Likes

“No” to special exceptions. Enthusiastic “:raised_hands: YES :raised_hands:” to relicensing.

I support foss; freedom to run, freedom to study the source, freedom to share, freedom to modify and distribute. This is what makes the open source community great. So many things are benefiting from the open source licenses that exist: MIT, Apache 2, and GPL. All my work currently has been built on the contributions of the global coding community and oss.

Bosl was intended to defend from underfunding and takeover. These seem like they are not the intent of this ask. It is incredibly unlikely that Monero community would use orchid to take over zcash market.

My second dislike of BOSL is that it is a non-standard license which makes use for enterprise client a long conversation around licensing and legal vs privacy and technology.

Switching from BOSL to something more permissive is a great move! Not for the sake of Monero. For the sake of the world.

17 Likes

If the Electric Coin Company’s team members and also Zcash Foundation were both against this licensing and the community was not consulted, how was the licensing decision reached? Who made this decision?

3 Likes

I’ve been thinking about this issue a lot since it came up on Twitter a couple of days ago. The following are not the opinions of ECC - in fact, I’m pretty sure my opinions here are not shared by anyone else at ECC. I’m think I’m on my own here, but here goes anyway:

In my opinion, the purpose of copyleft licenses is to defend against corporate capture. Consider a corporation like Meta, that has at various points had definite intentions to create their own cryptocurrency. Zcash’s entire market cap is chump change to such an organization; ECC’s entire budget for 2022 is on the order of a few hours of revenue. Licensing Orchard under a permissive license, such as MIT/Apache, is an invitation to corporations like Meta to take the work that the Zcash community has funded, and use it in CLOSED SOURCE applications, giving nothing back. I think that’s a terrible idea.

At the same time, I think licensing Orchard under the GPL wouldn’t be ideal, because that could make it impossible for a great many organizations to build upon Orchard. At the same time, I want public goods to stay public. So what to do?

As I understand it, BOSL is an attempt to find a balance between these extremes by making it possible for anyone to build software based upon Orchard, and to even be able to build closed-source applications, as MIT/Apache would permit, while ensuring that the benefits of that private investment would make it back to the public sphere eventually. It’s a compromise that could be a really valuable middle ground between fully FOSS software under the GPL, and OSS software under MIT/Apache that just gets captured for private gain.

All this being said, I don’t believe that the purpose of BOSL is to defend against use of the software by other organizations who keep their software available to the public for forking and modification. As such, I support both continuing to license Orchard under BOSL, to help prevent the capture of what the Zcash community has funded by the megacorps, and a license exception for the Monero project, and for any other open-source project that requests it. Such exceptions are not transitive, they have to be approved on a case-by-case basis, but in the case of Monero I don’t see any threat of corporate capture, and so I believe a license exception to be appropriate.

EDIT: one more thing that occurred to me:
BOSL is not currently compatible with the GPL because it is a less restrictive license than the GPL. However, I think that it would be completely in the spirit of BOSL to either (a) provide a blanket exception for use in GPL-licensed code, or (b) include a clause that allows relicensing of BOSL-licensed code as GPLv3.

14 Likes

You joined 14 hours ago.

You had a long time to ask all these questions. They are valid, dont get me wrong. But I dont think you can demand anything right now. This is a different conversation.

I believe Orchard, like Halo 2, should be MIT licensed in the first place and void these discussions entirely. While the BOSL is technically open source, the fact it requires propagation while not being the GPL (or variant) bans almost every project on the planet from using it, and I believe that’s an intentional effect of it (as it could have a GPL-exception to allow OSS works to use it from the get go, yet doesn’t).

I also believe Monero, which aims to be the best privacy coin, whereas I believe its Zcash’s goal in effect to have the best privacy tech, should consider using whatever technology is available. I believe ensuring we can use technology is the first step to considering it and think it’s a horrible take to suggest Monero needs to fully commit to using technology before Zcash should consider granting an exception (an opinion expressed above).

There is benefit in having distinct privacy systems, yet I don’t believe the option of Halo 2 is bad, and that’s all this would be. That’s why I support it.

As for the tribalism, on both sides, I don’t care to immediately comment on this post with 100+ replies versus perhaps another thread someday.

EDIT: Having finished reading this thread, I would like to comment it seems like a large amount of people (notably including Daira and Dodger) seem to advocate for being MIT and calling it a day. I think this discussion, which has turned emotional, should be closed and a new thread discussing MIT licensing it in general should be made. I also appreciate nuttycom’s matching comment on a GPL exception.

Also, while Monero could re-implement Orchard once the Halo 2 license change goes into effect, it’d split implementations, without benefit, and cause Monero software to not be as immediately applicable to Zcash. If Monero did ever adopt Halo 2, ideally it’d enable more software for shielded ZEC as well.

3 Likes

The research for Orchard was conducted by ECC, not the Zcash Foundation, and even though indeed there are a couple of ECC contributors who on this thread have supported an MIT-Licensing for it, It really does seem that the community at large, who funded the research, would like to capitalise on Orchard to drive ZEC adoption before allowing a more permissive licensing anyway.

So whomever was responsible for making the decision, seems to be in line with the communty wishes from what I can gather.

4 Likes

This section about MobiCoin and other grievances is going off topic.

I’m going to start flagging and removing posts if you all can’t be a bit more on topic and respectful to one another.

7 Likes

Thanks for all of the feedback, everyone, and was encouraging to see that there are at least a few who would like to see this more permissively licensed.

In hindsight I should probably have focused this thread more on exploring what BOSL means in the real-world and how these “special exceptions” would actually function from a governance and criteria perspective, instead of specifically requesting an exception for Monero.

My aim was to clarify the licensing concerns as BOSL is both new and unique (unused anywhere outside of Halo 2/Orchard, AFAICT) and could pose severe issues for projects looking to build on or contribute back to the code-base. A new and restrictive license like this will likely scare off prospective integrations and projects that would like to work with Zcash (in much the same way as GPL does), especially because new and not-well-understood licenses make many people extremely wary.

I also want to reinforce my statements on this being a request by me alone, and not necessarily reflecting the wishes or intent of the Monero project at large. I was hoping to better understand how BOSL could affect the project and any research/implementation of Halo 2/Orchard in the future if the Monero community ever wanted to explore that route, and as Monero is a decentralized project with no leaders or defined structure, I acted on my own to investigate this. This post should not be taken as the broader community thinking Monero is “broken”, that we will absolutely use trustless zk-SNARKs, or even that the broader community would ever want to use them.

I merely wanted to get clarity on what the licensing would mean if we ever went this route and see if getting an exception could be simply done in advance to clarify our options due to the unclear nature of BOSL and it’s implications to FOSS projects like Monero.

I hope that both projects can move past tribalism and at least see what technological approaches or tools can be beneficial, what works, what doesn’t, and benefit from each other in a broader push towards financial privacy and freedom. I am hopeful that NU5 will execute well, and would love to see more people using z2z-only in the future as a result of UA etc.

I also want to make it clear that despite some of my views on the structure of Zcash as a project, I am extremely grateful to those devs and researchers who have made such incredible steps in improving and iterating on zk-SNARKs over the years, as the technology itself poses great opportunity for the space and could be a big part of financial freedom and privacy moving forward. I hope to see this development continue and grow, and hope that the upcoming hard-fork goes smoothly for you all.


Now next steps:

  1. Is there some firm way that this proposal gets accepted/declined? It obviously seems that broad consensus is no, but it’s very unclear how the process of exceptions actually works and is decided.
  2. If there is some decision already made or some firm basis, feel free to lock this thread. I did not want (and do not want) to add additional division and enmity between Monero and Zcash communities, and my intent was never to start drama or to instigate a fight between these communities.
  3. No matter the decision, is there any way clarity could be shed on why BOSL was chosen, what it’s real-world implications are meant to be, and how the exception process will work long-term? It would also be excellent to hear more about how an exception would propagate to further forks/derivatives of the projects granted exceptions.
4 Likes

Introducing BOSL, a radically new type of open-source license - Electric Coin Company is the blog post announcing the license, if you haven’t seen it already.

2 Likes

Thanks, I have, it’s just not very clear on many of the issues I just raised in my most recent reply.

It would be good to have many of the real-world implications and governance aspects clarified when pushing a new license like this.

1 Like

ACK. My only point there was to show that Monero “loves” FOSS only when it suits them.

2 Likes