User:Crazyeddie/Districting

Work in Progress
 * Note to self: User:AntonioMartin

Introduction
In the anarchic world of open source software (OSS) projects, most decisions are made by a general consensus. However, there are some decision points where there is no clear consensus about which way to go. This is where the Benevolent Dictator for Life steps in. In these rare cases, the BDfL makes the call. If one or more of the participants in the project don't like the path the BDfL has taken, they have the right to fork and take the path not taken. This, however, is used only as a last resort.

Wikis, like the Wikipedia, have their roots in the open source programming culture. However, they differ from normal open source software projects in some ways. One way they differ is that wikis are larger than most OSS projects, both in terms of participants and of content. The average OSS project has one or two coders and is measured in thousands of lines of code. The average community wiki has dozens to hundreds of contributors and has thousands of articles. (The Wikipedia is much larger than this - almost half a million articles in the English section alone, with a community of contributors that I would estimate is in the hundreds of thousands - at least.)

Because of the size of wikis in general, and the Wikipedia in particular, there are many decisions where this unlikely to be a clear consensus, but are too minor for the BDfL to spend time on. For example: should an article be deleted? should a contributor be banned? should a contributor be given sysop privleges?

To handle these issues, the BDfL of the Wikipedia, Jimbo, has delegeted some authority to several classes of contributors, and the privleges needed to use that authority. Administrators have the privlege of deleting articles, banning contributors, and protecting pages. Bureaucrats have the privlege of elevating other contributors to Administrator status.

In theory, the sole check on the misuse of these powers is that these privleged actions can be undone by other members of the same class. But in practice, these privleged contributors are careful to poll for the opinion of other contributors before taking action.

Composition of the Legislature
Before setting up our own representative democracy, we should look at prior art. The most common form of a representative democratic legislature, at least here in the USA, is a bicameral one. Here's some results I got from looking at List of state legislatures of the United States:

Higher House Highest: 67 Lowest: 20 Mean: 38.7 Median: 38

Lower House Highest: 400 Lowest: 40 Mean: 108.3 Median: 100

''It should be noted that the second largest body, Pennsylvania's lower house, has only 203 members. Note the difference between the mean and median figures on the Lower House table.''

Based on these results, I recommend that we form a Senate, with 38 seats, and an Assembly, with 100 seats.

Setting up the Districts
To form districts, we first need a list of the active citizens of the Wikipedia. To get this list, take a list of logins, strike off any known bots, banned accounts, and accounts that haven't had any activity for the last 30 days. (It might also be a good idea to strike off any contributor with less than 25 edits. Firstly, anything less than 25 edits is a pretty small sample. Secondly, it gives a new contributor a chance to get adjusted before they can be called upon to vote in an election.) Sort this list by number of contributions.

Next, use the contributors with the highest number of contributions to seed their own proto-district. (For Senate districts you have 38 districts, therefore 38 seed contributors. For Assembly districts, 100. Each district will be numbered, 1 - 38 or 1 - 100.) Starting at the bottom of the list (to slow down how “wide” the district grows), compare each contributor's history of edits to each district. Here is one method of doing this: For each page a contributor has edited, divided the number of district members who have also edited that page by the total number of district members. This will give you a number from 0.0 to 1.0 for each page the contributor has edited. Add up these numbers, and the highest rated district wins. In case of a tie, the smallest district wins. If there is still a tie, random chance.

Main namespace articles, userpages, and their related talk pages should be used for this purpose. Certain “commons” pages – such as the Village Pump, the Main Page, and probably the entire Wikipedia namespace – should not. Otherwise, it is likely that all the Administrators would be stuffed into a single district!

After the entire list has been dealt out, it is highly probable that there will be large variations in the size of the districts. To cure this, split the largest district. Use the Senator/Representative and the Alternate (which will be explained later), or, in this case, the two highest contributing people, as seeds for the two daughter districts. The district with the senior seed member will retain the original district number, the junior one will be temporarily assigned a number of either 39 or 101. Divvy up the other members according to the method used above.

Now disband the smallest district, and distribute its members among the other districts. Assuming that it wasn't the one disbanded, district 39 or 101 will be given the disbanded district's number.

Repeat this process until the largest district is no more than twice the average in population.

Maintaining the Districts
Once every 24 hours, presumably during off-peak hours, the following actions should be taken:


 * Remove contributors who have not shown activity for the last 30 days from the district rolls.
 * Assign new contributors who have passed the initial 25 edit mark to their first district.
 * Re-evaluate the district membership of "junior" contributors, who are below the 100 edit mark, at 5 edit intervals.
 * Re-evaluate the district membership of "senior" contributors, who are above the 100 edit mark, at 25 edit intervals.
 * Assign contributors who have previously gone inactive, but have now returned, to a district.
 * Split any district that is more than twice as large than average, as explained in "Setting Up the Districts".

Senators, Representatives and Alternates should not have their district membership re-evaluated during their tenure in office. They should, however, be re-evaluated just before an election cycle starts.

Elected Officials
In order to be a Senator or a Representative, you should have at least 100 edits under your belt. If a current Representative gets elected a Senator, then they'll have to abandon their Representative post - you can't be a Senator and a Representative at the same time, in other words.

IMO, 3 months on the Internet is like a full year in the real world. So Representatives should have a maximum term of 6 months; Senators, 18.

In addition to the normal ending of a term, an election should be held if:


 * The district has been split.
 * 1/3 of the current members of the district were not active members when the last election was held.
 * If the Representative gets elected to Senator.

Because of the need for Wikivacations, and other things that might temporarily keep an elected official from their duties, each district should also have an Alternate, who steps in if an elected official either takes a leave of absence or goes inactive. I'm not sure how this Alternate should be elected - both having the runner up serve and having a separate election have their downsides.

If an Alternate becomes the acting Senator or Representative, there should be a special election held to determine who shall be the Acting Alternate. If the real Senator or Representative returns and they took a leave of absence, they get their old job back. Otherwise, they don't, since they were taken of the rolls of the district. They'll just have to wait until the next election.

Before the election process starts, the incumbents should have their district membership re-evaluated. If they are assigned to a different district, they will continue to be a member of their current district until the new guy can take over. However, they are out of the running.

I would personally prefer that voting be of the instant runoff style. However, I'd go along with a simple plurality vote also. Otherwise, I think the other mechanics of elections were worked out with the ArbCom elections.

Implementation
This program is exactly the type which is hard to get done in the present climate. It is large, disruptive, and requires technical implementation. Unless somebody has a better idea, here's what I plan on doing: Firstly, I will have the idea "flogged around the fleet", by posting it to the Proposal, Policy, and Technical forums in turn. If nobody has given any objections that, IMO, are show-stoppers, I'll try to convince a coder to do the actual implementation for District setup. That, I believe, is simple enough not to require a more formal means of consensus-gathering. Before the Legislature can be setup, there will have to be a formal referendum of some sort, and we will have to get Jimbo's approval.