Brad Fitzpatrick (bradfitz) wrote in lj_dev,
Brad Fitzpatrick

The problems with policy

The Problem
Technically, implementing stuff is rarely difficult. Most hold-ups nowadays come from policy decisions. "How should it work? Why? What are the pros/cons of doing it that way?"

Before we spend a full day or week hacking something out, most of us developers aren't motivated to work on it until we know we have the design right, and it'll be acceptable, and the community will like it.

As the community grows larger, there are ever more voices, everybody chiming in with their opinions which tend to go every which way.

So lately it seems nothing gets done because there are a hundred people for and against each issue, which deters any changes from being made. (Of course, there are the people who argue that no changes should be made too, and that's often the best decision, but not always.)

My Solution
This might be the best solution, but it's the solution that I think will work for me, and in the end that's what matters, because I put code live. And I don't put code live which I don't have confidence in, and people don't write code unless they think it'll go live.

So here's what I want:
  • An issue comes up. We figure there are 2 ways to do it, but we can't decide which way is better, though we see the pros/cons of each. We're blocked on the policy decision.
  • I, or one of the other employees, makes a post to lj_dev or lj_biz about the problem, hoping there's an overwhelming response one way or another. We find out in the process there are actually 3 good ways to do it, and a 4th major voice not to change anything. Now we're really stuck.
  • Now one of us posts to the new system, currently lacking a name. Anyway, we make a post into it where we list the problem, then the 4 (or however many) major viewpoints we've heard, and a short synopsis of their pros/cons.
  • Now, people are allowed to vote on the viewpoints. But voting alone is gameable. In the end, I don't care what gets the most votes. I care about votes weighted by the intelligence of their arguments. So not only do you vote on your topic, but your vote includes 1 or 2 URLs which you feel best describe the arguments in favor of your vote, and/or against the other votes.
  • People can actively review the leading URLs for each voting item and change their vote/URLs at any time. If people decide to fuck with it and put Goatcx URLs in there, we just ban those URLs and those voters. I'm not concerned with that.
  • When activity has died down (and probably throughout the activity), I and possibly other leading volunteers/employees responsible for that bit of code will be reviewing the leading arguments and will make a final decision.
So in summary, I don't give a damn about numbers of voters on an issue, since numbers so easily lie. If a thousand people say "This candy is good, I want more" and one other guy says, "I studied that candy for 11 years and it kills you without warning after 6 months", I'm going to side with the single voter... his argument was better.

This whole process is what I used to do by hand, but there's just too much activity nowadays for me to sort through it all, so this should help spread the load.

Especially bad is that I often don't bring issues up to popular forums anymore (like news) because I don't want to be swamped. Nothing stresses me more than 6,000 comments of fighting. In the end I just want to hear both sides' best arguments and make a decision. This proposed system would let essentially elect a speaker for their party.


  • Post a new comment


    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

← Ctrl ← Alt
Ctrl → Alt →
← Ctrl ← Alt
Ctrl → Alt →