@Greg I am personally in favor of splitting "connectors" and "contrib" out as well. I know that @rmetzger has some reservations about the connectors, but we may be able to convince him.
For the cluster tests (yarn / mesos) - in the past there were many cases where these tests caught cases that other tests did not, because they are the only tests that actually use the "flink-dist.jar" and thus discover many dependency and configuration issues. For that reason, my feeling would be that they are valuable in the core repository. I would actually suggest to do only the library split initially, to see what the challenges are in setting up the multi-repo build and release tooling. Once we gathered experience there, we can probably easily see what else we can split out. Stephan On Fri, Mar 17, 2017 at 8:37 PM, Greg Hogan <c...@greghogan.com> wrote: > I’d like to use this refactoring opportunity to unspilt the Travis tests. > With 51 builds queued up for the weekend (some of which may fail or have > been force pushed) we are at the limit of the number of contributions we > can process. Fixing this requires 1) splitting the project, 2) > investigating speedups for long-running tests, and 3) staying cognizant of > test performance when accepting new code. > > I’d like to add one to Stephan’s list of module group. I like that the > modules are generic (“libraries”) so that no one module is alone and > independent. > > Flink has three “libraries”: cep, ml, and gelly. > > “connectors” is a hotspot due to the long-running Kafka tests (and > connectors for three Kafka versions). > > Both flink-storm and flink-python have a modest number of number of tests > and could live with the miscellaneous modules in “contrib”. > > The YARN tests are long-running and problematic (I am unable to > successfully run these locally). A “cluster” module could host flink-mesos, > flink-yarn, and flink-yarn-tests. > > That gets us close to running all tests in a single Travis build. > https://travis-ci.org/greghogan/flink/builds/212122590 < > https://travis-ci.org/greghogan/flink/builds/212122590> > > I also tested (https://github.com/greghogan/flink/commits/core_build < > https://github.com/greghogan/flink/commits/core_build>) with a maven > parallelism of 2 and 4, with the latter a 6.4% drop in build time. > https://travis-ci.org/greghogan/flink/builds/212137659 < > https://travis-ci.org/greghogan/flink/builds/212137659> > https://travis-ci.org/greghogan/flink/builds/212154470 < > https://travis-ci.org/greghogan/flink/builds/212154470> > > We can run Travis CI builds nightly to guard against breaking changes. > > I also wanted to get an idea of how disruptive it would be to developers > to divide the project into multiple git repos. I wrote a simple python > script and configured it with the module partitions listed above. The usage > string from the top of the file lists commits with files from multiple > partitions and well as the modified files. > https://gist.github.com/greghogan/f38a8efe6b6dd5a162a6b43335ac4897 < > https://gist.github.com/greghogan/f38a8efe6b6dd5a162a6b43335ac4897> > > Accounting for the merging of the batch and streaming connector modules, > and assuming that the project structure has not changed much over the past > 15 months, for the following date ranges the listed number of commits would > have been split across repositories. > > since "2017-01-01" > 36 of 571 commits were mixed > > since "2016-07-01" > 155 of 1607 commits were mixed > > since "2016-01-01" > 272 of 2561 commits were mixed > > Greg > > > > On Mar 15, 2017, at 1:13 PM, Stephan Ewen <se...@apache.org> wrote: > > > > @Robert - I think once we know that a separate git repo works well, and > > that it actually solves problems, I see no reason to not create a > > connectors repository later. The infrastructure changes should be > identical > > for two or more repositories. > > > > On Wed, Mar 15, 2017 at 5:22 PM, Till Rohrmann <trohrm...@apache.org> > wrote: > > > >> I think it should not be at least the flink-dist but exactly the > remaining > >> flink-dist module. Otherwise we do redundant work. > >> > >> On Wed, Mar 15, 2017 at 5:03 PM, Robert Metzger <rmetz...@apache.org> > >> wrote: > >> > >>> "flink-core" means the main repository, not the "flink-core" module. > >>> > >>> When doing a release, we need to build the flink main code first, > because > >>> the flink-libraries depend on that. > >>> Once the "flink-libraries" are build, we need to run the main build > again > >>> (at least the flink-dist module), so that it is pulling the artifacts > >> from > >>> the flink-libraries to put them into the opt/ folder of the final > >> artifact. > >>> > >>> > >>> > >>> > >>> On Wed, Mar 15, 2017 at 4:44 PM, Till Rohrmann <trohrm...@apache.org> > >>> wrote: > >>> > >>>> I'm ok with point 3. > >>>> > >>>> Concerning point 8: Why do we have to build flink-core twice after > >> having > >>>> it built as a dependency for flink-libraries? This seems wrong to me. > >>>> > >>>> Cheers, > >>>> Till > >>>> > >>>> On Wed, Mar 15, 2017 at 4:23 PM, Robert Metzger <rmetz...@apache.org> > >>>> wrote: > >>>> > >>>>> Thank you. Running on AWS is a good idea! > >>>>> Let me know if you (or anybody else) wants to help me with the > >>>>> infrastructure work! Any help is much appreciated (as I've said > >>> before, I > >>>>> don't really have time for doing this, but it has to be done :) ) > >>>>> > >>>>> I'm against creating two new repositories. I fear that this > >> introduces > >>>> too > >>>>> much complexity and too many repositories. > >>>>> "flink" and "flink-libraries" are hopefully enough to get the build > >>> time > >>>>> significantly down. > >>>>> We can also consider putting the connectors into the > >> "flink-libraries" > >>>> repo > >>>>> if we need to further reduce the build time. > >>>>> > >>>>> We should probably move "flink-table" of out "flink-libraries" if we > >>> want > >>>>> to keep "flink-table" in the main repo. (This would eliminate the > >>>>> "flink-libraries" module from main. > >>>>> > >>>>> Also, I agree that "flink-statebackend-rocksdb" is not correctly > >> placed > >>>> in > >>>>> contrib anymore. > >>>>> > >>>>> > >>>>> On Wed, Mar 15, 2017 at 4:07 PM, Greg Hogan <c...@greghogan.com> > >>> wrote: > >>>>> > >>>>>> Robert, appreciate your kickstarting this task. > >>>>>> > >>>>>> We should compare the verification time with and without the listed > >>>>>> modules. I’ll try to run this by tomorrow on AWS and on Travis. > >>>>>> > >>>>>> Should we maintain separate repos for flink-contrib and > >>>> flink-libraries? > >>>>>> Are you intending that we move flink-table out of flink-libraries > >>> (and > >>>>>> perhaps flink-statebackend-rocksdb out of flink-contrib)? > >>>>>> > >>>>>> Greg > >>>>>> > >>>>>> > >>>>>>> On Mar 15, 2017, at 9:55 AM, Robert Metzger <rmetz...@apache.org > >>> > >>>>> wrote: > >>>>>>> > >>>>>>> Thank you for looking into this Till. > >>>>>>> > >>>>>>> I think we then have to split the repositories. > >>>>>>> My main motivation for doing this is that it seems to be the only > >>>>>> feasible > >>>>>>> way of scaling the community to allow more committers working on > >>> the > >>>>>>> libraries. > >>>>>>> > >>>>>>> I'll take care of getting things started. > >>>>>>> > >>>>>>> As the next steps I propose to: > >>>>>>> 1. Ask INFRA to rename https://git-wip-us.apache.org/ > >>>>> repos/asf?p=flink- > >>>>>>> connectors.git;a=summary to "flink-libraries" > >>>>>>> 2. Ask INFRA to set up GitHub and travis integration for > >>>>>> "flink-libraries" > >>>>>>> 3. Put the code of "flink-ml", "flink-gelly", "flink-python", > >>>>>> "flink-cep", > >>>>>>> "flink-scala-shell", "flink-storm" into the new repository. (I > >>>> decided > >>>>>>> against moving flink-contrib there, because rocksdb is in the > >>> contrib > >>>>>>> module, for flink-table, I'm undecided, but I kept it in the main > >>>> repo > >>>>>>> because its probably going to interact more with the core code in > >>> the > >>>>>>> future) > >>>>>>> I try to preserve the history of those modules when splitting > >> them > >>>> into > >>>>>> the > >>>>>>> new repo > >>>>>>> 4. I'll close all pull requests against those modules in the main > >>>> repo. > >>>>>>> 5. I'll set up a minimal documentation page for the library > >>>> repository, > >>>>>>> similar to the main documentation. > >>>>>>> 6. I'll update the documentation build process to build both > >>>>>> documentations > >>>>>>> & link them to each other > >>>>>>> 7. I'll update the nightly deployment process to include both > >>>>>> repositories > >>>>>>> 8. I'll update the release script to create the Flink release out > >>> of > >>>>> both > >>>>>>> repositories. In order to put the libraries into the opt/ dir of > >>> the > >>>>>>> release, I'll need to change the build of "flink-dist" so that it > >>>> first > >>>>>>> builds flink core, then the libraries and then the core again > >> with > >>>> the > >>>>>>> libraries as an additional dependency. > >>>>>>> > >>>>>>> The main question for the community is: do you agree with point > >> 3 ? > >>>>> Would > >>>>>>> you like to include more or less? > >>>>>>> > >>>>>>> I'll start with 1. and 2. tomorrow morning. > >>>>>>> > >>>>>>> > >>>>>>> > >>>>>>> On Wed, Mar 15, 2017 at 1:48 PM, Till Rohrmann < > >>> trohrm...@apache.org > >>>>> > >>>>>> wrote: > >>>>>>> > >>>>>>>> In theory we could have a merging bot which solves the problem > >> of > >>>> the > >>>>>>>> "commit window". Once the PR passes all tests and has enough > >> +1s, > >>>> the > >>>>>> bot > >>>>>>>> could do the merging and, thus, it effectively linearizes the > >>> merge > >>>>>>>> process. > >>>>>>>> > >>>>>>>> I think the second point is actually a disadvantage because > >> there > >>> is > >>>>> not > >>>>>>>> such an immediate incentive/pressure to fix the broken module if > >>> it > >>>>>> lives > >>>>>>>> in a separate repository. Furthermore, breaking API changes in > >> the > >>>>> core > >>>>>>>> will most likely go unnoticed for some time in other modules > >> which > >>>> are > >>>>>> not > >>>>>>>> developed so actively. In the worst case these things will only > >> be > >>>>>> noticed > >>>>>>>> when we try to make a release. > >>>>>>>> > >>>>>>>> But I also agree that we are not Google and we don't have the > >>>>>> capacities to > >>>>>>>> maintain such a smooth a build process that we can keep all the > >>> code > >>>>> in > >>>>>> a > >>>>>>>> single repository. > >>>>>>>> > >>>>>>>> I looked a bit into Gradle and as far as I can tell it offers > >> some > >>>>> nice > >>>>>>>> features wrt incrementally building projects. This would be > >>>> beneficial > >>>>>> for > >>>>>>>> local development but it would not solve our build time problems > >>> on > >>>>>> Travis. > >>>>>>>> Gradle intends to introduce a task result cache which allows to > >>>> reuse > >>>>>>>> results across builds. This could help when building on Travis, > >>>>>> however, it > >>>>>>>> is not yet fully implemented. Moreover, migrating from Maven to > >>>> Gradle > >>>>>>>> won't come for free (there's simply no free lunch out there) and > >>> we > >>>>>> might > >>>>>>>> risk to introduce new bugs. Therefore, I would vote to split the > >>>>>> repository > >>>>>>>> in order to mitigate our current problems with Travis and the > >>> build > >>>>>> time in > >>>>>>>> general. Whether to use a different build system or not can then > >>> be > >>>>>>>> discussed as an orthogonal question. > >>>>>>>> > >>>>>>>> Cheers, > >>>>>>>> Till > >>>>>>>> > >>>>>>>> On Tue, Mar 14, 2017 at 8:05 PM, Stephan Ewen <se...@apache.org > >>> > >>>>> wrote: > >>>>>>>> > >>>>>>>>> Some other thoughts on how repository split would help. I am > >> not > >>>> sure > >>>>>> for > >>>>>>>>> all of them, so please comment: > >>>>>>>>> > >>>>>>>>> - There is less competition for a "commit window". It happens > >> a > >>>> lot > >>>>>>>>> already that you run all tests and want to commit, but there > >> was > >>> a > >>>>>> commit > >>>>>>>>> in the meantime. You rebase, need to re-test, again commit in > >> the > >>>>>>>> meantime. > >>>>>>>>> For a "linear" commit history, this may become a bottleneck > >>>>>>>> eventually > >>>>>>>>> as well. > >>>>>>>>> > >>>>>>>>> - There is less risk of broken master. If one > >> repository/modules > >>>>>> breaks > >>>>>>>>> its master, the others can still continue. > >>>>>>>>> > >>>>>>>>> Stephan > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> On Fri, Mar 10, 2017 at 12:20 PM, Till Rohrmann < > >>>>> trohrm...@apache.org> > >>>>>>>>> wrote: > >>>>>>>>> > >>>>>>>>>> Thanks for all your input. In order to wrap the discussion up > >>> I'd > >>>>> like > >>>>>>>> to > >>>>>>>>>> summarize the mentioned points: > >>>>>>>>>> > >>>>>>>>>> The problem of increasing build times and complexity of the > >>>> project > >>>>>> has > >>>>>>>>>> been acknowledged. Ideally we would have everything in one > >>>>> repository > >>>>>>>>> using > >>>>>>>>>> an incremental build tool. Since Maven does not properly > >> support > >>>>> this > >>>>>>>> we > >>>>>>>>>> would have to switch our build tool to something like Gradle, > >>> for > >>>>>>>>> example. > >>>>>>>>>> > >>>>>>>>>> Another option is introducing build profiles for different > >> sets > >>> of > >>>>>>>>> modules > >>>>>>>>>> as well as separating integration and unit tests. The third > >>>>>> alternative > >>>>>>>>>> would be creating sub-projects with their own repositories. I > >>>>> actually > >>>>>>>>>> think that these two proposal are not necessarily exclusive > >> and > >>> it > >>>>>>>> would > >>>>>>>>>> also make sense to have a separation between unit and > >>> integration > >>>>>> tests > >>>>>>>>> if > >>>>>>>>>> we split the respository. > >>>>>>>>>> > >>>>>>>>>> The overall consensus seems to be that we don't want to split > >>> the > >>>>>>>>> community > >>>>>>>>>> and want to keep everything under the same umbrella. I think > >>> this > >>>> is > >>>>>>>> the > >>>>>>>>>> right way to go, because otherwise some parts of the project > >>> could > >>>>>>>> become > >>>>>>>>>> second class citizens. Given that and that we continue using > >>>> Maven, > >>>>> I > >>>>>>>>> still > >>>>>>>>>> think that creating sub-projects for the libraries, for > >> example, > >>>>> could > >>>>>>>> be > >>>>>>>>>> beneficial. A split could reduce the project's complexity and > >>> make > >>>>> it > >>>>>>>>>> potentially easier for libraries to get actively developed. > >> The > >>>> main > >>>>>>>>>> concern is setting up the build infrastructure to aggregate > >> docs > >>>>> from > >>>>>>>>>> multiple repositories and making them publicly available. > >>>>>>>>>> > >>>>>>>>>> Since I started this thread and I would really like to see > >>> Flink's > >>>>> ML > >>>>>>>>>> library being revived again, I'd volunteer investigating first > >>>>> whether > >>>>>>>> it > >>>>>>>>>> is doable establishing a proper incremental build for Flink. > >> If > >>>> that > >>>>>>>>> should > >>>>>>>>>> not be possible, I will look into splitting the repository, > >>> first > >>>>> only > >>>>>>>>> for > >>>>>>>>>> the libraries. I'll share my results with the community once > >> I'm > >>>>> done > >>>>>>>>> with > >>>>>>>>>> the investigation. > >>>>>>>>>> > >>>>>>>>>> Cheers, > >>>>>>>>>> Till > >>>>>>>>>> > >>>>>>>>>> On Fri, Feb 24, 2017 at 3:50 PM, Robert Metzger < > >>>>> rmetz...@apache.org> > >>>>>>>>>> wrote: > >>>>>>>>>> > >>>>>>>>>>> @Jin Mingjian: You can not use the paid travis version for > >> open > >>>>>>>> source > >>>>>>>>>>> projects. It only works for private repositories (at least > >> back > >>>>> then > >>>>>>>>> when > >>>>>>>>>>> we've asked them about that). > >>>>>>>>>>> > >>>>>>>>>>> @Stephan: I don't think that incremental builds will be > >>> available > >>>>>>>> with > >>>>>>>>>>> Maven anytime soon. > >>>>>>>>>>> > >>>>>>>>>>> I agree that we need to fix the build time issue on Travis. > >>> I've > >>>>>>>>> recently > >>>>>>>>>>> pushed a commit to use now three instead of two test groups. > >>>>>>>>>>> But I don't think that this is feasible long-term solution. > >>>>>>>>>>> > >>>>>>>>>>> If this discussion is only about reducing the build and test > >>>> time, > >>>>>>>>>>> introducing build profiles for different components as > >> Aljoscha > >>>>>>>>> suggested > >>>>>>>>>>> would solve the problem Till mentioned. > >>>>>>>>>>> Also, if we decide that travis is not a good tool anymore for > >>> the > >>>>>>>>>> testing, > >>>>>>>>>>> I guess we can find a different solution. There are now > >>>> competitors > >>>>>>>> to > >>>>>>>>>>> Travis that might be willing to offer a paid plan for an open > >>>>> source > >>>>>>>>>>> project, or we set up our own infra on a server sponsored by > >>> one > >>>> of > >>>>>>>> the > >>>>>>>>>>> contributing companies. > >>>>>>>>>>> If we want to solve "community issues" with the change as > >> well, > >>>>> then > >>>>>>>> I > >>>>>>>>>>> think its work the effort of splitting up Flink into > >> different > >>>>>>>>>>> repositories. > >>>>>>>>>>> > >>>>>>>>>>> Splitting up repositories is not a trivial task in my > >> opinion. > >>> As > >>>>>>>>> others > >>>>>>>>>>> have mentioned before, we need to consider the following > >>> things: > >>>>>>>>>>> - How are we doing to build the documentation? Ideally every > >>> repo > >>>>>>>>> should > >>>>>>>>>>> contain its docs, so we would need to pull them together when > >>>>>>>> building > >>>>>>>>>> the > >>>>>>>>>>> main docs. > >>>>>>>>>>> - How do organize the dependencies? If we have library > >>> repository > >>>>>>>>> depend > >>>>>>>>>> on > >>>>>>>>>>> snapshot Flink versions, we need to make sure that the > >> snapshot > >>>>>>>>>> deployment > >>>>>>>>>>> always works. This also means that people working on a > >> library > >>>>>>>>> repository > >>>>>>>>>>> will pull from snapshot OR need to build first locally. > >>>>>>>>>>> - We need to update the release scripts > >>>>>>>>>>> > >>>>>>>>>>> If we commit to do these changes, we need to assign at least > >>> one > >>>>>>>>>> committer > >>>>>>>>>>> (yes, in this case we need somebody who can commit, for > >> example > >>>> for > >>>>>>>>>>> updating the buildbot stuff) who volunteers to do the change. > >>>>>>>>>>> I've done a lot of infrastructure work in the past, but I'm > >>>>> currently > >>>>>>>>>>> pretty booked with many other things, so I don't > >> realistically > >>>> see > >>>>>>>>> myself > >>>>>>>>>>> doing that. Max who used to work on these things is taking > >> some > >>>>> time > >>>>>>>>> off. > >>>>>>>>>>> I think we need, best case 3 days for the change, worst case > >> 5 > >>>>> days. > >>>>>>>>> The > >>>>>>>>>>> problem is that there are no "unit tests" for the infra > >> stuff, > >>> so > >>>>>>>> many > >>>>>>>>>>> things are "trial and error" (like Apache's buildbot, our > >>> release > >>>>>>>>>> scripts, > >>>>>>>>>>> the doc scripts, maven stuff, nightly builds). > >>>>>>>>>>> > >>>>>>>>>>> > >>>>>>>>>>> > >>>>>>>>>>> On Thu, Feb 23, 2017 at 1:33 PM, Stephan Ewen < > >>> se...@apache.org> > >>>>>>>>> wrote: > >>>>>>>>>>> > >>>>>>>>>>>> If we can get a incremental builds to work, that would > >>> actually > >>>> be > >>>>>>>>> the > >>>>>>>>>>>> preferred solution in my opinion. > >>>>>>>>>>>> > >>>>>>>>>>>> Many companies have invested heavily in making a "single > >>>>>>>> repository" > >>>>>>>>>> code > >>>>>>>>>>>> base work, because it has the advantage of not having to > >>>>>>>>> update/publish > >>>>>>>>>>>> several repositories first. > >>>>>>>>>>>> However, the strong prerequisite for that is an incremental > >>>> build > >>>>>>>>>> system > >>>>>>>>>>>> that builds only (fine grained) what it has to build. I am > >> not > >>>>> sure > >>>>>>>>> how > >>>>>>>>>>> we > >>>>>>>>>>>> could make that work > >>>>>>>>>>>> with Maven and Travis... > >>>>>>>>>>>> > >>>>>>>>>>>> On Wed, Feb 22, 2017 at 10:42 PM, Greg Hogan < > >>>> c...@greghogan.com> > >>>>>>>>>> wrote: > >>>>>>>>>>>> > >>>>>>>>>>>>> An additional option for reducing time to build and test is > >>>>>>>>> parallel > >>>>>>>>>>>>> execution. This would help users more than on TravisCI > >> since > >>>>>>>> we're > >>>>>>>>>>>>> generally running on multi-core machines rather than VM > >>> slices. > >>>>>>>>>>>>> > >>>>>>>>>>>>> Is the idea that each user would only check out the modules > >>>> that > >>>>>>>> he > >>>>>>>>>> or > >>>>>>>>>>>> she > >>>>>>>>>>>>> is developing with? For example, if a developer is not > >>> working > >>>> on > >>>>>>>>>>>>> flink-mesos or flink-yarn then the "flink-deploy" module > >>> would > >>>>>>>> not > >>>>>>>>> be > >>>>>>>>>>>> clone > >>>>>>>>>>>>> to their filesystem? > >>>>>>>>>>>>> > >>>>>>>>>>>>> We can run a TravisCI nightly build on each repo to > >> validate > >>>>>>>>> against > >>>>>>>>>>> API > >>>>>>>>>>>>> changes. > >>>>>>>>>>>>> > >>>>>>>>>>>>> Greg > >>>>>>>>>>>>> > >>>>>>>>>>>>> On Wed, Feb 22, 2017 at 12:24 PM, Fabian Hueske < > >>>>>>>> fhue...@gmail.com > >>>>>>>>>> > >>>>>>>>>>>> wrote: > >>>>>>>>>>>>> > >>>>>>>>>>>>>> Hi everybody, > >>>>>>>>>>>>>> > >>>>>>>>>>>>>> I think this should be a discussion about the benefits and > >>>>>>>>>> drawbacks > >>>>>>>>>>> of > >>>>>>>>>>>>>> separating the code into distinct repositories from a > >>>>>>>> development > >>>>>>>>>>> point > >>>>>>>>>>>>> of > >>>>>>>>>>>>>> view. > >>>>>>>>>>>>>> So I agree with Stephan that we should not divide the > >>>> community > >>>>>>>>> by > >>>>>>>>>>>>> creating > >>>>>>>>>>>>>> separate groups of committers. > >>>>>>>>>>>>>> Also the discussion about independent releases is not be > >>>>>>>> strictly > >>>>>>>>>>>> related > >>>>>>>>>>>>>> to the decision, IMO. > >>>>>>>>>>>>>> > >>>>>>>>>>>>>> I see a few pros and cons for splitting the code base into > >>>>>>>>> separate > >>>>>>>>>>>>>> repositories which (I think) haven't been mentioned > >> before: > >>>>>>>>>>>>>> pros: > >>>>>>>>>>>>>> - IDE setup will be leaner. It is not necessary to compile > >>> the > >>>>>>>>>> whole > >>>>>>>>>>>> code > >>>>>>>>>>>>>> base to run a test after switching a branch. > >>>>>>>>>>>>>> cons: > >>>>>>>>>>>>>> - developing libraries features that require changes in > >> the > >>>>>>>> core > >>>>>>>>> / > >>>>>>>>>>> APIs > >>>>>>>>>>>>>> become more time consuming due to back-and-forth between > >>> code > >>>>>>>>>> bases. > >>>>>>>>>>>>>> However, I think this is not very often the case. > >>>>>>>>>>>>>> > >>>>>>>>>>>>>> Aljoscha has good points as well. Many of the build issues > >>>>>>>> could > >>>>>>>>> be > >>>>>>>>>>>>> solved > >>>>>>>>>>>>>> by different build profiles and configurations. > >>>>>>>>>>>>>> > >>>>>>>>>>>>>> Best, Fabian > >>>>>>>>>>>>>> > >>>>>>>>>>>>>> 2017-02-22 14:59 GMT+01:00 Gábor Hermann < > >>>>>>>> m...@gaborhermann.com > >>>>>>>>>> : > >>>>>>>>>>>>>> > >>>>>>>>>>>>>>> @Stephan: > >>>>>>>>>>>>>>> > >>>>>>>>>>>>>>> Although I tried to raise some issues about splitting > >>>>>>>>> committers, > >>>>>>>>>>> I'm > >>>>>>>>>>>>>>> still strongly in favor of some kind of restructuring. We > >>>>>>>> just > >>>>>>>>>> have > >>>>>>>>>>>> to > >>>>>>>>>>>>> be > >>>>>>>>>>>>>>> conscious about the disadvantages. > >>>>>>>>>>>>>>> > >>>>>>>>>>>>>>> Not splitting the committers could leave the libraries in > >>> the > >>>>>>>>>> same > >>>>>>>>>>>>>>> stalling status, described by Till. Of course, dedicating > >>>>>>>>> current > >>>>>>>>>>>>>>> committers as shepherds of the libraries could easily > >>> resolve > >>>>>>>>> the > >>>>>>>>>>>>> issue. > >>>>>>>>>>>>>>> But that requires time from current committers. It seems > >>> like > >>>>>>>>>>>>> trade-offs > >>>>>>>>>>>>>>> between code quality, speed of development, and committer > >>>>>>>>>> efforts. > >>>>>>>>>>>>>>> > >>>>>>>>>>>>>>> From what I see in the discussion about ML, there are > >> many > >>>>>>>>> people > >>>>>>>>>>>>> willing > >>>>>>>>>>>>>>> to contribute as well as production use-cases. This means > >>> we > >>>>>>>>>> could > >>>>>>>>>>>> and > >>>>>>>>>>>>>>> should move forward. However, the development speed is > >>>>>>>>>>> significantly > >>>>>>>>>>>>>> slowed > >>>>>>>>>>>>>>> down by stalling PRs. The proposal for contributors > >> helping > >>>>>>>> the > >>>>>>>>>>>> review > >>>>>>>>>>>>>>> process did not really work out so far. In my opinion, > >>> either > >>>>>>>>>> code > >>>>>>>>>>>>>> quality > >>>>>>>>>>>>>>> (by more easily accepting new committers) or some > >> committer > >>>>>>>>> time > >>>>>>>>>>>>>>> (reviewing/merging) should be sacrificed to move forward. > >>> As > >>>>>>>>> Till > >>>>>>>>>>> has > >>>>>>>>>>>>>>> indicated, it would be shameful if we let this > >> contribution > >>>>>>>>>> effort > >>>>>>>>>>>> die. > >>>>>>>>>>>>>>> > >>>>>>>>>>>>>>> Cheers, > >>>>>>>>>>>>>>> Gabor > >>>>>>>>>>>>>>> > >>>>>>>>>>>>>>> > >>>>>>>>>>>>>> > >>>>>>>>>>>>> > >>>>>>>>>>>> > >>>>>>>>>>> > >>>>>>>>>> > >>>>>>>>> > >>>>>>>> > >>>>>> > >>>>>> > >>>>> > >>>> > >>> > >> > >