BOSL or MIT - Orchard

The Zcash Trademark protects the branding and the community and you have to ask to use it. Of course people do get upset about that from time to time as well and, regardless, no exceptions are made. Contacting the ZFND for that purpose (assuming it’s legitimate), from what I can tell, is usually fruitful and so that’s exactly what we tell inquisitors to do. It’s extra step or two to take to figure something out that I think most of us would agree is worth the trouble.
This license, to my understanding, is very similar; a good-faith effort to find the best (that one maybe could) combination of features to provide long desired protections that otherwise may not be possible. The blog literally says ‘radical’ (nobody does it like the Zeal right?!), the contention it creates seem to support that and given everything else Ive seen over the past 5(?) years Im pretty inclined to believe that and continue to support us at least trying, let alone, spearheading development of new, good things (Vanguard, right?).

As a $ZEC holder, I’m for the BOSL license on Orchard.

Initially licensing Halo2 as BOSL seems to have helped create leverage for a partnership with Filecoin and now Halo2 is set to be MIT licensed anyway. That’s where the core cryptography of this next release lives so the best cryptographers in the world have no problem working on Halo2.

This approach seems like an innovative way to capture distribution of the latest technology release that the Zcash development team has been working on for 2+ years, while at the same time making it open-source.

2 Likes

@zooko is this true? Was ECC able to leverage the license to better the outcomes for Zcash?

2 Likes

I’m referring to this announcement

(Not speaking for ECC, this is my personal interpretation. I am not a copyright lawyer, and neither are you.)

By my reading, that doesn’t exempt you from the BOSL requirement:

  1. (c) to distribute or communicate copies of the Original Work and
    Derivative Works to the public, provided that prior to any such
    distribution or communication
    You first place a machine-readable copy
    of the Source Code
    of the Original Work and such Derivative Works that
    You intend to distribute or communicate in an information repository
    reasonably calculated to permit inexpensive and convenient access
    thereto by the public (“Information Repository”) for as long as You
    continue to distribute or communicate said copies, accompanied by an
    irrevocable offer
    to license said copies to the public free of charge
    under this License, said offer valid starting no later than 12 months
    after You first distribute or communicate said copies;

That is, BOSL requires that at the point you make the derivative work available, you are required to commit to it becoming licensed under BOSL after at most 12 months. Obtaining a different license for the original work after 12 months in order to keep it in your derivative work under your desired license, doesn’t prevent your derivative work from also becoming BOSL-licensed (because the offer to license under BOSL, made at the beginning, is irrevocable). This is the equivalent of GPL’s virality - BOSL lets you delay it, but you can’t prevent it.

3 Likes

Thats not how copyright or licenses work. BOSL is a license of a copyrighted work but, if you own the copyright, you can make other copies under other licenses. ECC is perfectly free to take the work * and relicense it. This dual license idea was a typical “profit” model for open source companies in the early 2000s. They had a copy left open source code base and, if you wanted to use it in a proprietary product, then you could buy a license. Of course, almost no one ever paid them for it.

All BOSL adds is “try before you buy” period to make make it more likely to happen. Oh, and it also adds a $20k in legal fees headache for lawyers to figure out what the license even means. Which means even less people will use it than standard GPL.

As a reminder, I think BOSL is mostly harmless aside from the headaches it causes with PR, governance, and no one using it because they need 20k in lawyers to understand a non standard license. But that headache is regrettable and if, without spending much time on it, we could make it go away, we should.

*technically, this may assume all contributors have transferred copyright to ECC if theres not a contributor agreement. But if all or nearly all of the contributors are ECC employees, thats moot.

3 Likes

Correct - for the original work, the copyright holder is free to relicense. But as you are no doubt aware, I was speaking about the derived work, which does not have this property: the creator of the derived work can’t arbitrarily relicense outside the license terms under which they use the original work.

If they obtained an alternate license to begin with, then yes, I agree with you, they aren’t bound by BOSL. But if they initially release their derived work by relying on the original work’s BOSL license, then per the BOSL license terms, anyone is free to use their derived work under BOSL at most 12 months later.

