Announcing Halo 2

Meta questions aside. I think the accusations of ill play here are wrong. But, its hard for me and others to calm people down when we don’t have an explanation for why ECC picked this license (especially given its incompatibility). In the absence of a clear explanation, people tend to conspiracies.

So, to repeat my question since this thread keeps getting longer and further away from the thing fueling it:

3 Likes

Indeed. And it seems that the ECC is the institution responsible for creating this type of dynamic (per Eran’s argument above). To alleviate concerns of trolling, I’m looking forward to seeing answers to the great questions posted above.

we don’t have an explanation for why ECC picked this license

There’s a blog post explaining it.

In simple terms, the goal is to make the Halo 2 code open-source and to use it in Zcash, while forcing outside projects to get a license to integrate it into their software until the grace period expires.

I’m a permissive license person at heart but in no way do I see this license as harmful. It’s a good faith attempt to address a complaint people here have been raising for years — the siphoning of development work from Zcash. The terms can be loosened and code relicensed to fix issues and incompatibilities, whereas starting with a permissive license doesn’t afford us that opportunity and forces us to keep the code closed while we develop it, losing out on third party contributions and transparency.

4 Likes

@ebfull there’s a forum post full of people who read the blogpost and don’t get it. There’s me who is trying to tell those people no, nothing is evil here, what you(the forum) are saying doesn’t make sense, ECC is acting in good faith … but I also don’t get it. So, when ECC people keep repeating their justification but no one can see how the license actually realizes it, a number of people evidently think there is something malicious. I don’t think thats fair, but’s going to keep happening and the request for an explanation is reasonable (not to mention necessary if we are going to resolve the licensing problems).

The problem with the TGPL “forcing outside projects to get a license” is that the GPL already does it. In fact, the grace period weakens that requirement. This is the logical incongruity that has people either perplexed (me) or up in arms.

So, to keep beating what should be a dead horse with a stick:

3 Likes

The problem with the TGPL “forcing outside projects to get a license” is that the GPL already does it. In fact, the grace period weakens that requirement. This is the logical incongruity that has people either perplexed (me) or up in arms.

I’m not a copyright lawyer, but this is pretty simple to me. GPL does not allow us to simultaneously (1) keep the source open and viewable by everyone, (2) allow us to grant licenses for its use, and (3) allow people to use it once the grace period expires without asking us for a license.

Also, nobody is going to use a template to respond to critics with, as that could potentially allow others to dictate the narrative.

Ok, then simply what is it that the grace period allows? Under GPL, the source is open (your point 1), anyone can use it BUT ONLY in an open source project(your point 3) , and the original copyright holder can license people to use it in other (even proprietary) projects (your point 2).

So, what’s the point of the grace period?

2 Likes

Maybe it’s just me but I think the main question is not GPL vs TGPL, but GPL/TGPL vs MIT. If ECC gets public money, and is not a normal for profit, shouldn’t it produce truly free software?

Or is that perspective incorrect - i.e. ECC is a normal for profit, and the dev fund is part of its revenue, and like a normal for profit, it can and should extract value whenever possible?

I think if ECC does want to see itself is a sort of non-profitish for the public good organization, that is more consistent with MIT/Apache

5 Likes

This is also encouraged (though not mandated) by ZIP 1014, which says:

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 4), preferably the MIT license.

Assuming that continued development of Halo will happen under Dev Fund (I sure hope so!), I think this does put an onus on ECC to rigorously justify their deviation from the ZIP’s recommendation.

6 Likes

“It’s a good faith attempt to address a complaint people here have been raising for years — the siphoning of development work from Zcash.” -ebfull

This is the point. So they can actually implement and use it without another project beating them to it. It’s the first technological improvement the ECC has even attempted to use to improve Zcash a little bit and not the overall space first. Investors have lost money while Zcash’s value has bled out because the ECC never uses their technological edge to benefit Zcash first. You yourself complained about receiving ZEC as payment because the value hasn’t gone up. If other projects take the ECC’s work how is Zcash unique? Why do people need to use it or invest in it?

Traders don’t feel Zcash is even worth more than Dash, which is pathetic to be honest. The ECC is among the top few talented teams in the entire crypto space. It’s about time we all do something to bring a little value to it. I don’t think a year is long enough to do that personally, but at least it is a step in the right direction.

6 Likes

I hesitate to throw in my 2 cents but I feel like people are making themselves nervous, unnecessarily.

how is Zcash unique?

The people and their mission. Some of the smartest and hardest working people I know in life are affiliated with Zcash. In my career, I’ve worked a lot of places and I absolutely love working at ECC. Each and every one of my coworkers are excellent, trustworthy, and extremely skilled.

The vitriol in the forums is counterproductive. It does not foster better outcomes. Dare I say, it’s pointless.

If we trust each other more, expect good faith from one another, and collaborate with a laser-like focus on outcomes, then we’ll go farther and do more. I have absolute certainty that if every person reading this message would relax, we could work together and solve any problem.

If there’s something specific that needs to be fixed, lets prioritize it appropriately, address it when we can get to it, and move on. Lets stop spending so much energy mistrusting each other.

16 Likes

Does siphoning development work from Zcash as an argument for the license not come at odds with the fact that it was supported by the Ethereum Foundation? I assume they’d want to use it outside of Zcash.

