SakeTami
godotengine
godotengine

patreon


February 2018 Voting time!

Here's the voting form! While voting will close at the end of the month, results will be delayed some days this time as I won't be at home to run the script to compute them. Apologies for the inconvenience!

https://goo.gl/forms/Ctzht4Knn0UBWsaD3

As 3.0 is now out, many developers are already tackling several of the winning items. For those missing, I (Juan) will take care personally to make sure they exist.

Currently, my priority is to finish features/improvements that are needed by other developers for 3.1, so they don't become blocked. As soon as I am done with that, I will work on the items that are untaken. Everything voted (up to before the next feature freeze), will be present in Godot 3.1 (as long as no complex dependencies are needed, in such case the dependencies have priority).

Happy voting!

Comments

Haha, I didn't expect my question would start such a conversation. @ cheese, glad to know I'm not the only one either! @ Juan, I'm really sorry to bother you — I'm sure you have other things to do than change the voting system. So, sorry to insist, but just to clarify (and I'll drop the issue after that, promise!) - From your first replies I'd understood that you didn't have much choice regarding the voting system, that you were just following the guidelines from the Software Freedom Conservancy. But after your discussion with cheese, it seems you do have some liberty in how it's implemented, right? Otherwise, you can ignore the following. I don't think switching to approval voting would be more confusing. In many ways it would be actually simpler, both for the voters and for you: - For the voters, everybody gets to vote once, so we don't have to fill the form more than once, we don't have to worry about how many points we have, and the best voting strategy is always to vote our favorite(s); and even if we didn't understand that we could check several options, we're not losing much if we just check our top favorite (which is not always true with the current system). - And for you, there's only one form per voter, so you'll have fewer votes to check against addresses; for voters who have more voting points, you can just multiply their votes by their weight, and that's it. Unless I misunderstood your current method, calculations would actually be much simpler: you don't have to worry how many times someone voted to calculate the weight to give each of their ballots — since there's only one ballot per voter. And as mentioned by cheese, you can keep the same google form, just switching from radio buttons to check boxes to allow several options to be selected (several, or none). - And importantly, it would give you a much more precise idea of what your community of voters really want. As shown by cheese, the current system leads to vote splitting, and doesn't yield a fair representation of the voters priorities. Well, that's all. Thanks for taking time to read all that, I apologize for the trouble. Voting systems is something I think is important, but the issues we're voting on here are not that crucial, so I'm not going to perster you with that any longer. Just, I'd be very happy if you do switch to AV! All the best, Adrien.

Adrien Fauré

One additional example of how Approval Voting is beneficial is what happens when a voted on option gets implemented. With the current system, once the first-place item has been completed, you don't know how the people who voted on it will vote next time, so the previous second-place item might not end up first next time. With Approval Voting, you already know what the community as a whole thought was the second most important, since everyone expressed an opinion on everything. Putting the script up on github will allow "many eyes" to help verify there aren't bugs in the script. Also, if I work on it, I would have no problem making test data to verify it against. Actually, I'd be happy to do that regardless of whether we change to Approval Voting or not.

cheese65536

As I mentioned, having seen how votes usually go, I don't think this will make a difference and it will just be more confusing. If a majority of Patrons is in favor of this over the current system, it could be, but honestly I think it's kind of pointless. Also, for the current system, I have to manually re-do all the voting in my head and verify that the results being computed by the script are right, as I don't want a bug on it to distort them. Doing this manually to double check with the proposed method is definitely more complex.

Juan Linietsky & Godot Core Contributors

Actually, you can continue to use Google forms for voting with the only change being to switch from radio buttons to check boxes. And, as I said before, I would be happy to make modifications to the script. Unfortunately, distributing your points between multiple options weakens your vote. If you pour all your points into one option, it is more likely to win than if you spread them out among multiple options. Just imagine the Spoiler Effect scenario I included above, but replace the 6 Minecrafters with 2 voters each with 3 points. If they spread their 3 points out between options 1-3, option 4 wins, but if one of them puts all their points to option 1, then option 1 wins. (Slightly unrelated, but just to be clear, with Approval Voting, all of a voter's points get added to every option they vote for.) The advantage of Approval Voting for community voting is that you learn about the voters' opinions on all of the voting options, not just their first choice. So, instead of learning that 27% want First-Person Controller as their first choice of demo and nothing regarding it for all the people who thought it was their second choice, you learn that 64% are interested in the First-Person Controller. From an information theory standpoint, the existing voting system gets you 2 bits of information (voter's choice of option 1-4), but Approval Voting gets you 4 bits of information (0 or 1 for every option). The difference in bits of information grows with the number of choices.

cheese65536

I understand this, but it requires a custom system to be made and maintained, and we don't have the resources and time for this. With the current system, using Google forms and a Python script everything is solved. Also, as I currently mentioned, you can distribute your points across more options already, so the system is not as restrictive as described. If you have 3 points, you can put 2 in an item and the remaining one in another. Regarding community vote, the amount of people without points voting is in the hundreds, so believe me even with approval voting, there isn't much noise to get rid of and whatever is voted is pretty faithful.

Juan Linietsky & Godot Core Contributors

Juan, thank you for your post on the voting system. I think all the things described in it are fair and reasonable. However, it doesn't really address Adrien's point that Approval Voting might be technically superior at allowing the community/patrons to express their priorities. Here is an, admittedly contrived, example of the kind of problem Adrien was bringing up with the Spoiler Effect. First, imagine there are only 11 voters (each with 1 point to vote), with 6 wanting to make Minecraft clones, 4 wanting to make Candy Crush clones, and 1 wanting to make a Doom clone. Now, imagine the 4 voting options for demos are: 1) First-person controller 2) Procedural generation 3) Crafting system 4) Match-3 game If the 6 Minecrafters found options 1-3 similarly interesting, they might evenly split their votes among them (2 points each) and the Doomer would vote for option 1 (giving it 3 points), then option 4 would win (getting all 4 Candy Crusher points), even though the community would prefer any of options 1-3 over option 4. With approval voting, option 1 would win with 7 points - matching what most people in the community wanted. I know you have lots of actual Godot code to write, so if you put the script you use to tally the votes online (or point out where it is), I would be happy to take a stab at adding Approval Voting support.

