etcd-io / etcd

Distributed reliable key-value store for the most critical data of a distributed system
https://etcd.io
Apache License 2.0
47.41k stars 9.73k forks source link

Discussion about moving etcd to CNCF #9967

Closed purpleidea closed 5 years ago

purpleidea commented 6 years ago

As per https://github.com/coreos/etcd/issues/9964 apparently there's a proposal to move etcd to CNCF. I was told to discuss that in: https://github.com/cncf/toc/issues/136 They clearly don't want to discuss the negative aspects of CNCF there, and the original issue here in https://github.com/coreos/etcd/issues/9964 was locked to prevent further discussion.

So where should we discuss this? Or have the "higher-ups" already "decided" and there isn't really an etcd "community" ?

I forgot to mention, that there's been zero discussion or even mention of the string "cncf" in public etcd-dev or core-* mailing lists.

Thanks

/cc @gyuho

xiang90 commented 6 years ago

I was involved in the discussion about the donation.

Actually, we have been talking with CNCF over the last couple of years. We hesitated to do it before mainly due to the lack of contribution outside CoreOS. Personally, I was not sure if donating to CNCF will help on contribution/adoption or will simply add the unnecessary overhead. Now things has changed quite a bit, with the contribution from Red Hat/ Google/IBM/Alibaba we need a neutral place for etcd to sustain/grow both the developers and the users community.

With all these being said, etcd is not an easy project to contribute, I do hope we choose the right foundation to help on getting more help from the companies that are already benefit from etcd or its related projects (raft/zetcd/ etc..)

hexfusion commented 6 years ago

While I can't say I completely agree with @purpleidea I feel that he or any contributor is well within their rights to question a community proposal.

With all these being said, etcd is not an easy project to contribute, I do hope we choose the right foundation to help on getting more help from the companies that are already benefit from etcd or its related projects (raft/zetcd/ etc..)

I guess I never questioned the CNCF adoption but now that it has been brought up I think it is at least fair to ask if there are alternatives? As Xiang pointed out the project is hard to contribute to. Not only on a technical level but also on a collaboration level as well. The core developers are a small group and very busy which given the task is understandable. My hopes with CNCF adoption would be funding for etcd conferences, meetups etc, the resulting comradery could spark growth in the community. With additional contributors perhaps a focus on training and collaboration could fuel the growth we are looking for.

But this is a lot of work and time not to mention money. If not under the wing of something like CNCF how would it happen?

gyuho commented 6 years ago

@purpleidea

I apologize. I did not mean to block any discussion from you. And I also appreciate your consistent contributions to etcd!


Let's discuss here, from now.

I forgot to mention, that there's been zero discussion or even mention of the string "cncf" in public etcd-dev or core-* mailing lists.

As Xiang said, it has been considered quite a while, but we should have been communicated in a more open manner. So, please tell us more.


Regarding your concerns https://github.com/coreos/etcd/issues/9964#issuecomment-408546640

In particular, if contributing to etcd in the future would require signing a CLA, I would most likely find it difficult to send any future patches.

As @caniszczyk said, CLA is optional. We rather opt out if that helps grow maintainership.

I'm against moving things into foundations like this. It's a 501(c)(6) not a 501(c)(3) so we need additional written assurances to prevent complete corporate control and "pay to play" direction so that smaller parties have an influence too.

This does not apply to etcd. I can give you counter examples. CockroachDB has been leading the efforts to optimize etcd Raft implementation. A small team from BrainTree recently improved our lease storage layer. One person from NTT was responsible for co-designing and implementing v3 auth feature. Those companies are not "high-paying" CNCF members. This won't change even after etcd joins CNCF. Even now, most of my time are spent on debugging issues reported by community users. A well-written bug report from a community user always takes precedence over feature development funded by companies.

etcd has very limited feature-scope, where CNCF has no space to steer the project for their own benefit, or to get special treatments. Bigger corps surely have more presence because they are "funding" and contributing the most. But no feature development was done in private. Community need was never neglected for the sake of corporates' benefits.

I need more resources to meet more community requests. And I do not see any better foundation than CNCF.

Please discuss here if you have more concerns.

Me and other maintainers will try their best to address them.

jberkus commented 6 years ago

@hexfusion I don't think anyone explored alternatives because CNCF was so obviously well-suited to Etcd. There's already multiple projects under the CNCF that depend on Etcd in some way, many of them are written in Go, and most of them are Apache-licensed like Etcd. While we could talk about joining, say, the Apache foundation, we'd have to sell Apache on the idea of accepting a project written in Go that is a competitor to Zookeeper. Wheras the CNCF seems ready to welcome the project at the first possible opportunity. There's also that Apache Foundation would expect to restructure how Etcd does development and technical governance.

I don't know of other alternatives that would be even remotely appropriate (FSF, SFC, SPI, etc.). Either they have requirements the project doesn't meet, or they don't have the resources to support it. Does someone know an organization I'm not thinking of?

spzala commented 6 years ago

Good discussion. As @xiang90 mentioned, the discussion around potential etcd move under CNCF is going on for sometime. It might not be widespread but it was not all private as I did hear about it in public places. This discussion issue is good and should be helpful in making a decision with an overall agreement, but I can not think of any better place than CNCF where Kubernetes and many other projects are well established and have already gained respect from the community. Also as @xiang90 and @gyuho mentioned, there is a clear need for such changes.

hexfusion commented 6 years ago

The import thing IMO is that the floor is open for an alternative proposal by the community. Change is necessary, I think we can all agree to this. But merely disagreeing on the solution is in itself not a solution either.

As a community member that is not representing a large tech company, I see CNCF adoption as a natural fit. If we review the current list of projects supported by the foundation https://www.cncf.io/projects/ etcd seems very at home to me. I look forward to the TOC meeting scheduled August 7th.

https://github.com/cncf/toc#scheduled-community-presentations

xiang90 commented 5 years ago

I am going to close this due to lack of activity. Please let us know if there are more questions related to the donation of CNCF.