When a software project obtains permission from its contributors and changes the project license, it only affects the code published from that point onward; anyone is free to fork an earlier-published version of the code under the previous license. Same rationale applies here.

There is indeed a CLA that has been applied to the zcash/halo2 and zcash/orchard repositories.

4 Likes

I guess the real question is if a binary is released publically during the first 12months would the entity be required to release the source?

For GPL the answer is yes (of course).

But if a binary was in development during the first 12months but a new license was negotiated before the binary release would the source be required to be released?

For GPL the answer is no (I think - non lawyer).

So in a copyleft license like the GPL, the moment you distribute even a binary (for v2) or put it on a server (for AGPL and maybe v3, im no sure), you immediately have to distribute modifications including your maybe secret sauce modifications. Companies hate this.

For BOSL, the entire point is you have 12 months to use the code in production before you have to do so. Why does this mater? Well its not a grace period, good faith mostly gets you that. And its not protecting Zcash from for profit uses (GPL does that too). The only reason anyone would want this is it gives a company 12 months to see if their code is worth getting an alternative license to (and gives ECC 12 months to figure out how much its worth). Its try before you buy.

You’re right, if ECC didn’t own all the copyright to Ochard, and/or whoever made the modifications didn’t own the copyright to those modifications (e.g. it was rando open source contributors), it would get complicated. But thats not the case here. When companies are involved who own the copyrights, thats not how it goes down.

The Idea behind the “dual license” as a business model was for companies making modifications. So someone like JP Morgan or Facebook, which owns the copyright to what their employees do, could make modifications to Orchard, distribute them for 12 months without risking a license violation and, if, it looks profitable, negotiate a license from ECC. ECC would relicense the original work (orchard), and then Facebook would relicense the work their employees derived from it (call it meta orchard), resulting in a new proprietary binary. This is readily doable because there are only two copyright owners ECC and (in our hypothetical) Facebook. And enabling this is the idea of BOSL.

TLDR: The entire point if BOSL is to give you(a company who owns the copyright on modifications to orchard) 12 months to see if paying/negotiating a different non copy left license to get to use your modifications. If you didn’t want that, GPL would get all the other goals (including protecting Zcash from free riders) and not raise the PR, governance, and WTF-is-this-license call the lawyers problems.

Your absolutely right that if some open source project makes modifications to Orchard under BOSL, they are probably out of luck and in 12 months, it goes GPL (because they can’t easily relicense) . Which … makes the entire thing even less sensible. It only matters for companies who are going to pay for a license, for everyone else and every possible open source project, it just complicates things.

3 Likes

By my reading, BOSL matches GPL here:

That is, section 1(c) of BOSL applies to public distribution, i.e. not internal development, so obtaining an alternative license immediately prior to deployment would I think enable avoiding the BOSL terms, exactly as it would for GPL. Also note section 5 that explicitly defines “External Deployment” as a distribution under section 1(c).

2 Likes

Correct. During this time, the source code for the modification would be required to be public, even if not BOSL-licensed, per section 1(c) of BOSL.

Yep, and any changes to the derived work from that point onward would be proprietary, just as they would have been if this were GPL and the negotiation happened up-front. But the original modifications would still be usable under BOSL by anyone at this point (and any modifications to that open codebase in the intervening 12 months would be on a similar timer).


Just to tie this subthread off (as I’m heading to bed, and tiring of this discussion), I’m not making any claim about whether the above is what ECC did or did not intend when choosing to license zcash/orchard and (originally) zcash/halo2 under BOSL. I’m also not trying to defend BOSL, GPL, or MIT as best for this use case. I just think that discussion about what BOSL achieves should be based on what the text of BOSL actually says (which is what the lawyers are going to argue over).

8 Likes

For the record, and speaking only for myself:

  • I prefer MIT licensing for everything;
  • I think that the license compatibility down-sides of BOSL have been underestimated by ECC.

The latter could mostly be fixed by dual-licensing the orchard crate as BOSL/GPLv3, and I think that would also serve to dissipate some of the FUD that has been directed at ECC for choosing BOSL.

16 Likes

