Hi Spark Developers,

There has been a rather active discussion regarding the specific vetoes
that occured during Spark 3. From that I believe we are now mostly in
agreement that it would be best to clarify our rules around code vetoes &
merging in general. Personally I believe this change is important to help
improve the appearance of a level playing field in the project.

Once discussion settles I'll run this by a copy editor, my grammar isn't
amazing, and bring forward for a vote.

The current Spark committer guide is at
https://spark.apache.org/committers.html. I am proposing we add a section
on when it is OK to merge PRs directly above the section on how to merge
PRs. The text I am proposing to amend our committer guidelines with is:

PRs shall not be merged during active on topic discussion except for issues
like critical security fixes of a public vulnerability. Under extenuating
circumstances PRs may be merged during active off topic discussion and the
discussion directed to a more appropriate venue. Time should be given prior
to merging for those involved with the conversation to explain if they
believe they are on topic.

Lazy consensus requires giving time for discussion to settle, while
understanding that people may not be working on Spark as their full time
job and may take holidays. It is believed that by doing this we can limit
how often people feel the need to exercise their veto.

For the purposes of a -1 on code changes, a qualified voter includes all
PMC members and committers in the project. For a -1 to be a valid veto it
must include a technical reason. The reason can include things like the
change may introduce a maintenance burden or is not the direction of Spark.

If there is a -1 from a non-committer, multiple committers or the PMC
should be consulted before moving forward.


If the original person who cast the veto can not be reached in a reasonable
time frame given likely holidays, it is up to the PMC to decide the next
steps within the guidelines of the ASF. This must be decided by a consensus
vote under the ASF voting rules.

These policies serve to reiterate the core principle that code must not be
merged with a pending veto or before a consensus has been reached (lazy or
otherwise).

It is the PMC’s hope that vetoes continue to be infrequent, and when they
occur all parties take the time to build consensus prior to additional
feature work.


Being a committer means exercising your judgement, while working in a
community with diverse views. There is nothing wrong in getting a second
(or 3rd or 4th) opinion when you are uncertain. Thank you for your
dedication to the Spark project, it is appreciated by the developers and
users of Spark.


It is hoped that these guidelines do not slow down development, rather by
removing some of the uncertainty that makes it easier for us to reach
consensus. If you have ideas on how to improve these guidelines, or other
parts of how the Spark project operates you should reach out on the dev@
list to start the discussion.



Kind Regards,

Holden

-- 
Twitter: https://twitter.com/holdenkarau
Books (Learning Spark, High Performance Spark, etc.):
https://amzn.to/2MaRAG9  <https://amzn.to/2MaRAG9>
YouTube Live Streams: https://www.youtube.com/user/holdenkarau

Reply via email to