-
Notifications
You must be signed in to change notification settings - Fork 210
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
PREVENT TAKE-OVERS WITH THIS ONE WEIRD TRICK (SMITTYVB HATES HIM) #361
Conversation
I think I should be added mainly because I'm the leader of the voters ranking. Also, I do not try to approve PRs for the lolz, but only ones I think genuinely are in the best interest of the project. I'm planning on contributing something, but Python is not my native language 😛 |
github_api/prs.py
Outdated
vfor = sum(v for v in votes.values() if v > 0) | ||
vagainst = abs(sum(v for v in votes.values() if v < 0)) | ||
autocracy_str = "an" if autocracy_satisfied else "**NO**" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should this "a"
instead of "an"
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good catch - I previously left out "current" so it read "an autocracy review"
@rhengles Fair enough, added. |
At least one positive autocracy review on the most recent commit of a PR is required for that PR to be accepted.
People downvoting this PR: would you mind leaving a comment as to why? |
👎 (for now) @PlasmaPower I think the requirement should be at least 2 people from the list. It's easy for one person to miss something, but two are harder to trick... of course, then it's hard to see where the boundary is. Why not 3 or 4 people? Also, I think that reviewers should have a way of indicating autocracy-review approval separately from personal approval. i.e. I might not personally agree with the PR, but if other people out-vote me, I still want to indicate that it passed autocracy review. |
I'm against it because i'm not included, so 👎 But seriously i think a democracy is important to hear everyones opinion and give him some power to define the way to our all future. Similar like autocracy, but it isn't excluding anyone. I'm contributing to open source (and free software) because i think it makes a difference. Excluding me with things like this PR wastes potential. And including me in your autocracy wouldn't make it better. You could always kick people that don't vote as you want. A little like our representative democracy in germany. |
👎 |
@mark-i-m I think 1 is the baseline, we should start there. It will at least prevent obvious takeover amends. We can move it up if stuff still gets through. At the very least, 1 is better than 0. If I moved reviews to before votes in the vote tallying, would that be better? That way you could approve changes, but still vote them down. I could also make reviews entirely separate from voting. |
Hi ! Aren't takeovers a part of chaos ? Plus I just discovered Chaosbot and I'd like to be involved in this (but I'm not a developper and I don't know anything about python for now.) so i'm not really happy to see my vote taken away so fast :/ If I may I'd like to share an alternative option, that is : |
@davidak @cthulhuely My intent isn't to take away anyone's voice. The problem I'm trying to solve here is last minute changes to PRs or hidden changes that people miss when voting for.
We get to choose what is part of chaos and what is not. We get to choose if we even want chaos. This PR aims to reduce chaos. I don't think most people want takeovers, as many dictators wouldn't restore democracy as I did. The project would die out without the voice of the people, as that's the foundation of it. If I expanded the autocracy to the top 10 voters + the top 10 contributors (there might be some overlap there), would that be better? |
I think that would work... I also hear the point made by a lot of others... And this PR has the potential to block PRs simply because I'm not available while I'm at work... An alternative might be to make the threshold a lot higher unless somebody from the whitelist reviews for autocracy. |
👍 I think you could as well call this something like a representative democracy. If this passes, the contributors kind of chose their parliament, while keeping some direct influence. Important to note that
So a reaction or comment is not enough, the parliament must post an actual review for a PR to pass. |
Maybe, but it's just as easy to amend a popular PR as it is to amend an unpopular PR.
I'm trying to collect a wide range of time zones in my aristocracy, but that is a big concern of mine. Maybe make the extended voting window bigger? |
Because of the controversy of this PR, I'm probably going to create another PR after this one containing the more major changes suggested (like reviews not counting as votes, which I think is a great idea). |
I think that keeping the same vote threshold, but adding to the requirement at least one review from on of the autocrats could be a good alternative that may allow votes to be useful, and may allow to prevent unwanted takeovers. |
@PlasmaPower i see your good intention here but i'm not sure if this is the right solution. Could we give some users whose work is approved by the community a veto right? That could be a specific emoticon that must be placed in an comment with a explanation why. Every member has only one veto in a specific timeframe, like one month. (can get changed later) When every member had used their veto it could get restored for everyone earlier. |
@cthulhuely That's exactly what this PR does! @davidak Seems to me like that's more power. If the goal is to prevent sneaky take-overs, I think at least one approved review is a lot better than no vetos. |
@cthulhuely
Isn't that the original suggestion? |
By "member" you mean everyone on the list? I think that could work. But somebody could conceivably still take over with careful timing... IIUC your key observation is that most take-over-PRs would be rejected by popular vote anyway, right? |
I have no time to think about this further because i have to work. The sad state of political activity in our society. |
@mark-i-m members are usernames in a textfile, yes.
yes, a healthy democracy should work this way. but there are some manipulative "politicians" like @PlasmaPower who tells they will do something that sounds good and later it will be worse for everyone. (he ended democracy and became a dictator earlier) We need a cricital mass of people who has the time to participate in democratic processes and a way to prevent "take-overs" or similar bad things. I think with that solution everyones vote should have the same power. But there could be a different thing like veto that don't touches the voting power. We might implement it like @PlasmaPower suggested here but change it later if we have a better solution. |
It should be noted that I didn't to anything under my reign and purposely restored democracy ASAP (except I accidentally rejected a PR - I thought my vote there would be normal, but all votes are processed before the server is restarted). If I wanted power I'd already have it. |
@davidak Also, excited for the next season of House of Cards coming out tomorrow? I know I am. 😉 |
What if based on reviews by "veterans" (parliament or whatever) following labels would be added:
This will leave everyone equal, but will allow to quickly see general attitude of people who participated in the project a lot. |
Drat! You have foiled my dastardly scheming 😡 |
@mark-i-m no we're working together to erase everyone's code, remember? 😉 |
pulled upstream |
I like the titles of the open PRs right now:
|
Lol, democracy has discovered advertising 😆 |
@mark-i-m inb4 "partner™ with™ Speedy™ for™ a™ Fast™ VPS™" |
@@ -82,3 +82,7 @@ | |||
PR_STALE_HOURS = 36 | |||
|
|||
API_COOLDOWN_RESET_PADDING = 30 | |||
|
|||
# list of autocracy members | |||
with open("data/autocracy.txt", "r") as f: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe it's a common practice and i don't know about it, but what's the point of using file for this? why not a list in settings.py
for example?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
IDK, keeps it a bit cleaner I guess?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I kind of like the file for these long lists. We do the same for lists of emojis for example...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's going to get removed in the next iteration of the PR anyway (where it's a meritocracy).
Okay, closing to setup the meritocracy. |
#377: Add a meritocracy Description: I decided to not go with a clickbait title this time 😄 Look at #361 for more details, but **I tried to give the meritocracy minimal power. Democracy still decides the outcome >90% of the time.** This is just to prevent against sneaky take over attempts. Basis of how it works: > At least one positive non-author meritocracy review on the most recent commit of a PR is required for that PR to be accepted. Changes from #361: - Autogenerate meritocracy list (currently top 10 contributors + top 10 voters) - Don't count reviews as votes (so members of the meritocracy can allow a PR without voting for it) :ok_woman: PR passed with a vote of 30 for and 1 against, with a weighted total of 27.5 and a threshold of 6.5. Vote record: @CheezBallzPi: 1 @CodingPower472: 1 @DasSkelett: 1 @Evanito: 1 @FrankVanVuuren: 1 @Leigende: 1 @MUCHZER: 1 @N00d13: 1 @Neofox: 1 @PlasmaPower: 1 @Redmega: 1 @Smittyvb: 1 @SylvainThrd: 1 @andrewda: 1 @cthulhuely: 1 @davidadas: 1 @davidak: 1 @eukaryote31: 1 @flibustier: 1 @hongaar: 1 @ike709: 1 @jmerle: 1 @mark-i-m: 1 @md678685: 1 @mgardne8: -1 @phil-r: 1 @rhengles: 1 @rudehn: 1 @tarunbatra: 1 @viktorsec: 1 @vivekzhere: 1
This PR adds an autocracy, as specified in
data/autocracy.txt
. I've hand-picked the members. If you think you should be included, please leave a comment with an explanation of why. The list will be expanded in the future of course.At least one positive non-author autocracy review on the most recent commit of a PR is required for that PR to be accepted.
This does not give members of the autocracy much power. As the autocracy has a wide range of opinions, and only one of them is required to approve the PR, the only thing this prevents is things universally seen as bad, like take-overs.