Hi all! Thanks for kicking this off, Till, it is a good discussion to have. A few thoughts from my side:
- From what I get from the first responses, from a development convenience point the split in repositories would be desirable. - The biggest obstacles on that way are probably the following two: 1. It is possible to break stuff "downstream", but that seems manageable. 2. This makes releases more complex, and requires quite a lot of work in the release scripts and infrastructure. If someone would be up for spending quite a bit of time on (2), this could work. - It is important to emphasize that this would not mean that any of the other repositories become any less important or second class citizens in the Flink community. For that reason, I would actually not do a split in committers / PMC, but keep the community as a whole. As Gabor mentioned, so far committers have been acting very responsible and conservative in what code they touch without additional review - that has worked very well and not become a code stability issue. I think we can keep that up. If we see that different committer teams per sub-repository would help, we can revisit that thought. - From an Apache point of view, having multiple repositories per project is not a problem. Having separate sets of committers probably requires to officially fork off sub-projects, similar as it was with HCatalog and Hive. That is more involved. Stephan On Wed, Feb 22, 2017 at 11:05 AM, Gábor Hermann <m...@gaborhermann.com> wrote: > Hi all, > > I'm also in favor of splitting, but only in terms of committers. I agree > with Theodore, that async releases would cause confusion. With time based > releases [1] it should be easy to sync release. > > Even if it's possible to add committers to different components, should we > do a more fine-grained split? E.g. should we split the committers of Gelly > and ML? If not, committers should be trusted not to fiddle with something > that's not their territory. That might not be a problem, as it seems to be > the case right now. > > What should we do if ASF does not allow splitting? Should we add more > committers and trust them not to touch code that's not their > responsibility? That's the same as no split in terms of committers (build > time can be lowered of course). > > What about ensuring code quality? In my opinion the primary reason of > being a committer is to ensure code quality. Committers are trusted to > adhere to a certain code quality, partly determined by developer > guidelines, and make others adhere too. > > By adding more committers with less consideration, we are risking the > quality of different components. That might not be a problem, because > that's the price of a more dynamic development in libraries etc., but we > should ensure that *eventually* the code quality converges to what's > expected by Flink. So a new committer would learn some of the > responsibilities as a committer, not as a contributor. But what if the new > committer fails to adhere? Is there a way to revoke committer status? > > [1] https://cwiki.apache.org/confluence/display/FLINK/Time-based+releases > > Cheers, > Gabor > >