3 Likes

Hi.

I agree with @gmale. Well said! There is much to celebrate and so many good people working hard, who recognize this work as the most important thing they’ve ever done, me included.

Our intent is to protect Zcash and Zcashers by protecting the open source software from capture, and maybe even contribute a different model to the broader open source community. I think @JKDC expressed some of that sentiment well.

We think this model could be great but recognize that we haven’t figured it all out, and have asked for your help and opinions. We’re open to alternatives or modifications.

@steven-ecc drafted a summary of the models and challenges with each for Halo2. I think its a great summary and am pasting it here. I hope its helpful.

Essentially, we had four choices in terms of license options with Halo 2:

  1. License the code under MIT like the rest of the Zcash code base.
  • Problem: this doesn’t solve the capture problem that we described in our blog post and wouldn’t require improvements to be open sourced
  1. License the code under GPL
  • Problem: this would inhibit any commercial vendor from ever adopting and improving the code and is not compatible with the Zcash code bases
  1. Use a dual-license model: GPL and commercial
  • Problem: wouldn’t enable Halo 2 contributors beyond ECC to benefit from from their contributions and wouldn’t necessarily require improvements to be open sourced
  1. Use TGPPL
  • Solves the capture problem, facilitates use by commercial vendors, enables any Halo 2 contributor to benefit from their contributions, and ensures improvements are open-sourced
10 Likes

Does siphoning development work from Zcash as an argument for the license not come at odds with the fact that it was supported by the Ethereum Foundation? I assume they’d want to use it outside of Zcash.

We intend to get an implementation done and released under the license (or some improvement of it at least), and we are doing so publicly. This means that anyone (including Ethereum community projects) can take our code and use it in their proprietary software. They just have to release their code under the TGPPL after a year, so that others can benefit. Anyone, not just ECC, can develop commercial improvements for halo2 and monetize those improvements by licensing them out until the grace period is over, after which they must publish their contributions under the TGPPL.

3 Likes

In this context, the post says a goal of TGPPL is “ensuring that the software will be subsequently open-sourced in order to serve everyone equally”. Does that mean that if after the grace period company X comes to ECC and says we’ll give you Y dollars to be able to keep using the software closed source, ECC will definitely say no?

2 Likes

I’m curious why there wasn’t an announcement from Ethereum or ECC that you had gotten support to make Halo better or closer to reality. I think everyone has been excited about the possibility of Halo since it was presented at Zcon so getting support for it would have been viewed as a net positive, and may have helped to buffer the “suddenness” of the Halo 2 announcement that some seem to find disconcerting.

I think this research is important and necessary to help Zcash stay on the cutting edge, the fact that it eliminates the trusted setup is the icing on the cake. Sure, it kinda sucks that anyone can look and copy the code, but copy/pasta only gets you so far. Zcashs true “value” isn’t the code it’s all of you and the work you put into it that cannot be copied. The guys that actually know how this shit works!

Personally I don’t really care what license it’s under, as long as Zcash gets it. :wink:

3 Likes

Does that mean that if after the grace period company X comes to ECC and says we’ll give you Y dollars to be able to keep using the software closed source, ECC will definitely say no?

I’m trying to understand this point you raised, and I’m not really an expert on copyright law. I think this is a weird edge case though. It’s like saying that Apple could privately offer money to every contributor of some GNU tool for an MIT licensed version of their code. Technically, yeah they could do that to bypass the GPL. I think this is just inherent to how copyright licenses work. The more people who hold copyright over the code you’re using, the more accountable you are to abide by the license. Again, no expert, this is just how I understand things to work.

2 Likes

Hi Shawn,

This was the announcement. That nothing came out earlier was simply a matter of timing and coordination. In part, because the team was working to get code ready to make available. In part, because we needed to draft a blog post and go through the paces of approvals from the Ethereum Foundation, get the quote and video from Vitalik, etc. Sean was also on vacation for a bit and we didn’t want to release anything while he was out. We pushed it out another week or so because we wanted to make it public during our set of announcements and activities leading into Canopy and the halvening.

5 Likes

I think that is where some of the confusion comes in. (at least in my case) The announcement showcases the new code for Halo2 that is now under this new license which kind of implies that work has already been completed to some extent. At least that’s how I read it, as opposed to “We just got a Grant to start getting Halo 2 going” it mentions “In July, EF granted $120,000 to ECC to continue Halo research” and we are now in September.

I understand not everything ECC does can be or should be an announcement, but some news trickling out other than big splashy announcements could potentially go a long way to calm some who have concerns that ECC is not sharing enough about what is being worked on.

2 Likes

I take some responsibility for this, nobody was really expecting me to take a vacation in July and so it delayed things. :frowning:

7 Likes

I hear you, and appreciate the feedback.

July isn’t that long ago and after the grant, we needed to get approval to say how much the grant was for, which they told us isn’t typically disclosed. Then we needed to write it up, and agree on the announcement with the EF. That happened a few weeks back.

The code is early and under development. We wanted to get the minimum out there and available as soon as we could, Sean needed a little time off first, and we wanted to tie the two things together since it was all so close together anyway. For better or worse, that’s how it went down.

There are always considerations and judgement calls on how to deliver news, especially with multiple parties and moving pieces. Hopefully we get it right more often than not.

9 Likes