Voting

22 views
Skip to first unread message

Tyler Keating

unread,
Mar 15, 2012, 6:42:19 PM3/15/12
to sproutc...@googlegroups.com
Hi,

We need to have a system of voting so that we can properly close off proposals.  Therefore, I would like to institute a system to both represent the desires of the greater community and still reflect the realities of those that put in the work.  

To step back a bit, there is a difficult balance to maintain.  If you cede development to a small group or company, they can achieve things very quickly, but this leaves other interested parties out in the cold.  On the other side, if you try to do everything by consensus, the change process is painfully slow and you still may not find willing implementers.

To try and get things done at an acceptable pace, I want to encourage as many people as possible to become official Committers, Reviewers and eventual Project Owners and so I'd like it if we could reward those people with additional weighting when voting.  This means that becoming officially involved would be even more of an opportunity to drive SproutCore.

Bearing in mind that the number of voters shrinks as you climb the tree, I think it should go like this:

Anyone: 1 vote = 1 point
Committer: 1 vote = 2 points
Reviewer: 1 vote = 4 points
Project Owner: 1 vote = 6 points

I also think that the vote should just be a plus/minus total after the period of one week, unless someone requests additional time.  Any thoughts?

Does anyone know of a voting tool we could use other than +/- 1 on github issue?

-- 
Tyler Keating

Charles Jolley

unread,
Mar 15, 2012, 7:29:04 PM3/15/12
to sproutc...@googlegroups.com, sproutc...@googlegroups.com
I think a project owner should always have ultimate authority over their project - that is what it means to be an owner. That said, most of the time they should vote just like anyone else. Having this authority does not mean they should always use it...

Sent from my iPad

Jeff Pittman

unread,
Mar 15, 2012, 8:31:16 PM3/15/12
to sproutc...@googlegroups.com
Hi Tyler,

Have you seen such weights used in an OSS project? I am concerned about that aspect for several reasons. For one thing, the persons with the most power already have more clout and tend to be able to sway opinion during discourse, so it is like a double-whammy on the less powerful. For another, the numbers just might not allow a meaningful result (it might be so dependent on the 'any' component). More on that below.

Searching around I found most info about the +1, 0, -1 style, with some projects having a minimum number of +1s to be accepted. It is difficult to search for info because of search engine hits for the general subjects. Surely there are proper treatments of this out there, and like you ask, maybe software.

I asked in #plone about this and spoke with several people. They said that for proposals, usually it is only a group of about 7 people deciding as a proposal committee, and within it they work by consensus. They do +1, +.5, 0, -.5, -1, and NOOP (no opinion) when they interact, then ultimately they suggest modifications if needed. If something is more controversial, it is more likely to be kept in the add-on realm and not core. Stuff makes it into core when there is consensus. This is from an informal quick question, but it suggests to me that having voting open to everyone in the community might be problematical, no matter how the voting system works. (The woman I spoke with said that otherwise it is too hard to get stuff done). I like having discourse open for everyone on github however, and the +1, -1 idiom is well known, whether or not there is a separation between informal expression via that idiom and formal voting by a subset of people. Also, Plone is a large community in contrast, so our "core team" would effectively be the proposal committee, if the process were not totally open.

Jeff

Johannes Fahrenkrug

unread,
Mar 15, 2012, 8:44:51 PM3/15/12
to sproutc...@googlegroups.com
Hi Tyler,

I see that you want to come up with a very fair and yet safe system
and I commend you for that. However, I agree with Charles and Jeff
that this might not be the best way to go. I fear that too much
bureaucracy will only slow an OSS project down.
We won't be dealing with 100s of votes. Communication on the mailing
list and IRC to find a consensus are most likely more effective, imho.

Just my 2 cents :)

- Johannes

--
springenwerk.com | github.com/jfahrenkrug | twitter.com/jfahrenkrug

Wesley Workman

unread,
Mar 15, 2012, 10:20:01 PM3/15/12
to sproutc...@googlegroups.com
Tyler,

I agree with your general concept. I think the vote of those who are putting in the effort (Committers, Reviewers, Project Owners) should carry more weight because they'll be the one's doing work. I do agree with Charles though that the Project Owners should reserve the right to trump votes on rare occasions if they feel really necessary.

Generally your numbers seem alright to me. I know others may object, but that's my 2 cents.

The one thing I do feel strongly about is that the voting method should be completely open and not anonymous. Community members should have to take ownership of their vote and make it known. I express this feeling not to put anyone on the spot, but to 1) make it known how specific users feel and 2) to make it open and clear which votes carry which weight. I.e. indicating what committers voted for X and what project owners voted for Y so we can openly Talley scores.


-- Wesley

Topher Fangio

unread,
Mar 15, 2012, 11:34:19 PM3/15/12
to sproutc...@googlegroups.com
Not that it's hugely important, but since we are all developers, I'm wondering if we could throw a site together real fast that would handle our needs.

I like the idea of each user having a different weight, and I like the concept of being able to propose ideas, vote on them, and have it tracked.

The only thing I think that would add some value would be the ability to track what a person's weight was at the time that they voted. Perhaps that's just inherent in counting the votes, and this could easily be done by just knowing your weight and entering a +weight or -weight into a GitHub issue, but it seems like this could be a fun project.

I have a paying project that should wrap up this weekend, so I'll try to put something together. If it gets done fast enough, and y'all like it enough, we'll use it. Otherwise, we can find an existing solution or just use GitHub :-)

Overall though, I agree with Tyler's proposition as well as the ability for the project owner to (on rare occasions) veto an idea if they really feel strongly about it.

--
Topher Fangio

System Architect
Pharos Resources

office: 325.216.2908
mobile: 325.660.7141

Tyler Keating

unread,
Mar 16, 2012, 11:25:49 AM3/16/12
to sproutc...@googlegroups.com
Hi.  Thanks for your input.  I agree with a lot of the concerns and I realize that this is really a nice-to-have problem for the future and I shouldn't be wasting your time on it.  What I was seeing was that only a few people are replying to these kinds of emails and commenting on issues and I was hoping to empower others to get more involved even without doing anything else, but at least by casting a vote.  A person will only vote if their vote will be counted though, so I would be strongly against vetoing anything if possible.  

Anyhow, I've thought a lot about good governance and I think the proper thing for now is just to continue to encourage people to comment on proposals and pull requests and the Project Owners will have to be trusted to make a final decision when there is such a need.  In that sense, formal votes and weighted votes are not necessary, because as Jeff points out, people in the upper positions already carry some weight just by their position and any formal system would just be wasted bureaucracy.

So keep calm and carry on for now?  And revisit this in the future?  No reply necessary if you agree.

Thanks again,

-- 
Tyler Keating

Umberto Nicoletti

unread,
Mar 19, 2012, 4:44:10 PM3/19/12
to sproutc...@googlegroups.com
Some time I ago I drafted, as suggested by Charles in another thread, a project governance document which also proposes a voting system based on one we already use at the mapserver.org project:

https://github.com/sproutcore/sproutcore/wiki/RFC-1-:-Project-Governance

it was intentionally kept quite loose and lightweight so as not to slow or impair the development process.

Umberto
Reply all
Reply to author
Forward
0 new messages