It's a burden for supporting multiple releases. 1.2 was released March, 2017 (1 year ago), and I know that some users are still on that version 1.3 was released June, 2017 (9 months ago), and we're still maintaining it (still backport patches <https://github.com/apache/mesos/commit/064f64552624e38d5dd92660eef6f6940128c106> several days ago, which some users asked) 1.4 was released Sept, 2017 (6 months ago). 1.5 was released Feb, 2018 (1 month ago).
As you can see, users expect a release to be supported 6-9 months (e.g., backports are still needed for 1.3 release, which is 9 months old). If we were to do monthly minor release, we'll probably need to maintain 6-9 release branches? That's too much of an ask for committers and maintainers. I also agree with folks that there're benefits doing releases more frequently. Given the historical data, I'd suggest we do quarterly releases, and maintain three release branches. - Jie On Fri, Mar 23, 2018 at 10:03 AM, Greg Mann <g...@mesosphere.io> wrote: > The best motivation I can think of for a shorter release cycle is this: if > the release cadence is fast enough, then developers will be less likely to > rush a feature into a release. I think this would be a real benefit, since > rushing features in hurts stability. *However*, I'm not sure if every two > months is fast enough to bring this benefit. I would imagine that a > two-month wait is still long enough that people wouldn't want to wait an > entire release cycle to land their feature. Just off the top of my head, I > might guess that a release cadence of 1 month or shorter would be often > enough that it would always seem reasonable for a developer to wait until > the next release to land a feature. What do y'all think? > > Other motivating factors that have been raised are: > 1) Many users upgrade on a longer timescale than every ~2 months. I think > that this doesn't need to affect our decision regarding release timing - > since we guarantee compatibility of all releases with the same major > version number, there is no reason that a user needs to upgrade minor > releases one at a time. It's fine to go from 1.N to 1.(N+3), for example. > 2) Backporting will be a burden if releases are too short. I think that in > practice, backporting will not take too much longer. If there was a > conflict back in the tree somewhere, then it's likely that after resolving > that conflict once, the same diff can be used to backport the change to > previous releases as well. > 3) Adhering strictly to a time-based release schedule will help users plan > their deployments, since they'll be able to rely on features being released > on-schedule. However, if we do strict time-based releases, then it will be > less certain that a particular feature will land in a particular release, > and users may have to wait a release cycle to get the feature. > > Personally, I find the idea of preventing features from being rushed into a > release very compelling. From that perspective, I would love to see > releases every month. However, if we're not going to release that often, > then I think it does make sense to adjust our release schedule to > accommodate the features that community members want to land in a > particular release. > > > Jie, I'm curious why you suggest a *minimal* interval between releases. > Could you elaborate a bit on your motivations there? > > Cheers, > Greg > > > On Fri, Mar 16, 2018 at 2:01 PM, Jie Yu <yujie....@gmail.com> wrote: > > > Thanks Greg for starting this thread! > > > > > >> My primary motivation here is to bring our documented policy in line > >> with our practice, whatever that may be > > > > > > +100 > > > > Do people think that we should attempt to bring our release cadence more > >> in line with our current stated policy, or should the policy be changed > >> to reflect our current practice? > > > > > > I think a minor release every 2 months is probably too aggressive. I > don't > > have concrete data, but my feeling is that the frequency that folks > upgrade > > Mesos is low. I know that many users are still on 1.2.x. > > > > I'd actually suggest that we have a *minimal* interval between two > > releases (e.g., 3 months), and provide some buffer for the release > process. > > (so we're expecting about 3 releases per year, this matches what we did > > last year). > > > > And we use our dev sync to coordinate on a release after the minimal > > release interval has elapsed (and elect a release manager). > > > > - Jie > > > > On Wed, Mar 14, 2018 at 9:51 AM, Zhitao Li <zhitaoli...@gmail.com> > wrote: > > > >> An additional data point is how long it takes from first RC being cut to > >> the final release tag vote passes. That probably indicates smoothness of > >> the release process and how good the quality control measures. > >> > >> I would argue for not delaying release for new features and align with > the > >> schedule we declared on policy. That makes upstream projects easier to > >> gauge when a feature will be ready and when they can try it out. > >> > >> On Tue, Mar 13, 2018 at 3:10 PM, Greg Mann <g...@mesosphere.io> wrote: > >> > >> > Hi folks, > >> > During the recent API working group meeting [1], we discussed the > >> release > >> > schedule. This has been a recurring topic of discussion in the > developer > >> > sync meetings, and while our official policy still specifies > time-based > >> > releases at a bi-monthly cadence, in practice we tend to gate our > >> releases > >> > on the completion of certain features, and our releases go out on a > >> > less-frequent basis. Here are the dates of our last few release blog > >> posts, > >> > which I'm assuming correlate pretty well with the actual release > dates: > >> > > >> > 1.5.0: 2/8/18 > >> > 1.4.0: 9/18/17 > >> > 1.3.0: 6/7/17 > >> > 1.2.0: 3/8/17 > >> > 1.1.0: 11/10/16 > >> > > >> > Our current cadence seems to be around 3-4 months between releases, > >> while > >> > our documentation states that we release every two months [2]. My > >> primary > >> > motivation here is to bring our documented policy in line with our > >> > practice, whatever that may be. Do people think that we should attempt > >> to > >> > bring our release cadence more in line with our current stated policy, > >> or > >> > should the policy be changed to reflect our current practice? > >> > > >> > If we were to attempt to align with our stated policy for 1.6.0, then > we > >> > would release around April 8, which would probably mean cutting an RC > >> > sometime around the end of March or beginning of April. This is very > >> soon! > >> > :) > >> > > >> > >> > I'm currently working with Gastón on offer operation feedback, and I'm > >> not > >> > sure that we would have it ready in time for an early April release > >> date. > >> > Personally, I would be OK with this, since we could land the feature > in > >> > 1.7.0 in June. However, I'm not sure how well this schedule would work > >> for > >> > the features that other people are currently working on. > >> > > >> > >> A highly important feature our org need is resizing of persistent > volume. > >> I > >> think it has a good chance to make the stated 1.6 schedule. > >> > >> > >> > > >> > I'm curious to hear people's thoughts on this, developers and users > >> alike! > >> > > >> > Cheers, > >> > Greg > >> > > >> > > >> > [1] https://docs.google.com/document/d/1JrF7pA6gcBZ6iyeP5YgD > >> > G62ifn0cZIBWw1f_Ler6fLM/edit# > >> > [2] http://mesos.apache.org/documentation/latest/versioning/ > >> > #release-schedule > >> > > >> > >> > >> > >> -- > >> Cheers, > >> > >> Zhitao Li > >> > > > > >