I agree that we should have a major release cadence. I also agree that this is 
about the predicability of releases but we cannot lose sight of the stability 
of those releases.

The primary risk of a X month release cadence is how often we make backwards 
incompatible changes, whether it’s API or behaviour. Being a Java toolkit, 
jclouds is heavily used in the enterprise and those companies often value 
stability over many of the other -ilities.

I don’t want to see jclouds become that toolkit that companies drop because we 
break their code base twice a year. I’m *not* saying this is the intention of a 
major release cadence, but we need to recognize that it’s a possible 
consequence.

How can we mitigate this risk?

1. A clearly communicated deprecation policy. 

Something along the lines of, in order for something to be removed it has to 
have been deprecated in a x.1 minor release to be removed in the next X.0 major 
release. e.g. Changing method signatures in FooApi would mean deprecating the 
old methods in 3.1 and finally removing those methods in 4.0.

2. A clearly communicated Beta policy.

This would be for completely new APIs tagged with the @Beta annotation. These 
could undergo change more frequently than what’s outlined in the deprecation 
policy.

3. A better roadmap and better release notes

Ignasi touched on the roadmap issue and we’ll need to communicate better in 
release notes too (I’ve personally tried to do this with regarding the changes 
to Swift).

4. Embracing patch releases.

As Gaul mentioned, most users consume only release versions. I think they would 
be more willing to accept major release changes more often, if they knew that 
they could get patch versions more quickly too. I think we would want to 
restrict patch versions to Blocker, Critical, or security issues.

A big barrier to creating patch releases (or any release for that matter) is 
how manual our release and verification process is. 
We’re in the process of fixing that. But perhaps for patch releases we can have 
it be something less than the 72 business hour limit vote. This might be 
constrained by ASF processes. I’m not sure about that yet.

---

The above are not a roadblock for establishing a major release cadence. I would 
like to see us agree on a path forward for the points and work together on 
those independently of establishing a major release cadence.


I’m on the fence about what the actual cadence should be. 6 months seems a bit 
short and a year seems too long. Is 9 months an option?

Just to compare some example release schedules visually.

9 month major release cadence
3.0
3.1 - 6 weeks
3.2 - 6 weeks
3.3 - 6 weeks
3.4 - 6 weeks
3.5 - 6 weeks
4.0

6 month major release cadence
3.0
3.1 - 6 weeks
3.2 - 6 weeks
3.3 - 6 weeks
4.0


What are some thoughts or questions on all of the above?

Thanks,
Everett



On Jun 20, 2014, at 1:40 AM, Ignasi Barrera <n...@apache.org> wrote:

> I agree with both and also vote for a 6 month cadence for majors.
> 
> What I would like for majors is to put some effort in defining a realistic
> roadmap (not just a wish list) and work together to complete it. We have
> some roadmap definitions in the wiki fruit of the meetups, etc, but I think
> we need to have a real plan, for it and work together in its tasks (and use
> better the "fixVersion" field in JIRA).
> 
> This is not about the cadence but about the predictability of the releases.
> Users should know in advance (when possible) what's going to be in the next
> major. Anyway, I think a 6 month cadence is an appropriate one that could
> meet most user needs.
> El 20/06/2014 00:20, "Andrew Phillips" <aphill...@qrmedia.com> escribió:
> 
>> I propose four potential major release cadences: 6 weeks, i.e., no minor
>>> releases, 3 months, 6 months, and 1 year.  From my experience 3 or 6
>>> months seems about right,
>>> 
>> 
>> Given the time it's taken us to pick up some of the larger candidate
>> changes for 2.0 (de-asyncing), I'd say 6 months seems more realistic for
>> now.
>> 
>> I'd love to propose 3 months, but that's basically once every 2 minor
>> releases, which seems a pretty tall order at present.
>> 
>> ap
>> 

Reply via email to