# OpenEthereum Meetup ## Day 1 - January 21st, 2020 Teams represented - Gnosis - Ethereum Foundation - POA Network - ETC Labs - DappNode - Lab10 Collective - ETC Cooperative - Lukso - Turbogeth/Eth1.x research - Neufund - Independent Parity Contributors ### Fred - Why are we doing this? We don't want to be the only one maintaing Parity Ethereum, and we want Parity to live on. It's not about the money, we could find more money, but it's simply not sustainable for us. So, where can we go from here? I've been with parity for years, seeing us invest nearly 5 years of development and millions of dollars into parity ethereum, and we don't want to see that work go to waste. So what do we actually want to do with this? - I don't know if this is possible. It could be a complete failure. But given the people in this room, I think it's more than possible. We have over 30 people in this room who are obviously interested in working on OpenEthereum and making it a success. - Before the codebase can move, we need to figure out the license. We have a legal team working on some details, will get to that later. - Need to see how we can move the code. What do we keep in Parity's org and what can we move to OpenEthereum. Once the code is moved, next step is to add admins on that organization. When will this happen? - We will get an answer from lawyers in a couple of weeks, then we can start the process and get some contributors on that. What's going on with this DAO? - DAOs have a lot of connotation/baggage around what people think they are. We're really not thinking about something complex there, we're only thinking about managing the license with the DAO right now. We have no intention of the DAO being involved in the organization of the code. ### Discussion So what about this DAO? Do we want a DAO? - Fabian: Yes, but later. I think it may be too complicated. Once it gets rolling, and once we have funds, it makes sense. - Stefan: Right now, it may be an unnecessary distraction. Let's first see who's contributing and decide later. - ETC Labs: Let's let the organization develop organically. - Alexey: It's important however, not to do this too late. If there's any chance of disagreement, there are usually shareholder agreements that allow dispute resolution. If we do it too late, there won't be dispute resolutions when disputes arise, and it may be too late to do this later. - Laptem collective: If you don't have a structure to decide what's going on, it will be very difficult to manage. It doesn't become easier later. - Jam: which network will be this be on? - Bob: I think it's important to get the licensing sorted out before anything happens. Parity holds the licensing rights, and it's easier to do anything once that's sorted out. - Igor: Sometimes when smaller problems arise things don't get attention. When I put up a gitcoin grant, it got a lot of attention. It was not affecting the mainnet clinet. DAOs are good for signaling. Instead of putting money into gitcoin, i'd rather put money into this DAO. It would help other teams signal their priorities. With a DAO, even minority stakeholders can have a say. DAOs are about hype right now, but we have the chance to make the right DAO that can be accepted by the EF. - Martin: I'm skeptical that the DAO can handle the license, after my experience with DAOs. I'm somewhat afraid of that, but if it's used for signaling or funding distribution, that's a different story. Fred: Our initial thoughts are that it's probably not going to work out to have a DAO that handles accepting/rejecting PRs. What our opinion is constrained to is our legal issue what we have to prioritize, which is the license. Think of it more as a smart contract that decides what the license is. If a DAO happens for the organization of the code, that will be something else, something that will not be started by Parity. #### Does Parity have a preference on the license? Fred: Yes, we believe in GPL, but we know people disagree with us, and we want to give them the opportunity to change it. #### Alexey: The DAO could be the "final say" regarding what gets released to the public. Fred: that's a really good point and something we want to cover here. #### Marek: we should be aware that there's an auto-update smart contract for upgrades. This is currently controlled by parity and on by default for crticial upgrades. Fred: my proposal is that we disable this feature and delete the code. But if OpenEthereum wants to keep it, we need to decide how to do this. Alexey: this is a good use case for a DAO. Igor: could be disabled by default. Recently, Parity handed over Kovan, which by the way was in bad shape at the time but is better now. We disabled auto-update on Kovan. #### Igor: What is the timeline? David: First we need to figure out the license issue, then once the code is moved, it's day-one of OpenEthereum. Once that happens, we're going to start to shut down some infrastructure, such as bootnodes and archive nodes. We will however keep whatever is needed to support security updates for the foreseeable future. The timeline here is "as soon as possible" and we hope by Easter this is up and running. #### Igor: CI infrastructure. Are you going to transition the CI infrastructure or shut it down so we figure it out ourselves? Fred: Sort of, to shut it down. But we know it's not easy, and we're happy to share our pipeline. We have a 128-core server that runs the builds and tests. All the code is already in the repo, and whatever isn't we will share so that it can be done somewhere else. Ultimately, whoever takes over releases will take this over. We've put years of devops work to get builds down to 15 minutes to handle updates and testing quickly. #### What about bootnodes? Fred: we're running 8 servers that are beefy unlimited bandwidth servers that are needed to serve the 1TB/day per server bandwidth required. ## License #### Fred: Why do you care about the license? Stefan: if the development is done by a bigger community, then it shouldn't favor a specific entity. 2nd, let's make it as open as possible so that many people can contribute. Alexey: Regarding GPL vs. Apache. GPL would probably be good where you are always giving it away for free; for the public good. GPL allows you to get more contributions. However, if businesses want to build sustainable product, then the license should be more business friendly and have private derivatives. I know some businesses are limited by the licensing. Laptem: We are looking for more business models that can use this. We like GPL, but it would be helpful to have apache. Gnosis: License is important. Some licesnses have more opinionation than others, which may generate a split. Some companies may refrain from participating due to GPL. We should be careful about this. Bob: It doesn't have to be a binary choice. It could be possible to fork to an apache base and still maintain GPL. You could have the accumulating value of one (GPL) while still having businesses contribute some code to that. **Fred**: there does seem to be a split. Parity's stance has been that code should be GPL. It should be free and open source forever. There are some arguments for Apache of course, but there will likely be closed source forks once it goes there. So what do we to maintain our philosophical view and keep it open. But we want to give the community some option so that they could take some action. We could create a smart contract that owns the license, with tokens where most of them go to Parity but some will go to those here. We will say that we will always support GPL, but we are willing to sell the tokens so that parties can change it. This was the simplest possible way we could think of it. I'll take one step back and say, "we don't really know what to expect." There are people who want apache, but are they willing to pay? We're thinking of keeping it as simple as possible. This is really everything we had in mind with the DAO we're talking about. But, keep in mind this doesn't affect contributions to the code. This does raise an issue with the uncertainty about what people are willing to contribute regarding which license? Fabian: I know from working with Geth that GPL is a huge barrier for businesses. If they see GPL, they don't touch it. Fred: Parity owns the license. And changing from GPL to Apache requires all developers/contributors to sign-off on licensing changes. But we have a CLA that allows us to do this. But this will not persist into OpenEthereum. Fabian: I think the CLA is what caused the lack of contributions. I would personally vote for Apache. Alexey: If the price tag is too high, people will say "let's just ditch it." Fred: This is a fair point, and at this point it's early. ETC Labs: If the intention is to sell it, then I ask that it's said up front so we know what we're getting into. This adds risk. Gnosis: If somebody buys a majority share and makes it proprietary, then all the code is proprietary. Fred: Not really, the previous code will be protected. ETC Labs: It shouldn't be enough that somebody can buy only parity's tokens to get the licensing rights. #### Who wants more permissive license: - Lukso, Gnosis, ETC Labs, Laptem Collective, POA, DappNode, ETC cooperrative, Brave, OST - Against: Parity #### Who would not contribute under GPL? - ETC Cooperative, Turbogeth/Alexey #### Who would NOT contribute under the current understanding of this DAO? - ETC Labs (would be more cautious), Gnosis, Lukso, ETC Cooperative Bob: It's risky for contributors. ## Who will do what? Martin: Gnosis is committed to doing whatever we can to maintain the software. We're hiring people. Stefan: We've talked to many teams here including Parity, and we are hiring 6 developers to help maintain it. Fabian: we're going to have one rust developer on this #### Testing, maintenance, builds Questions: - Stefan: How much does this cost? Knowing that will help - Fred: How long are you willing to wait for a green checkmark for doing tests? Alexey: doesn't need to be super fast. - Alexey: since we will be looking at this code from a fresh perspective, we will likely find ways to make the codebase lighter and more efficient. #### Security - Big issue is auto-updater. Not much feedback, but many questions. #### Day-to-day operations How would you want things to work? What are the highest priorities? - Stefan: Maintaining the client is the highest priority. A PM would be helpful, I don't care where they are. They should be non-biased. - Igor: Is it our obligation to review every PR? #### Release management Martin did an overview of release management. Open questions involve how to pay for hosting for many of the services we run to allow Parity-Ethereum to get released in time. ## Day 2 Technical presentations. Not much input, but more information gathering from Parity Team. - Berlin hard fork: should be fairly easy to implement, as some EIPs are already coded up, others are simple, or have their own Rust implementations -