cheese65536

Finally, I'm not the only one. I made a reddit post about the voting system used, voter information, and other patreon suggestions a while back: <a href="https://www.reddit.com/r/godot/comments/7545bz/suggestions_for_patreon_voting_procedure/" rel="nofollow noopener" target="_blank">https://www.reddit.com/r/godot/comments/7545bz/suggestions_for_patreon_voting_procedure/</a> . I think Akien may have been on vacation from reddit that week, since I never got any feedback on it. One concern I would have with Approval Voting is that since all the options are positive (there isn't some other-party candidate you are voting against), people might just vote for everything. The wording on the ballot would have to carefully indicate that you are voting for what should be a priority, not for what you simply approve of.

cheese65536

I added a small post explaining how voting system works, in hopes to shed light on this process (and so I don't have to post the same every time :P ) <a href="https://www.patreon.com/posts/17142338">https://www.patreon.com/posts/17142338</a>

Juan Linietsky & Godot Core Contributors

(Plus in this case, I had to vote for a "Roadmap Priority or New Feature", and since I just started using Godot my vote is completely uninformed. I selected one issue randomly. If many voters do the same, that adds noise to your results, making them less reliable. That won't be a problem if there's a strong consensus among your users on one particular issue, but otherwise it may lead you to focus on problems that are not _that_ important to the majority. Really, switching to Approval for future polls would be a sensible move imho.)

Adrien Fauré

If I may... Why is it not possible to support several tutorials, demos and all? The "vote for only one" rule is common, but it doesn't really make sense if you think about it. From the point of view of voting theory it's actually one of the worse — in particular, because of the "spoiler effect", where the most popular choice (the one that would please the largest number of voters) is eliminated by a "spoiler" candidate, strongly supported by a large minority of voters, but actually rejected by the majority. This is especially the case when there are a lot of candidates, just like in your poll. It's a problem in politics, I think it's also a problem for less serious polls. So unless it's deliberate (?), I would recommend moving to "approval voting", a much better method where voters can support all candidates they like. Allowing voters to support all the options they like removes the spoiler effect, leading to much more robust results that actually reflect voters opinions. See <a href="https://youtu.be/db6Syys2fmE" rel="nofollow noopener" target="_blank">https://youtu.be/db6Syys2fmE</a> Best regards, Adrien Fauré.

Adrien Fauré


More Creators