My impression from the 1.7 release schedule was that there were many 
release blockers found in RC stage, and RC with known bugs released because 
of three combined reasons:
* The release had a number of big new features, including app loading and 
migrations.
* In alpha and beta stages, the testers tend to be developers working on 
the new release itself. Once RC is released, the release is seen as mostly 
bug free, and many more Django users start using and testing the new 
release in production on new greenfield projects and non-mission critical 
sites where having the latest and greatest features is better than 
stumbling on a few bugs. This production testing helps to discover many new 
bugs, some of them release blockers.
* Due to the high number of release blockers being discovered and fixed, a 
new version identifier was released to simplify reporting new bugs in Trac 
against the version that does or does not have these bugs.

I know that the Django project tries to stay conservative and not recommend 
betas and RCs for production use, since people might get upset if their 
mission critical sites break. But I think the release and testing process 
would benefit from the core developers giving their actual "best guess" 
towards the stability of a beta and RC version, and let users judge the 
acceptable risk of deploying it in production. There are plenty of hobby 
projects, internal sites, and new not-yet-released sites out there where a 
few days of downtime or hacking together workarounds isn't a big problem, 
but for example data loss would be bad. With a description that is less 
conservative than "never use it in production", more people might join in 
on testing and reporting bugs before an RC.

On Friday, 17 October 2014 22:48:18 UTC+3, Tim Graham wrote:
>
> I'd like to kickoff the discussion on the timetable and process for the 
> 1.8 release. I am also volunteering to be the release manager.
>
> First, a retrospective on the 1.7 release with planned release dates and 
> (actual):
>
> Jan. 20: alpha (Jan. 22)
> March 6: beta (March 20)
> May 1: RC (June 26)
> May 15: final (Sept. 2)
>
> One observation I have is that each stage of the release does not really 
> do a good job at accurately reflecting our belief about the quality of the 
> code. For example, we have an "alpha" in order to have a major feature 
> freeze, but we still allow a significant amount of minor features (3 months 
> worth in the last release) such that the alpha and beta are hardly 
> comparable. Likewise, we had little confidence that the "RC" would actually 
> be released without further changes, but rather we needed to do the release 
> in order to get to the stage where we would only backport release blocking 
> bugs. Therefore, I am going to propose returning to a process that is 
> closer to what's documented in the Release cycle docs [1]. The idea is to 
> front-load all feature work to pre-alpha so that we can become more 
> conservative with backports sooner.
>
> Here is my proposed schedule:
>
> Jan. 12: alpha
>   - Feature freeze including minor features (minor features were allowed 
> until beta in the past)
>   - fork stable/1.8.x from master (in the past we forked after beta, but 
> now that we'd no longer accept minor features after alpha, we'd need to 
> fork sooner).
>   - I picked this date since it is after the end of the year when I 
> imagine many people are on holiday and therefore able to contribute more to 
> open source.
>   - Non-release blocking bug fixes may be backported at the committer's 
> discretion after this date.
>
> Feb. 16: beta
>   - Only release blocking bugs are allowed to be backported after this 
> date.
>   - Aggressively advertise it for testing
>
> March 16: release candidate
>   - Hopefully a true release candidate. If there is still a consistent 
> stream of release blockers coming in at this date; we'd release beta 2 to 
> encourage further testing and push the release candidate date out ~1 month.
>
> March 30: final
>   - Release a final as long as the release blocker stream is sufficiently 
> low. If not, give an update about the status and make a plan as to how to 
> proceed from there.
>
> On a related note, I believe we should give some guidance on our thinking 
> regard LTS. Currently our docs say, "Django 1.4, supported until at least 
> March 2015." If we adopt 1.8 as the next LTS, I propose to support 1.4 
> until 6 months after 1.8 is released, which would be at least September 
> 2015. Like 1.4, we'd advertise LTS support for 1.8 for at least 3 years 
> after it's released with a decision on the next LTS to be made as we 
> approach that date.
>
> Feedback on the proposed schedule and handling of the LTS cycle would be 
> appreciated!
>
> If you have any major features you plan to shepherd for this cycle, please 
> ensure they are listed on the roadmap: 
> https://code.djangoproject.com/wiki/Version1.8Roadmap
>
> [1] 
> https://docs.djangoproject.com/en/dev/internals/release-process/#release-cycle
>

-- 
You received this message because you are subscribed to the Google Groups 
"Django developers  (Contributions to Django itself)" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-developers+unsubscr...@googlegroups.com.
To post to this group, send email to django-developers@googlegroups.com.
Visit this group at http://groups.google.com/group/django-developers.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-developers/d9b8600f-3236-476a-a385-35eaa403e4bd%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to