What are some thoughts or questions on all of the above?
* deprecation policy
Requiring an @deprecated on a minor with removal on (at the earliest)
the subsequent major sounds good to me. I think that's what we've been
largely trying to do, but stating and communicating this clearly would
certainly help. As for many other things ;-)
@Beta methods or classes would be excluded from this, I assume.
* beta policy
Would it make sense to consider this not just for entire APIs, but for
individual calls, too? It would mean something like "may change in a
backwards-incompatible way even in minor releases", i.e. not subject
to the deprecation policy.
I can also imagine that we'd want something like @Beta(since =
"version"), and some kind of (informal?) policy that methods/APIs
shouldn't stay in beta forever.
* roadmap
Hard to argue against this one ;-) We've made a couple of attempts to
start this, without getting very far, unfortunately. I think we could
put together a straw man to have something to build on, and try to
identify some kind of "theme(s)" for major releases, to help with focus.
How many theme(s) we can handle will be something we'll hopefully
figure out as we gain some exprience.
* release notes
Again, hard to argue against ;-) Could you give some examples of
concrete things you think we can improve here, Everett? Perhaps we
could have a "release notes checklist" and include that in the release
guide, too?
* patch releases
Agree that we need a more automated release process for this. I don't
recall seeing anything in the ASF docs that allows for "accelerated
releases", but would be interested to hear what people with more
experience have to say.
Curious to know how big we feel this problem is, by the way, relative
to the other issues discussed here?
* release cadence
Looking at the past major releases, 3-4 minors per major seems to be
the average, so either 6 or 9 months should work. Do we want to try to
be "firm" about this, especially if we think the amount of work/number
of themes in a major release may vary?
I would say the predictability here might be more important than being
strictly regular: users should have a good early indication of roughly
when the next major can be expected.
Perhaps we could agree to make this the first "agenda item" for the
community after a major: decide on the expected release date for the
next one?
Regards
ap