Maybe there could be different things you could vote for as part of the game mechanics.
Maybe there could be different kinds of guilds (totalitarian, tribal, egalitarian).
Then, different kinds of guilds could have different things members could vote for.
Agree on the first sentence, disagree with the third.
This would fix guilds beforehand in their structure, making internal changes unnecessary difficult.
I disagree also with the proposal of Pestilence, to record the off-time of the leader and base the voting on that.
If the leader got banned or left for good, so there is little chance that he will come back to change guildstuff, there is no reason to wait for 2 months or longer, as it is already clear that he won't come back.
I propose following system:
The voting system is used to overrule any privilige a leader has (name of the guild, motd, secrecy, changing privileges, alliances and war, promoting somebody to any level including lvl 9 (exchanging the leader = impeachment).
Anyone opens a voting (maybe it is best to restrict the possibility to open votings by setting a privilege for it, even if it sounds strange).
A dialogue pops up, to choose the purpose of the voting, looking like this:
[ ] toggle secrecy
[ ] change guildname to .........
[ ] propose *somebody* else for *level* #*somebody* is a list of members, *level* a list of the guildlevels
[ ] change motd to ......
[ ] propose alliance with ...
[ ] propose war with ....
(changing priviliges dont look that easy on first glance)
One can only choose one item and also has to choose the deadline (minimum should be fixed to 3 days =72 hours).
When the voting has started, an email automatically is sent to each account of the guildmembers, stating the deadline of the voting and the item.
While the voting is running, a popup opens for a guildmember who logs on with the voting and the possibility to vote with yay, nay and abstain if he hasn't voted yet.
All Yay and Nay votes are counted while the voting is running, only the votes cast are counted, the maximum number of members in the guild are disregarded as there can be a lot of inactive people.
On the deadline, the system counts the votes. If the yay votes are over a given (percentage) line, the system automatically executes the item of the vote. If the yay votes are not over the given percentage, the system doesn't execute the item.
For both possible results (50-50 votes should be counted as nay, i think) another automatic email is sent to the emails associated with the accounts of the members, stating the result.
I propose to set the percentage limit to 50% per default but can be changed by the leader in a range of, let's say 30% to 70%.
A totalitarian leader would set the percentage to max in order to make it as hard as possible to get kicked, an egalitarian leader would set the percentage to min because he wouldn't have to fear opposition.
This system would make it possible to restrict the ability to open votings to only one level, which can pretty much be seen as choosing a vize leader.
Of course, it should be discouraged to think that one can live without and not allowing anyone to open votings as it would create the situation we have today.
This system allows the use in egalitarian guildsystems as regular means to change things by direct democracy, and by setting the percentage limit to max it serves the impeachment function in totalitarian systems.