In case it's not clear where `comdev@` is (it wasn't at all to me), here's
the thread Julian referenced:
https://lists.apache.org/thread.html/rf12538ef0f60f7257e63391e5d4962a6156564020c99d3dfb193f4d7%40%3Cdev.community.apache.org%3E

Neal

On Mon, May 3, 2021 at 1:25 PM Julian Hyde <jh...@apache.org> wrote:

> If you think that a release every two weeks, following the standard
> voting-on-signed-tarball process, is not too onerous, then we're good.
> If you read my email thread on comdev@ you will see that SkyWalking
> has been following a similar process.
>
> On Mon, May 3, 2021 at 11:41 AM Andrew Lamb <al...@influxdata.com> wrote:
> >
> > There have been some great discussions on the document.
> >
> > I would say the major unresolved questions are
> >
> > 1. What branching strategy would best balance frequent releases,
> > maintainers' time, and contributors' time.
> >
> > 2. (related) How do we handle breaking API changes between major releases
> > that aren't compatible with Rust SemVer expectations? Feature flags?
> > Restricted PR merge windows? Separated maintenance branches?
> >
> > I'll wait a few more days to see how we are doing consensus wise.
> >
> > Thank you to everyone who has contributed already,
> > Andrew
> >
> >
> > On Sun, May 2, 2021 at 8:44 AM Adam Lippai <a...@rigo.sk> wrote:
> >
> > > Hi,
> > >
> > > my two cents: at my previous workplace (Tresorit) we created releases
> every
> > > week and that process was even heavier including cross
> > > platform verification and approval, a 8-12 hours long dedicated manual
> QA
> > > process, discussions with the marketing and support teams.
> > > Open source is certainly different as we had 2-8 full time devs per
> > > platform and 2 dedicated QA engineers to ensure this pace (including
> the
> > > actual development), however when we had struggles it was because:
> > >
> > >    1. People were on vacation and the flow was disrupted
> > >    2. We had big, cross platform changes (timespan over 2 weeks) which
> we
> > >    didn't merge back in time, it hurt us in 50%+ of the cases when we
> > > tried to
> > >    "do it in separate feature branch", which might or might not be a
> lot
> > >
> > > The overhead wasn't big, it was almost only the communication with the
> > > manual QA and creating human readable release notes. It was never about
> > > doing a lot of work, doing only a little, doing bugfix, features or
> > > refactoring. It didn't really matter for the overhead or failure rate.
> > > A few years later Google devops started promoting DORA:
> > >
> > >
> https://cloud.google.com/blog/products/devops-sre/another-way-to-gauge-your-devops-performance-according-to-dora
> > > and their experience is the same, more than one release per month is
> needed
> > > to make it stable with lower failure rate and being able to act within
> a
> > > day if anything goes wrong.
> > > My team was web and javascript focused (but we provided APIs) and we
> > > automated most of the deployment process (well, not the approval and
> manual
> > > QA of course), however I saw this working pretty well for years, if
> > > anything increasing the pace made the process more deterministic.
> > >
> > > Strictness of the language and the compiler might render this approach
> > > impractical (eg. TypeScript and TS based libs struggle more than JS),
> but I
> > > think management and QA-wise this proposal improves the process
> eventually
> > > and we'll get a better product *while not working more.*
> > >
> > > I hope this little anecdotal story reassures some of you that this is
> not
> > > an over-ambitious change and it enables everyone to continue creating
> great
> > > things.
> > >
> > > Best regards,
> > > Adam Lippa
> > >
> > > On Sun, May 2, 2021 at 1:00 PM Andrew Lamb <al...@influxdata.com>
> wrote:
> > >
> > > > Micah and Julian, thank you both for your thoughts.
> > > >
> > > > I largely agree with Micah;  While the Apache  process may be heavy
> > > weight
> > > > in certain aspects, I think we can achieve Rust releases every 2 week
> > > > within that framework.
> > > >
> > > > As I doubt very much we'll get it perfect on the first try, I was
> > > > envisioning that we start with 2 week releases, see how it goes for a
> > > > while, and then adjust as needed.
> > > >
> > > > Andrew
> > > >
> > > >
> > > > On Sat, May 1, 2021 at 11:20 PM Micah Kornfield <
> emkornfi...@gmail.com>
> > > > wrote:
> > > >
> > > > > >
> > > > > > Apache releases are quite heavyweight, so
> > > > > > work best at a frequency of 2 - 3 months, whereas (IIUC) Rust
> > > > > > developers expect a more lightweight release on a weekly cadence.
> > > > >
> > > > >
> > > > > Thanks, I think clarifications on requirements are helpful.  IIUC
> is is
> > > > > actually a 2 week cadence which is still fast but seems doable with
> > > > > dedicated community members (and some investment in tooling).
> > > > >
> > > > > What makes the releases heavy weight?  It seems like the process is
> > > > > slightly more tedious than necessarily onerous.  Generating a
> signed
> > > > > tarball, seems like it should take ~5 minutes or less with the
> proper
> > > > > tooling?  Verification is more heavy weight but again with the
> proper
> > > > > tooling and a good system for testing out more changes, it does not
> > > seem
> > > > > like it should take too much developer time if no issues arise.
> There
> > > > are
> > > > > 3 active contributors to Rust on the PMC, so if they are willing to
> > > sign
> > > > up
> > > > > for doing the work of verification and voting on this cadence, what
> > > would
> > > > > the other requirements around the process be?
> > > > >
> > > > > Best,
> > > > > Micah
> > > > >
> > > > > On Sat, May 1, 2021 at 3:05 PM Julian Hyde <jh...@apache.org>
> wrote:
> > > > >
> > > > > > The main tension is not in the proposal but the requirements.
> It's a
> > > > > > classic impedance mismatch. Apache releases are quite
> heavyweight, so
> > > > > > work best at a frequency of 2 - 3 months, whereas (IIUC) Rust
> > > > > > developers expect a more lightweight release on a weekly
> cadence. I
> > > > > > was trying to find other projects that had had the same problem,
> and
> > > > > > solved it somehow. And also raise awareness within Apache that
> the
> > > > > > release process is problematic for some communities in 2021.
> > > > > >
> > > > > > To correct a couple of misconceptions:
> > > > > > * In Apache, the signed source artifacts (tarball) are literally
> the
> > > > > > release. Not a git hash, not a set of binary artifacts. That is
> what
> > > > > > people need to vote on.
> > > > > > * The release vote does not have to last 72 hours. It can be a
> > > shorter
> > > > > > period, if the community agrees.
> > > > > >
> > > > > > Julian
> > > > > >
> > > > > >
> > > > > > On Sat, May 1, 2021 at 1:31 PM Micah Kornfield <
> > > emkornfi...@gmail.com>
> > > > > > wrote:
> > > > > > >
> > > > > > > Hi Julian,
> > > > > > > I didn't read this proposal as being in tension with apache
> > > releases.
> > > > > It
> > > > > > > sounds like the intention is to hold a vote every two weeks to
> > > > verify a
> > > > > > > release artifacts? But maybe I misread or missed something.
> Were
> > > do
> > > > > you
> > > > > > > think the tension lies?  Is it also producing the signed source
> > > > > artifact?
> > > > > > >
> > > > > > > Since votes last for at least 72 hours this does seem like a
> lot of
> > > > > > > overhead every two weeks, but it seems  that is something for
> Rust
> > > > > > > maintainers to decide and adjust.
> > > > > > >
> > > > > > > -Micah
> > > > > > >
> > > > > > > On Saturday, May 1, 2021, Julian Hyde <jh...@apache.org>
> wrote:
> > > > > > >
> > > > > > > > (Removing user@ from cc. I think this is mainly a dev@
> issue.)
> > > > > > > >
> > > > > > > > I believe there are some tensions between this process and
> the
> > > > Apache
> > > > > > > > process. In particular, Apache releases tend to be a signed
> > > source
> > > > > > > > distribution (tarball) that at least three PMC members
> download
> > > and
> > > > > > > > verify. I totally understand why, as Rust developers, you
> might
> > > > find
> > > > > > > > that an onerous process and might want to operate in a
> different
> > > > way.
> > > > > > > > It makes sense, and I believe we can solve it. Perhaps by
> using a
> > > > > word
> > > > > > > > other than "release" for high-frequency snapshots.
> > > > > > > >
> > > > > > > > It is likely that other projects have already run into this
> > > problem
> > > > > > > > and have solved it. Therefore I have sent an email to comdev
> > > asking
> > > > > > > > for advice [1]. Feel free to join the thread.
> > > > > > > >
> > > > > > > > Julian
> > > > > > > >
> > > > > > > > [1]
> > > > > >
> https://lists.apache.org/thread.html/rf12538ef0f60f7257e63391e5d496
> > > > > > > > 2a6156564020c99d3dfb193f4d7%40%3Cdev.community.apache.org%3E
> > > > > > > >
> > > > > > > > On Sat, May 1, 2021 at 4:01 AM Andrew Lamb <
> al...@influxdata.com
> > > >
> > > > > > wrote:
> > > > > > > > >
> > > > > > > > > I propose regularly releasing, every 2 weeks,  minor and
> patch
> > > > > > releases
> > > > > > > > of
> > > > > > > > > the arrow-rs crate, following the semver versioning scheme
> used
> > > > by
> > > > > > the
> > > > > > > > rest
> > > > > > > > > of the Rust ecosystem. I have written a proposal[1]
> describing
> > > > how
> > > > > > this
> > > > > > > > > might work.
> > > > > > > > >
> > > > > > > > > Feedback and comments most welcome.
> > > > > > > > >
> > > > > > > > > Andrew
> > > > > > > > >
> > > > > > > > > [1]
> > > > > > > > > https://docs.google.com/document/d/1QTGah5dkRG0Z6Gny_
> > > > > > > > QCHmqMg7L2HmcbEpRISsfNEhSA/edit
> > > > > > > >
> > > > > >
> > > > >
> > > >
> > >
>

Reply via email to