Correction: The ECC is still a for-profit company. It just happens to be owned by a non-profit entity, Bootstrap.

Bootstrap is subject to regulations governing non-profits; ECC is not.

The headline of that Coindesk article is incorrect.

11 Likes

Hm, that is news to me. Thanks for the clarification @hloo

Watching the conversation evolve, I would like to see an updated post from ECC to resolve the confusion around BOSL, who can use/access Orchard crates/code and the resulting relicensing status of such software. This is important specifically since many developers in the Zcash ecosystem will be building Orchard support in their products & services in the coming months.

6 Likes

We can’t expect Zcash to be the reserve currency or the native internet money if ECC (or any single centralized entity) is the gatekeeper on dev (by way of licensing). It just will not work.

I also agree with @secparam that this topic will take up unnecessary time, energy, talent, and resources. For example, core engineers at ECC and ZF having to take time to make their personal views (support for MIT) known on this thread just seems silly to me.

Let builders build and increase productivity/collaboration to be the best use case and implementation of halo2. There’s a delicate balance between competition and collaboration… but closing the doors and having a gatekeeper will stifle progress in the space imho and put another bad taste in folks mouths.

3 Likes

IMO the wild west of cryptocurrencies has a place for Crypto Capitalism.

5 Likes

It seems like you are suggesting that developers outside of ECC and users of halo2 should pay royalties or accept the throttling of their progress that effectively happens from BOSL.

The block reward streams are already a form of compensation/funding (and huge competitive advantage) for ECC.

If that funding is not enough for ECC to stay ahead of competition, then maybe they need an executive leadership team with bigger financing vision, experience, and abilities so that a bigger or more efficient team can roll out the best protocol ahead of competition.

Or @aiyadt are you suggesting that Musk should do a hostile takeover of ECC/ZF like he did with Twitter? (Which is an interesting idea… how much would that cost?)

3 Likes

Hi folks! I’ve been reading the threads, trying to learn where other folks are coming from.

I’ve seen some questions about the history and motivation for the Bootstrap Open Source Licence in the first place. Here’s a quick recap of our motivation in choosing the BOSL in the first place, plus a recap of the Filecoin partnership deal. Then at the end I give my general plea for why sustainable economics is critical for our mission.

It can be confusing because there are two different things in play here: 1. The requirements of the BOSL itself for people to make derived works, and 2. Why ECC doesn’t automatically give a license exception to any project that asks. Those are two different things but they both arise from the same motivation — we believe that it is critical to make our work toward achieving our mission sustainable. I’ll touch on each of these two things below.

— why BOSL?

The motivation is the sustainability of free and open source software. Free and open source software as currently practiced suffers from the “tragedy of the commons” problem, which means — at least in economic theory — that it will be “under-produced”. That means the world will get less free and open source software, and less maintenance and improvement of that software, than people need.

One of my core beliefs is that we need less ideology and more pragmatism to succeed at our mission. That means learning from facts and not just from theories. So do the facts show that free and open source software does, in fact, get created and maintained too little to serve the world’s people? Yes. As Nadia Eghbal and Feross Aboukhadijeh have documented, free and open source software is currently produced far less than people need. It is indeed a tragedy, just as economic theory predicts.

Looking back on it, that just makes sense. If the people who are contributing, who are creating the value, receive no more reward from it than anyone else, then economic theory and common sense predicts that this be unsustainable and will produce poor results for everyone in society.

In fact, during the process of ECC releasing Halo2 and Orchard under BOSL, we got two new data points about this, when two of the most important projects in the entire crypto industry — Uniswap and MetaMask — both abandoned open source and went to proprietary software licenses instead. In both cases, it was because they considered it unsustainable to continue to give away all of their work for free, including to competitors who were taking money that they could have earned, without contributing anything back.

So this was our motivation in releasing Halo 2 (the world’s best zero-knowledge proof system) and Orchard (the world’s best shielded money protocol) under the BOSL — as an experiment in making free and open source software more sustainable.

— why not give a license exception to every project that asks? Or to everyone in the world?

