[Oops, I hit reply not reply-all and missed the list. Here it is again for
the list. Also, with pedantic hat on, second stage voting email is
[email protected] (not incubator@general).]

It sounds like you have understood. I'll just add some comments.

The two stages are mentioned in the incubator cookbook[1], so you can
always refer to that.

In terms of wording, I wouldn't use "majority or 3". If your PMC ever
shrunk down to three in size, a majority would be 2 but you'd need all 3
members to vote +1 to make it official. The official wording[2] is: at
least three binding +1 votes and more +1 votes than -1 votes. [P.S. don't
ever let your PMC get down to 3 :-)]

It is true that all votes have equal weight but you would be wise to listen
to your mentors. If you get 4 +1s from non-mentors but a mentor votes -1
and says you have a major problem, the vote has technically passed but you
would be unwise to not listen to the feedback. Firstly, it probably won't
get past the second round and secondly it is an indication that you haven't
as a project grasped the Apache Way of producing high quality artifacts
that people can trust and that's probably a red flag as you head towards
graduation.

In terms of recommended practice, it might also be useful to reference the
official release policy. The relevant sections are "summary of release
approval process"[3], "what every release must contain"[4] and the "release
licensing FAQ"[5]. There is also a useful page on checking hashes and
signatures[6].

Cheers, Paul.


[1] http://incubator.apache.org/cookbook/#podling_releases
[2] http://www.apache.org/foundation/glossary.html#MajorityApproval
[3] http://www.apache.org/legal/release-policy.html#release-approval
[4]
http://www.apache.org/legal/release-policy.html#what-must-every-release-contain
[5] http://www.apache.org/legal/release-policy.html#license
[6] https://www.apache.org/info/verification.html


On Fri, Jul 26, 2019 at 5:25 AM leerho <[email protected]> wrote:

