[RFC] Rethink the voting / decision making process
David Lang
david at lang.hm
Thu May 26 14:04:56 EDT 2016
On Thu, 26 May 2016, Jo-Philipp Wich wrote:
> Hi,
>
> as you might have noticed, the current voting rules are extremely
> simple, IRC centric and not clearly defined.
>
> In order to reach a wider audience I'd ask for your input on how we
> could rework that mechanism to be more fair and representing in the future.
>
> Below are a few random thoughts of mine, with no particular opinion from
> my side yet.
>
>
> 1) Decouple voting right from committer right
>
> Does it make sense at all to keep the committer / voter coupling at all?
> Would it help to redefine committer as someone whose changes got merged?
>
> 2) Dealing with inactive persons
>
> Shall inactive persons lose their voting rights at all? Do we even need
> such a mechanism? Shall we maybe just count majorities within a circle
> of people attending / registering for a vote? That would probably
> eliminate the inactive people problem...
>
> 3) Voting process
>
> During various IRC sessions we decided to try http://liquidfeedback.org/
> - imho this would remove the real time IRC constraints from votes and
> any topic could be freely decided by each member within a suitable time
> frame. Is there anyone with experience in Liquid Feedback who likes to
> share some insights?
>
> 4) Voting proposals
>
> How shall we decide what to even vote on? Shall anyone be free to
> propose something? If so, how?
Voting should take place over a few days (life happens), possibly with a
provision for early voting. It should not require that people be online at a
specific time.
The question of who votes is a tricky one.
I do not think that it should be restricted to people who have recent commits
accepted into trunk. People who review code, but don't generate it, people who
answer questions so that the programmers don't have to, people who contribute to
documentation (even if they aren't the one with the name in the commit) are all
very valuable. Even people who just maintain a customized build publicly are
valuable.
I participate in Rsyslog development, but I have very few code contributions,
and the most recent of those are several years old. But my analysis of design
issues prompted the main developer to call me out by name in one of his
presentations early on (long before I contributed any code), and if you ask a
question, the odds are about 70% that I will be the one who answers the
question.
By the current OpenWRT/LEDE voting logic, I should be a nobody who has no right
to say anything.
But people who get heavily involved are investing their time and acting as
advocates and should not be locked out.
On the other hand, we saw the mess with Busybox where a developer who had
essentially abandoned the project a decade or more ago popped up and started
making demands when they clarified their license to be GPLv2 only (in
recognition that they were merging GPLv2 source and so the results could not be
GPLv3 or newer)
So I would suggest that:
1. someone with enough recent commits merged should be able to vote
2. someone with lots of recent posts on the mailing lists/forums should be
able to vote
3. someone who is providing infrastructure support for LEDE should be allowed to
vote even if they are not producing code/posts
4. someone who is doing a lot of work on bug triaging should be allowed to vote
(this may just count as posts per #2
5. similar to #4, companies/individuals who are contributing significant
equipment/services to LEDE should have a vote (they vote with their feet if
nothing else, let them vote directly if they want)
It is going to be neccessary to prevent excessive bike-shedding by people not
producing code, so I would suggest making it so that the number of voters based
on posts be limited to the top N, where N is the number of people with recent
enough commits or something similar.
And since commits can be pulled from OpenWRT, this will mean that OpenWRT
developers are going to be able to vote in LEDE.
Allowing votes based on the number of posts opens the potential for someone who
is making lots of negative posts to get a vote.
In both of these cases, I would say that to start with, see if you can live with
a small number of 'bad' voters in the pool. While you could setup a mechanism to
ban voters, the very existance of such a mechanism is going to cause problems,
let alone invoking it. If there are enough LEDE people, a few votes by people
hostile to LEDE isn't going to matter. If the numbers start getting significant
enough, the rules can be changed (before they become large enough to dictate the
rules)
how many commits should be needed? measured by commits or lines-of-change?
how recent should the commits need to be? someone who hasn't contributed in a
month should definantly be allowed to vote, someone who hasn't contributed in 5
years shouldn't (at least not based on being a committer, they may qualify based
on posts)
David Lang
More information about the openwrt-adm
mailing list