Electric Coin Co holds the copyright to Halo 2 and Orchard, so we can grant licenses to specific users or for specific uses, or even grant additional permissions to the everyone to use these codebases under different terms. So why don’t we just grant licensing exceptions to every project that asks, or equivalently, why don’t we just grant the entire world permission to use Halo 2 and Orchard however they like, by releasing it under the MIT license?

The answer, again, has to do with sustainability of our mission. The ZEC holders are the ones who are contributing value to the world by supporting all of our work at ECC as well as the work of the Zcash Foundation, the Zcash Community Grants program, and through them to other groups downstream. And, the ZEC holders are the ones who are going to continue funding this value-creation for the world, at least through the end of the Dev Fund (2020–2024), or even — if they so choose — beyond.

This includes the discovery and the implementation of Halo 2 and Orchard. Without the support of the ZEC holders, it would not have been possible. It would have been another one of those might-have-beens that never happened. It would have been, in the jargon of economists, “under-produced”.

If we at ECC take the support of the ZEC holders, create value with it, and then give that value away for free to everyone else, then we would be short-circuiting the feedback loop that sustains our mission. (As per Tokidoki’s question.)

As an aside, I also wouldn’t feel right about that. It would seem unjust, to me. It would seem like a betrayal of the ZEC holders. However, even if you disagree with me on that moral/emotional dimension, perhaps you can still agree with me on the economic dimension, below.

If we contribute value to everyone else in the world, but we contribute value to the ZEC holders more, then that makes a positive economic feedback loop which is sustainable, which is scalable, and which is resistant to capture.

This is another of my core beliefs: we need to continue to do both at once — to produce more value for the world than we capture, and to reward contributors more than we reward non-contributors. Both are necessary for the sustainability and scalability of our mission. Ideological positions that prioritize only value creation and neglect economic feedback loops are doomed to failure. So are greedy strategies that prioritise value capture and neglect value creation.

So in my view the sustainability of our mission hinges on simultaneously both producing more value than we capture, and rewarding contributors more than non-contributors. And the core contributors of the Zcash mission are the ZEC holders, who make everything else possible.

— the Filecoin and Ethereum partnership

We now have a data point indicating that our approach of being selective about licensing of Halo 2 and Orchard can work! That data point is our partnership with the Filecoin and Ethereum organizations. (In answer to GGuy’s question.) That partnership has come in two steps (so far). In the first agreement, Filecoin orgs and the Ethereum Foundation agreed to pay $2m to ECC and collaborate on building Halo, and granted special exceptions to the BOSL for Filecoin and for Ethereum. In the second agreement, the Filecoin orgs agreed to give grants worth up to $7m and the ECC agreed to give grants up to $2m to teams who extend Zcash’s functionality, and ECC agreed to MIT-license Halo 2 (but not Orchard). That $9m can fund a lot of good work that adds functionality to ZEC, contributing value back to the ZEC holders — more than it does to the holders of all other tokens in the world.

It’s possible that by withholding a general-purpose license from everyone in the world to use Orchard for free under MIT, that ECC might be able to strike another deal with another partner, in which they contribute substantially back to the ZEC holders. Or maybe not! You can never tell. But if we were to license Orchard to everyone for free right now under MIT, then that would definitely cease to be a possibility.

Finally, I know that some people disagree with me about the above. Some folks, who are smart, honorable, well-informed people, believe that the “give everything away for free” strategy is already succeeding at freeing and empowering the world’s people, or maybe that it can start succeeding while still giving everything away for no cost to everyone. Some folks believe that it is a moral imperative to create free and open source software, and to give everything away to everyone for free, regardless of how successful that strategy is at providing global freedom.

I respect those people, and it’s fine with me if other people believe differently than I do, but if you want to understand why I make the choices that I make, start with the fact that I believe what I wrote above — my moral imperative is to nothing less than global freedom, and my current belief is that both producing and sharing excess value and nurturing economic positive feedback loops are necessary to achieve that mission.

35 Likes

Why was Seth directed to the forum to seek the community’s input? The poll in this thread indicates that the community is against Bootstrap’s BOSL and supports an MIT licensing. Doesn’t seem to matter anyway.

1 Like