> Paul,
> Thanks for the clarification.  I would like to re-write the steps to make
> the process absolutely clear:
>
> The Voting Process:
>
> Stage 1: On dev@:
>
> The VOTE letter is issued and voting stays open for 72+ hours.
>
> The PPMC members including Mentors vote.  All votes have equal weight.
>
> When a majority or 3 (+1) votes are collected and 72 hours have elapsed,
> the process moves to the next stage.
>
>
> Stage 2: On incubator@general
>
> The VOTE letter is issued and voting stays open for 72+ hours.
> When a majority or 3 (+1) *binding* votes (any IPMC members including our
> Mentors) are collected and 72 hours have elapsed,
>
> *then* we can deploy a Release.
>
>
> Recommended Practice for Voters:
>
>    - It is good practice to describe what was checked when voting - then
>    other voters can exercise some judgement about what extra things they
>    might
>    check over and above what might be called the minimal required steps
>    (e.g.
>    naming, license, notice files, no binary files normally considered
>    mandatory - building from source, running test suite, building project
>    website if applicable might be considered extra steps).
>
>
>
> On Wed, Jul 24, 2019 at 7:09 PM Paul King <[email protected]> wrote:
>
>> On Thu, Jul 25, 2019 at 10:17 AM leerho <[email protected]> wrote:
>>
>> > Kenn,
>> > Thank you for your thoughtful comments!
>> >
>> > 1. The versioning / branching / tagging / SNAPSHOT / RC / Release
>> process.
>> >
>> > We actually had a long discussion on this and discussed several
>> > variations.  We were hoping to keep it simple and not have a separate
>> > branch for each release, but you bring up a good point about always
>> having
>> > master with SNAPSHOT, so it can never be accidentally forked and
>> confused
>> > with a real release.  We will move to this for the next go around.
>> >
>> > 2. Putting Jars in Maven Central prior to the Vote.
>> >
>> > Since we are talking about RCs, it wasn't clear to me that ASF would
>> > approve of a podling putting RCs into staging before the vote.  If it is
>> > OK, we will definitely do that the next go around.
>> >
>>
>> You would normally publish to a temporary ASF repo during voting, here is
>> what Commons CSV used recently:
>>
>> https://repository.apache.org/content/repositories/orgapachecommons-1440/
>>
>> If you go there now you will see it has been deleted once voting
>> succeeded.
>> They also use Maven, so perhaps looking at their setup/release
>> instructions
>> might give you pointers. In Apache Groovy we use Gradle and do a similar
>> thing but have a slightly different setup to normal.
>>
>>  ## A question for you:  Is it possible to deploy RCs (or Releases)
>> directly
>>
>> > to Maven Central using the command line or SVN (or SFTP) ?  (i.e.,
>> without
>> > using Maven).
>> >
>> > 3. Adding  slf4j backend.   Good suggestion.  We will fix that on the
>> next
>> > go around.
>> >
>> > 4. Are our Javadocs versioned?  Effectively yes (but the user has to do
>> a
>> > wee bit of work :)  )
>> >
>> >    - From the dist Zip file: after the user unzips the package they can
>> >    generate their own Javadocs easily.
>> >    - When we release to Maven Central we deploy a javadoc.jar along with
>> >    the other release jars.
>> >
>> >    However, so far we have wanted the Javadocs visible from the website
>> to
>> > be the latest and greatest, thus are snapshots.  We could easily change
>> > this to showing only the latest release Javadocs, but have not made this
>> > explicit decision.
>> >
>> > 5. The voting rules:
>> >
>> > You might say only IPMC members' votes are binding. This is true only
>> for
>> > the vote on general@incubator. For the podling, the PPMC votes should
>> be
>> > considered binding as to whether or not the artifact should go on to the
>> > IPMC vote.
>> >
>> >
>> > "whether or not the artifact should go on to the IPMC vote"  is still
>> fuzzy
>> > because Mentors are IPMC members.
>> >
>> > Are you saying the following?
>> >
>> > a) On dev@:
>> >
>> > The VOTE letter is issued and voting stays open for 72+ hours.
>> >
>> > The PPMC members (not mentors who are IPMC members) vote.
>> >
>> > When a majority or 3 (+1) votes are collected the baton is handed to the
>> > Mentors to vote.
>> > When a majority or 3 (+1) votes are collected from the Mentors the
>> baton is
>> > handed to incubator@general
>> >
>>
>> It's a two stage process. In the first stage, PPMC members are required to
>> vote and you can think of your mentors wearing their PPMC hats in this
>> stage when they vote. You need 3 votes from any PPMC members. It's just
>> good if some of the votes are from your mentors.
>>
>> In the second stage, IPMC members vote and your mentors would have their
>> IPMC hats on for this bit. If you had three mentor votes in the first
>> round
>> you can think of them carrying over into the second round - although
>> formally they would normally vote again explicitly on the second vote
>> email
>> to general@incubator. Also, if your mentors have voted in the first
>> round,
>> you *might* find that other IPMC members feel less need to be as thorough
>> when they vote. "Might" because we encourage thorough checks if folks have
>> the time! :-)
>>
>> It's also good practice to describe what was checked when voting - then
>> other voters can exercise some judgement about what extra things they
>> might
>> check over and above what might be called the minimal required steps (e.g.
>> naming, license, notice files, no binary files normally considered
>> mandatory - building from source, running test suite, building project
>> website if applicable might be considered extra steps).
>>
>> Cheers, Paul.
>>
>> b) On incubator@general
>> >
>> > The VOTE letter is issued and voting stays open for 72+ hours.
>> > When a majority or 3 (+1) binding votes (other IPMC members) are
>> collected,
>> > *then* we can deploy a Release.
>> >
>> >
>> > BTW, I have not seen this level of process detail described anywhere.
>> I am
>> > not objecting, it is just that more clarity would have been helpful :)
>> >
>> > Lee.
>> >
>> > On Wed, Jul 24, 2019 at 3:20 PM Kenneth Knowles <[email protected]>
>> wrote:
>> >
>> > > On Tue, Jul 23, 2019 at 3:37 PM leerho <[email protected]> wrote:
>> > >
>> > > >
>> > > > NOTE 2: All of the code has been properly refactored with
>> > > > "org.apache.datasketches...".
>> > > > All source files have the proper Apache license and have been
>> checked
>> > > with
>> > > > the Maven Rat Plugin.
>> > > > The code passes all tests with a coverage of > 98%.
>> > > >
>> > >
>> > > This is really great to have done. Nice!
>> > >
>> > >
>> > > > Git Tag for this release:
>> > > >
>> > > >
>> > >
>> >
>> https://github.com/apache/incubator-datasketches-memory/tree/1.0.0-incubating-RC2
>> > > >
>> > >
>> > > I notice that throughout the git history every commit has version
>> > > 1.0.0-incubating. You may have considered this already, but maven
>> > supports
>> > > 1.0.0-incubating-SNAPSHOT which will avoid inappropriate caching. At
>> > > publish time it will be replaced with a timestamp, if I recall the
>> exact
>> > > system. So it often makes sense for every mainline commit on the
>> master
>> > > branch to have this version in the pom.xml and you just make a single
>> > > tagged commit not on master where the version has been changed.
>> > >
>> > > master --a--b--c--d--e--f-- ...
>> > >                 \     \
>> > >                                     x     y
>> > >
>> > > All of a, b, c, d, e, f can have a SNAPSHOT version while x and y,
>> which
>> > > exist just to build an RC, can have a non-SNAPSHOT version.
>> > >
>> > > 5. Repository: Maven Central (repository.apache.org):
>> > > >
>> > > > Upon acceptance the jar artifacts will be generated from the source
>> > > > repository and deployed
>> > > > to the Apache Maven Central staging repository:
>> > > >
>> > > >
>> > > >
>> > >
>> >
>> https://repository.apache.org/content/groups/staging/org/apache/datasketches/memory/
>> > > >
>> > >
>> > > It might be nice to do the staging prior to the vote. Technically they
>> > are
>> > > "convenience binaries" but it is helpful to test them as well, to
>> uncover
>> > > any problems before approving the release. Avoids voting +1 on source
>> > that
>> > > ends up building a bad binary.
>> > >
>> > >
>> > > >   $ mvn clean test -P strict
>> > > >
>> > > > Note also that when running the test suite, you might get the
>> following
>> > > > message:
>> > > >
>> > > >   SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
>> > > >   SLF4J: Defaulting to no-operation (NOP) logger implementation
>> > > >   SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for
>> > > > further details.
>> > > >
>> > > > This is normal.  It just indicates that in your environment, you do
>> not
>> > > > have a logger in your class-path so the default logger of a no-op is
>> > used
>> > > > instead.
>> > > >
>> > >
>> > > You should be able to add an slf4j backend to the <scope>test</scope>
>> in
>> > > your pom.xml so it does not depend on the user/contributor to do so.
>> > >
>> > > The documentation for the DataSketches Memory component is part of the
>> > > > website.
>> > > >
>> > > > Overview documentation:
>> > > > - https://datasketches.github.io/docs/Memory/MemoryPackage.html
>> > > > - https://datasketches.github.io/docs/Memory/MemoryPerformance.html
>> > > >
>> > > > Javadocs:
>> > > >
>> https://datasketches.github.io/api/memory/snapshot/apidocs/index.html
>> > > >
>> > >
>> > > Is there a versioned revision to the javadocs that could also be
>> > previewed
>> > > as part of the RC?
>> > >
>> > > 8. The vote will be performed in two stages:
>> > > >    - This letter will be published on dev@ open for at least 72
>> hours
>> > or
>> > > > until necessary number of votes are reached.
>> > > >    - This letter will be published on incubator@general for at
>> least
>> > 72
>> > > > hours or until necessary number of votes are reached.
>> > > >
>> > >
>> > > As mentioned on the [VOTE] thread, votes should stay open for 72
>> hours.
>> > >
>> > >
>> > >
>> > > >   Anybody can vote, but only IPMC member's votes count.
>> > > >
>> > >
>> > > You might say only IPMC members' votes are binding. This is true only
>> for
>> > > the vote on general@incubator. For the podling, the PPMC votes
>> should be
>> > > considered binding as to whether or not the artifact should go on to
>> the
>> > > IPMC vote.
>> > >
>> > >
>> > > > The Apache DataSketches Team
>> > > >
>> > >
>> > > I believe you should sign your emails as yourself.
>> > >
>> > > Kenn
>> > >
>> >
>>
>

Reply via email to