Gabriel, FYI point 2 is covered in the community bylaws (Section 3.4.3)
3.4.3. Release Plan - Defines the timetable and work items for a release. The plan also nominates a Release Manager. - A lazy majority of active committers is required for approval. - Any active committer or PMC member may call a vote. The vote must occur on the project development mailing list. On point 1, "...a roadmap would be defined to guide the community through the year." Is this something ridged or a fluid list of things people think they'll be putting in as they go along? Also, you haven't covered WHO is doing these releases that the community is committing to. Otherwise a +1 means that the voter was committing themselves to working on the release. 3.1.2. Voting may take four flavors: 3.1.2.1. +1 "Yes," "Agree," or "the action should be performed." In general, this vote also indicates a willingness on the behalf of the voter in "making it happen" .... http://cloudstack.apache.org/bylaws.html Kind regards Paul Angus -----Original Message----- From: Gabriel Bräscher <gabrasc...@gmail.com> Sent: 10 September 2021 14:15 To: dev <dev@cloudstack.apache.org> Subject: Re: [Discussion] Release Cycle Hi all, Looks like we are moving forward and raising important points. Summing some key factors pointed in this discussion: - CloudStack is getting stable. - From the developers' side, the costs of releasing and maintaining an LTS are high. There is a "human" limitation in terms of how many releases the community can spin per year. - From the users' perspective, upgrading CloudStack infrastructures has its costs (Pierre also raised this and I totally agree). Many users end up upgrading their infra once a year (or once in 2 years). With that said, I would like to propose the following: 1. The project compromises in having 1 LTS per year, and eventually one 1 Regular. For that, a roadmap would be defined to guide the community through the year. 2. It should be no problem to have an "extra" release in a specific year. For that, a volunteer would propose such release raising the reasons behind it. Each "extra" release proposed would require a VOTE. Please let me know if the proposed points look good. If that's the case, then I will move forward to present a draft to be added to the wiki. If you think it would be better to kick a separate VOTE thread for it I can also raise it. Regards, Gabriel. Em qui., 9 de set. de 2021 às 07:52, Rohit Yadav <rohit.ya...@shapeblue.com> escreveu: > Hi Gabriel, > > Agree with your conclusion - let's go with (at least) two major > releases in a year. > > I would add that there's no real logistical difference between a > regular vs LTS release, so for example someone could propose and work > on a "regular" release but it can become LTS if there are > volunteers/contributors who want to maintain a release. That said - by > all means just go ahead, propose and do release management! > > ps. And on a ".0" being stable I suppose it is somewhat stable in last > few years as we've got our CI/CD systems quite robust for a subset of > smoketests, all our releases thankfully at least go through a round of > smoketests across three hypervisors - that is not to say no release > has no reported issues (in fact they all do 🙂). > > > Regards. > > ________________________________ > From: Gabriel Bräscher <gabrasc...@gmail.com> > Sent: Wednesday, September 8, 2021 18:39 > To: dev <dev@cloudstack.apache.org> > Subject: Re: [Discussion] Release Cycle > > Thanks all for helping with the discussion. > > Yes, Rohit. I need to answer a few pings, sorry for the delay :-) I > totally agree with you and Paul, the costs of releasing are high, > especially for the release manager(s) which dedicates a lot of energy > and time to it. > This is one of the reasons behind this discussion; when we formalize > and document the release pace it is easier to plan a year knowing how > things will roll out, from the perspective of RMs, devs, or users. > > Going in the same direction as Rohit, I also agree that we are getting > each year stabler, maybe one LTS per year is better than the current pace of > 2. > Therefore, I would propose 1 LTS and 1 Regular per year; I see it as a > good balance between stability and agility. > Additionally, most users do not upgrade from an LTS to another twice a > year, it takes time to plan and execute such tasks (and they always > have some risks). > From my experience, an LTS per year would perfectly match the needs of > most users. > > I do understand that many adopt ".0" as an "unstable"/"Regular" LTS. > However, I don't think this is the best approach. > Additionally, many users do not see a ".0" LTS (which is how we brand > in documentation, website, and release announcement) as a "Regular". > I think that LTS, regardless of being the first spin or not, should be > as stable as it can get. Having a Regular release could avoid the idea of ".0" > not being a stable release. > > As an example, I've seen 4.12.0.0 (Regular) running in production with > no issues regarding stability, while also bringing features that > otherwise would be available only in 3-5 months. > It was as stable as many ".0" LTS and I do believe that it also > provided crucial feedback for the 4.13.0.0 (LTS). > > Regards, > Gabriel. > > Em qua., 8 de set. de 2021 às 04:58, Rohit Yadav < > rohit.ya...@shapeblue.com> > escreveu: > > > Gabriel, all, > > > > I suppose it depends, there's no right answer just trade-offs. > > Here's my lengthy brain dump; > > > > 0. our LTS definition is really to tag a set of releases and show > > intent that they are "stable" and will be supported and get > > maintenance > releases. > > We don't really do LTS releases like larger projects whose support > > lasts multi-years (3-5yrs, sometimes 7-10yrs). Fundamentally all our > > major .0 releases are just regular releases, with really the > > minor/maintenance releases making them stable or LTS-que. I like > > what Pierre-Luc is suggesting, but then say a 2-year "LTS" release > > means users don't get to consume features as they would only use > > "LTS" releases and wait for 2 > years > > which may not be acceptable trade-off. > > > > 1. so if we leave what makes a release regular vs LTS for a moment, > > the important question is - do our *users* really want releases in > > production that may be potentially buggy with possibly no stablised > > releases (i.e. > > minor releases)? Most serious users won't/don't really > > install/upgrade > the > > .0 release in production but wait for a .1 or above release, maybe > > in > their > > test environments first - this is true for most of IT industry, not > > specific to CloudStack. > > > > 2. a typical major release effort would allow for at least a month > > of dev before freeze, then another month or two for stabilisation > > with multiple RCs, tests/smoketest/upgrade tests, getting people to > > participate, votes and wrap up the release do post-release > > docs/packages/announcements/websites etc; so speaking from > > experience and burnt hands a major release can eat up 2-3 months of > > bandwidth easily irrespective of what we call it (regular or LTS). > > > > If the development freeze is done for at least a month, you can > > theoretically do 12 major releases in a year but you would end up > > having intersecting release cycles and overlaps - you would also > > need a > dedicated > > release team. One major release may be too less in a year for > > project's health, two in a year is what we're currently sort of > > trying (usually > Q1/Q2 > > has a major release, and Q3/Q4 has another). Three is possible - maybe? > But > > I think four would be just pushing it with people's > > time/bandwidth/focus eaten by release work than dev work. > > > > 3. the *main* issue is practicality and feasibility which Paul has > > mentioned too - do we've time, resources, and bandwidth to do > > multiple major releases, especially when we struggle to get the > > community to collaborate on issues and PRs (I'm looking at you > > Gabriel not responding > to > > my comment for days and weeks sometimes 🙂 - we all do it don't we > > 😄) > and > > then participate, test, and vote for releases when RCs are cut. > > > > > > 4. all said ^^ we do have an inclination to move fast break things > > and > try > > things, and for this we do now have nightlies or daily snapshot > > builds > for > > people to try out features/things without waiting for formal > > releases > (but > > without the promise of upgrade paths) - > > http://download.cloudstack.org/testing/nightly/ > > > > > > 5. finally - I would say if you or anyone wants to work on a release > (call > > it whatever, regular, LTS) - just propose and do! > > > > > > Regards. > > > > ________________________________ > > From: Daniel Augusto Veronezi Salvador <dvsalvador...@gmail.com> > > Sent: Tuesday, September 7, 2021 22:07 > > To: dev@cloudstack.apache.org <dev@cloudstack.apache.org> > > Subject: Re: [Discussion] Release Cycle > > > > Hi Gabriel, thanks for opening this discussion. > > > > I'm +1 on it. My considerations: > > > > - We've to put a lot of efforts to support 3+ LTS simultaneously, > > which doesn't make sense. Regular versions will give us some breath > > and will reduce rework. > > - Although the EOL is well defined, it seems we don't have a solid > > criteria to define new versions, because they don't have a pattern. > > Users don't know when they will have a new version. Also, we don't > > have much planning to do the implementations. > > - We've been seeing Ubuntu life-cycle working for a long time, and > > we know it works well. It's a good reference to follow, we will not > > need to reinvent the wheel. > > > > Best regards, > > Daniel. > > > > On 31/08/2021 14:44, Gabriel Bräscher wrote: > > > Hello, > > > > > > I would like to open a discussion regarding the project release cycle. > > More > > > specifically on the following topics: > > > > > > 1. LTS and Regular releases > > > > > > 2. Releases period > > > > > > 3. Enhance roadmap and Release cycle for users > > > > > > #### 1 LTS and Regular releases > > > > > > It has been a while since the last regular release. Nowadays there > > > are > > only > > > LTS releases; maybe we should get back to having regular versions > > > in between LTS. > > > > > > With a “Regular” release users would be able to trade stability > > > for new features. Additionally, developers and users would have a > > > “pilot” of > the > > > next LTS which could anticipate issues and result in a stable > > > long-term release. > > > > > > Please, let me know what you think of this. Should we get back to > > releasing > > > Regular releases in between LTS releases? > > > > > > For reference, here follow the past releases: > > > > > > +---------+---------+--------------+-------------+ > > > | Release | Type | Release date | EOL | > > > +---------+---------+--------------+-------------+ > > > | 4.15 | LTS | 19 Jan 2021 | 1 July 2022 | > > > +---------+---------+--------------+-------------+ > > > | 4.14 | LTS | 26 May 2020 | 1 Jan 2022 | > > > +---------+---------+--------------+-------------+ > > > | 4.13 | LTS | 24 Sep. 2019 | 1 May 2021 | > > > +---------+---------+--------------+-------------+ > > > | 4.12 | Regular | 4 April 2019 | N/A | > > > +---------+---------+--------------+-------------+ > > > | 4.11 | LTS | 12 Feb. 2018 | 1 July 2019 | > > > +---------+---------+--------------+-------------+ > > > | 4.10 | Regular | 6 July 2017 | N/A | > > > +---------+---------+--------------+-------------+ > > > | 4.9 | LTS | 25 July 2016 | 1 July 2018 | > > > +---------+---------+--------------+-------------+ > > > > > > #### 2 Releases period > > > > > > > > > We had in the past a new LTS per year. Then, we got into two new > > > LTS > per > > > year. This led from having 2 LTS maintained at the same time to 3. > > > With that said, I think this is neither documented nor has it been > > > discussed in the ML. > > > > > > We have the LTS minimum and maximum support dates well defined, > > > but so > > far > > > there is no definition/guidelines towards the release period. > > > I would like to open this discussion so we can update the > > > CloudStack > wiki > > > page [https://cwiki.apache.org/confluence/display/CLOUDSTACK/LTS] > > > and > > have > > > a clear definition of when the community should expect each release. > > > > > > #### 3 Enhance roadmap and Release cycle for users > > > > > > This topic is an extension of Topic 2. Once we have “Topic 2” well > > defined > > > we will be able to present a draft of future releases. > > > > > > The main idea of this email is to look for project stability and > > > predictability with a release cycle/roadmap similar to what is > > > done by Ubuntu [https://ubuntu.com/about/release-cycle]. > > > We would then be able to give users and developers a roadmap to > > > look > > after. > > > I would also suggest such a release cycle to be presented on the > website, > > > in addition to the “cwiki” page [ > > > https://cwiki.apache.org/confluence/display/CLOUDSTACK/LTS]. > > > > > > Please let me know what you think. > > > > > > Best regards, > > > Gabriel. > > > > > > > > > > > > > > >