I'm -1 on these bylaws. This commit process encourages merging as fast as possible and does not give adequate time for dissenting opinions to veto a patch. I'm concerned about two things:
1. Regressions - Having too lax of a merge process will lead to unforeseen regressions. We all saw this first hand with ZeroMQ: I had to freeze the version of ZeroMQ used by Storm because subsequent versions would regress in numerous ways. 2. Bloat – All software projects have a tendency to become bloated and build complexity because things were added piecemeal without a coherent vision. These are very serious issues, and I've seen too many projects become messes because of them. The only way to control these problems are with -1's. Trust isn't even the issue here – one committer may very well think a new feature "looks fine" and "why not let it in", while another will recognize that the feature is unnecessary, adds complexity, and/or can be addressed via better means. As is, the proposed bylaws are attempting to make vetoing very difficult. I have a proposal which I believe gets the best of all worlds: allowing for fast responsiveness on contributions while allowing for regressions and bloat to be controlled. It is just a slight modification of the current bylaws: "A minimum of one +1 from a Committer other than the one who authored the patch, and no -1s. The code can be committed after the first +1. If a -1 is received to the patch within 7 days after the patch was posted, it may be reverted immediately if it was already merged." To be clear, if a patch was posted on the 7th and merged on the 10th, it may be -1'd and reverted until the 14th. With this process patches can be merged just as fast as before, but it also allows for committers with a more holistic or deeper understanding of a part of Storm to prevent unnecessary complexity. On Tue, Feb 10, 2015 at 7:48 AM, Bobby Evans <[email protected]> wrote: > I am fine with this. I mostly want a starting point, and we can adjust > things from there is need be. > - Bobby > > > On Sunday, February 8, 2015 8:39 PM, Harsha <[email protected]> wrote: > > > > Thanks for putting this together. Proposed bylaws looks good to > me. -Harsha > > > On Thu, Feb 5, 2015, at 02:10 PM, P. Taylor Goetz wrote: > > Associated pull request can be found here: > > https://github.com/apache/storm/pull/419 > > > > > > This is another attempt at gaining consensus regarding adopting > > official bylaws for the Apache Storm project. The changes are minor > > and should be apparent in the pull request diff. > > > > In earlier discussions, there were concerns raised about certain > > actions requiring approval types that were too strict. In retrospect, > > and after reviewing the bylaws of other project (Apache Drill [1], > > Apache Hadoop [2]) as well as the official Glossary of Apache-Related > > Terms [3], it seems that some of those concerns were somewhat > > unfounded, and stemmed from the fact that different projects use > > different and inconsistent names for various approval types. > > > > In an effort to remedy the situation, I have modified the “Approvals” > > table to use the same names as the Glossary of Apache-Related Terms > > [3]. The table below provides a mapping between the terms used in this > > proposed update to the Apache Storm bylaws, the Apache Glossary, the > > Apache Drill bylaws, and the Apache Hadoop bylaws. > > > > > > | Proposed Storm Bylaws | Apache Glossary | Apache Drill | Apache > > | Hadoop | Definition | > > | > -----------------------|--------------------|----------------|--------------------|-------------------------------------------------------------| > > | Consensus Approval | Consensus Approval | Lazy Consensus | Consensus > > | Approval | 3 binding +1 votes and no binding -1 votes | Majority > > | Approval | Majority Approval | Lazy Majority | Lazy Majority | At > > | least 3 binding +1 votes and more +1 votes than -1 votes | Lazy > > | Consensus | Lazy Consensus | Lazy Approval | Lazy Consensus | No -1 > > | votes (‘silence gives assent’) | > > | 2/3 Majority | N/A | 2/3 Majority* | Lazy 2/3 Majority | At least 3 > > | +1 votes and twice as many +1 votes as -1 votes | > > > > * The Apache Drill bylaws to not define “2/3 Majority” in the > > Approvals table, but it is used in the Actions table. > > > > Please keep these differences in terminology when comparing the > > proposed bylaws with those of other projects. > > > > I would like to use this DISCUSS thread as a forum for reaching > > consensus to approve the proposed bylaws and to discuss any changes > > needed to reach that point. If successful, the VOTE to officially > > adopt the bylaws should be a technicality and pass without dissent. > > > > -Taylor > > > > > > [1]https://cwiki.apache.org/confluence/display/DRILL/Project+Bylaws > > [2]http://hadoop.apache.org/bylaws.html > > [3]http://www.apache.org/foundation/glossary.html Email had 1 > > attachment: > > > > * signature.asc 1k (application/pgp-signature) > > > > -- Twitter: @nathanmarz http://nathanmarz.com
