On Thu, Jan 24, 2013 at 10:37 AM, Vincent Massol <[email protected]> wrote:
> Hi Sergiu, > > Indeed it's a good thing to review our voting practices and more generally > see if we're using them the right way. > > Sometimes we use VOTEs when we should use PROPOSAL or DISCUSSION instead > and possibly the other way around. > > I've looked at our latest VOTEs and PROPOSALs. Here they are: > > 1 [VOTE] Have less [VOTE]s - Sergiu, 23 jan > 2 [VOTE] Separate the power of Veto from -1 votes - Sergiu, 23 jan > 3 [VOTE] Reduce garbage in the log generated when a migration fails - > Denis, 22 jan > 4 [VOTE] Add CLIRR exclude for 1 new method in DataMigrationManager > interface for 4.4.1 and 4.5M1 - Denis, 22 jan > 5 [VOTE] Start using proper version in branches - Vincent, 21 jan > 6 [VOTE] Restrict the location of skin resources inside Jars for security > - Sergiu, 12 jan > 7 [VOTE] ASM 3.x vs 4.x choice - 7 jan, Vincent, 7 jan > 8 [VOTE] Merge new Markdown branch from Guillaume Laforge, Vincent, 2 jan > 9 [VOTE] New dates for 4.4 releases, Vincent, 21 dec > 10 [VOTE] Skip tests while building a release, Edy, 19 dec > 11 [VOTE] Start using Mockito instead of JMock, Vincent, 8 dec > 12 [VOTE] Make UTF-8 mandatory for a valid installation, Sergiu, 7 dec > 13 [Vote] Retire Toucan Skin, Caty, 6 dec > 14 [VOTE] Stop shading Rendering Standalone, Vincent, 4 dec > 15 [VOTE] Move all lucene plugin classes to internal, Jerome, 28 nov > 16 [VOTE] Commit a Release application into platform, 21 nov > 17 [VOTE] Retire old query plugin, Thomas, 16 nov > > Let's see which of these should we have not sent as VOTEs > > VOTEs that I consider absolutely legit: 1, 2, 8, 9, 11, 12, 13, 14, 15, > 16, 17 > VOTEs that are ok but could be sent as PROPOSAL or DISCUSSION instead: 3, > 5, 6, 7, 10 > > Now that leaves VOTE number 4. In our practices we have only a few rules > regarding the need to VOTE: > * Adding a new committer > * Removing a committer > * Breaking an API without making it legacy > > I really think we need to be careful when adding or removing APIs because > they impact us all as they are extremely hard to change since we're a dev > platform. > > The reason we VOTEd the need to VOTE is because we didn't want to have > some API changes (especially API breaking) slipping by by mistake. > > I'm personally fine to change the VOTE in favor of a Proposal or even > better a Notice. > > More generally speaking I think we could structure our email threads like > this: > * [VOTE]: important, others are forced to answer so to be used when needed > only and not for asking questions when you're not sure about something > * [PROPOSAL] or [DISCUSSION] or [BRAINSTORMING]: something quite important > that you wish to discuss with others because there might be different > possibilities and you wish to have opinion of others if they're free to > help out > * [NOTICE]: just telling others about something you're doing just so that > they know about it. You're not expecting an answer. > > +1 for voting only on the really important matters and to refine more our mails threads in concordance with above classification. Maybe we abused a bit the voting system, but being remote we need a way to properly communicate and ask for feedback/validation/ideas on what we are doing. Thanks, Caty > FTR here are the last proposals we sent: > > * [Discussion] Should technical pages hide the bottom tabs?, Sergiu, 20 jan > * [Proposal] Add CLA for contributions + Foundation, Vincent, 17 jan > * [Proposal] Release XWiki 4.4.1 Monday 21, Vincent, 17 jan > * [PROPOSAL] How to translate logs, Thomas, 16 jan > * [proposal] 2 new xwiki-contrib projects., Caleb, 8 jan > * [Proposal] XWiki 5.x cycle theme, Vincent, 3 jan > * [Proposal] Use the XWiki.org JIRA project more, Vincent, 31 dec > * FOSDEM talk proposal: "Coping with the proliferation of tools within > your community", Sergiu, 21 dec > * [Proposal] Create a JIRA project for the XWiki project's infrastructure, > Vincent, 19 dec > * [Proposal] Jenkins emails configuration, Vincent, 19 dec > * References Section update proposal, Benjamin, 18 dec > * [Proposal] Stopping the 4.4M1 release till tests are all passing - > Commando mode, Vincent, 13 dec > * [Proposal] XWiki 4.5 Roadmap dates and 4.x end of cycle, Vincent, 7 dec > * [Proposal] Remove old info boxes/warnings for XWiki 1.x and 2.x, > Vincent, 4 dec > * [PROPOSAL] Include require.js in XWiki by default and make jQuery > available through require.js., Caleb, 30 nov > * [UX][Proposal] XWiki Mobile App, Caty, 28 nov > * [Proposal] Roadmap for 4.4, Vincent, 26 nov > * [DISCUSSION] Handling document translations in Solr Search, Edy, 19 nov > > Now what I think is working very well in our community, much better than > in most Apache project (I've also been an Apache Member for over 10 years > and been following lots of mailing lists there) is that we're having good > discussions between us on the list, which allows us to share code and be > responsible for the overall codebase. I wouldn't want to loose that. > > So to sum up I'm perfectly fine to reduce number of VOTEs based on the > extract shown above but I wouldn't agree if the outcome is to reduce the > discussion between ourselves. Specifically all VOTEs 3, 4, 5, 6, 7, 10 > should be sent as PROPOSAL, DISCUSSION, BRAINSTORMING or NOTICE. That's a > 35% decrease :) > > So +1 to that. > > Thanks > -Vincent > > On Jan 23, 2013, at 7:04 PM, Sergiu Dumitriu <[email protected]> wrote: > > > Short story: > > > > We should have less VOTEs, since too many votes is tiresome and > > counter-productive. A vote should be fired only for critical stuff, or > > when a compromise solution between suboptimal alternatives is needed. > > > > > > Long story: > > > > According to the rules [1], a VOTE comes with strong requirements on the > > committers: every committer must respond to votes, and vote only after > > carefully analyzing and understanding what's being voted. > > > > In theory, this has several benefits: > > - it ensures the openness, democracy and meritocracy of the community > > - it ensures that all the affected parties can make their voice heard > > when changes might affect them > > - it lets the community know about big changes in the code, even if not > > everybody votes > > - it tries to maximize the quality of the code, since every design is > > first validated by all the sharp minds participating in the project > > - it tries to maximize the global shared ownership of the code, since > > every developer gets involved in everyone else's code > > > > And all these are good goals, but when too much votes occur, downsides > > emerge: > > - decision fatigue [2], which means that votes get less attention, and > > +1-ing is just an automated process -- +1 after reading just the > > subject, or +1 if someone trusted already voted > > - decision paralysis [3] will actually cause committers to stop voting > > altogether on non-essential issues > > - developer frustration, when every change has to be discussed at length > > -- in theory, the vote process rules explicitly say that only major > > changes must be voted, and even for major changes, only when the > > committer isn't sure that everybody else will agree with the vote; > > however, recently there has been an increase in the situations in which > > things must be voted, and in most weeks several votes are started > > --- [4] says that 103 votes were started last year, almost two every week > > - reduced efficiency, less time for actual coding, since a lot of time > > is spent on trying to understand what's being proposed in the votes > > - it transforms the democracy into a bureaucracy > > - it reduces the self-confidence of developers; in theory, a contributor > > becomes a committer when the other committers consider him/her to have > > the required knowledge, skills and overall understanding of the XWiki > > code and guiding principles to be allowed to freely commit their own > > changes. In practice, most changes still have to be discussed, voted, > > validated before the actual commit can happen. > > - while the vote right mean that all committers can say their opinion, > > it also means that the vote is a two-way obligation, the obligation to > > have their opinion validated by everybody else, and the obligation to > > get involved and validate everybody else's code > > > > > > I've been monitoring a few other communities, especially Apache > > projects, the ones that we're supposedly modeled after, and I haven't > > seen this huge amount of votes in any of them. Votes are actually > > exceptional events, when something important happens: > > - new committers > > - releases > > - major infrastructure changes, like switching from Ant to Maven, or > > from SVN to Git > > > > For example, the Velocity project had 15 votes in the past three years > > [5]. Maven had 125 votes last year, but almost all of them are release > > votes, one for every plugin, and they have a lot of plugins [6]. > > > > > > So I'm proposing to stick closer to the original voting rules, which > > means that votes are sent only for major changes (in code, > > infrastructure or community), and rely more on the lazy consensus > > advertised in the vote rules [1]. Some of the purposes that the current > > vote requirements try to address can be accomplished by other means: > > > > - API changes can be just announced > > - code changes should rely on lazy consensus, and committers should > > spend more time doing commit reviews > > - we can use feature branches and pull request more often, since a pull > > request is a request for comments > > - we can go back to trusting the skills and common sense of our > committers > > > > > > [1] http://dev.xwiki.org/xwiki/bin/Community/Committership#HVoting > > [2] http://en.wikipedia.org/wiki/Decision_fatigue > > [3] http://en.wikipedia.org/wiki/Decision_fatigue#Decision_paralysis > > [4] > > > http://xwiki.markmail.org/search/?q=subject%3Avote+date%3A201201-201212+-subject%3Are > > [5] > > > http://velocity.markmail.org/search/?q=subject%3Avote+date%3A201001-201212+-subject%3Are > > [6] > > > http://maven.markmail.org/search/subject:vote+date:201201-201212+-subject:re+-subject:result+-subject:cancelled+list:org.apache.maven.dev > > -- > > Sergiu Dumitriu > > http://purl.org/net/sergiu > _______________________________________________ > devs mailing list > [email protected] > http://lists.xwiki.org/mailman/listinfo/devs > _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs

