GitHub user GutoVeronezi added a comment to the discussion: Define a release
schedule for the project
Github Discussions is integrated with the users' mailing list; everything that
is posted here is also sent by email and vice-versa. This discussion is way
wider than the development scope (as @rohityadavcloud stated), it affects users
as well; thus, GitHub Discussions seems the right place to have it.
I see we agree on several topics, but not so much on others. What draws my
attention in the whole discussion is that people say that we have a
well-defined process: two major and two minor releases a year; however, with a
remark that we never make that. In fact, looking at our history, we never
accomplished that (regarding the major releases). Following there is the tag
creation date of major releases since 4.10 (the tag creation divergences in an
average of a week from the release itself):
<details><summary>tags creation date</summary>
```
for i in {10..19}; do echo $i && git show 4.$i.0.0 | head -n 3 | grep Date; done
10
Date: Thu Jul 6 15:52:45 2017 +0530
11
Date: Fri Jan 26 13:13:44 2018 +0100
12
Date: Thu Mar 14 10:11:46 2019 -0300
13
Date: Fri Sep 20 14:03:47 2019 +0530
14
Date: Mon May 11 15:03:30 2020 +0100
15
Date: Mon Jan 11 13:48:17 2021 +0530
16
Date: Thu Nov 4 14:14:57 2021 -0300
17
Date: Tue May 31 14:33:47 2022 -0300
18
Date: Sat Mar 11 09:36:25 2023 +0100
19
Date: Mon Jan 29 10:21:52 2024 +0530
```
</details>
- 4.10.0 was released around July, 2017;
- 4.11.0 was released around January, 2018 (around 7 months after the previous);
- 4.12.0 was released around March, 2019 (around 14 months after the previous);
- 4.13.0 was released around September, 2019 (around 6 months after the
previous);
- 4.14.0 was released around May, 2020 (around 8 months after the previous);
- 4.15.0 was released around January, 2021 (around 8 months after the previous);
- 4.16.0 was released around November, 2021 (around 10 months after the
previous);
- 4.17.0 was released around May, 2022 (around 6 months after the previous);
- 4.18.0 was released around March, 2023 (around 10 months after the previous);
- 4.19.0 was released around January, 2024 (around 10 months after the
previous);
Looking at the data, it is clear that our current process is not adequate.
Sometimes we barely release a major in a year and there is a case that we took
more than a year to release a major. In my opinion, that occurs because the
process we have is not well-defined and it seems we are not "caring" too much
about it. What we are missing is planning and predictability; we do not know
when the next release will be (after 4.20); we do not have a common goal. We
delay months to deliver a release in order to fit a feature in a release. Thus,
again, we lack planning. Regarding @rohityadavcloud question "who would enforce
them, who would drive them?", well, it is the PMC's responsibility.
Furthermore, we must comply with the Cyber Resilience Act (CRA).
About the disruptive changes, we can look at how other projects are doing it
and adapt to our context. For instance, in one version, the GitLab community
introduces features that are disabled by default and lets the users enable it;
then, in another version (after validations and defining that the feature is
stable), they enable it and remove the configuration. We can use a similar
approach, like introducing new features/behaviors in a version and marking the
previous behavior as deprecated, and then, in another version, we remove the
previous behavior, as @DaanHoogland commented. The problem is: we do not have
it clearly defined.
I believe we can benefit more from this discussion by separating it into small
topics, for instance:
1. looking at our history, what would be the ideal cadence of major releases
for our context and why?
2. how and when should we define the RM for each major?
3. how should we introduce disruptive changes and remove compatibility?
4. what are the community's common goals?
5. regarding minor releases, should we flexibilize it more or be more rigid?
GitHub link:
https://github.com/apache/cloudstack/discussions/8970#discussioncomment-9754199
----
This is an automatically sent email for [email protected].
To unsubscribe, please send an email to: [email protected]