---------------------------------------- > Date: Wed, 25 May 2016 18:56:14 -0700 > Subject: Re: [MENTORS] multiple repos for one Apache Product? > From: ro...@shaposhnik.org > To: dev@fineract.incubator.apache.org > > On Wed, May 25, 2016 at 12:29 AM, Markus Geiß <markus.ge...@live.de> wrote: >> ---------------------------------------- >>> Date: Tue, 24 May 2016 20:33:06 -0700 >>> Subject: Re: [MENTORS] multiple repos for one Apache Product? >>> From: ro...@shaposhnik.org >>> To: dev@fineract.incubator.apache.org >>> >>> On Tue, May 24, 2016 at 5:27 AM, Myrle Krantz <mkra...@mifos.org> wrote: >>>> Hi Mentors, >>>> >>>> I asked this question in the thread on microservices, but the e-mail was >>>> long and most of the content was not relevant for you guys so you may have >>>> missed it: >>>> >>>> As far as I can tell the current mode of operation at Apache is one >>>> repository to one product. I would prefer to work with one repository per >>>> service. I believe that would help programmers remain strict about >>>> division of labor between the services, and think more carefully about >>>> interface breaking changes. Is there any reason a product can’t have >>>> multiple repositories? >>> >>> Multiple repos are, of course, permissible. However, the question you should >>> be asking your self are more along the lines of how much of a de-couple >>> release policy AND community participation do you want to have between >>> these projects. Because the thing is, if your repos are independent enough >>> wrt. release schedules AND independent enough regarding who commits >>> to them ASF will be asking a question of breaking you into a set of >>> projects. >>> >>> Does this answer you question? >>> >>> Thanks, >>> Roman. >> >> Hey Roman, >> >> thanks for the answer. ; o) >> >> To provide a little more context. We are currently working on a per-service >> repository approach to reduce unwanted cross service usage of internal >> classes and implementations. >> >> Every business domain will become a micro service and a single repository >> with multiple modules. > > The real question you should be asking yourself is how are you going to > release those things. The "contract" that ASF has with the rest of the normal > world is that we release software as tarballs/zips/etc. Source code > repo(s) is an > implementation details. With that in mind, please tell us about your release > strategy for these multiple repos and then we may be able to help refine > this. > > Thanks, > Roman.
Hey Roman, Given that every micro service is implemented as a standalone artifact that can be replaced, and for this it utilizes its own versioning, I believe it would be more in line with ASF if every service is a repo. We will release these independently from each other running their own versions. To answers Ross' question. We won't have different permissions for each micro service. Once a committer, always a committer. It would simply lower the barrier for a dev to pick the component he would like to work on, and frees him from some complexity by using a small and dedicated source set. Best, Markus .::YAGNI likes a DRY KISS::.