careful what you wish for

The case for: if you separate mechanism sufficiently from policy, people can use that mechanism to implement arbitrary policies.

The case against: if you separate mechanism sufficiently from policy, people will use that mechanism to implement very arbitrary policies.

Je vous remercie pour votre attention.

5 comments to “careful what you wish for”

  1. Mike Hoye
    entered 19 July 2004 @ 11:26 am

    It seems to me that generally speaking, mechanism circumscribes policy as much as it enables it. It’s not a question of “do we divorce the two or not”, but “how much flexibility of policy do we want in our mechanism to permit/enable.” If you’re going to say “We want pure mechanism that enables every possible policy”, you’re going to end up with a swiss army knife as wide as a desk, with all the attendant usability. With X, basically.

    I’m always a little concerned when I hear people say “foo will provide mechanism, not policy”. That seems like one of Nature’s warning signs, like bright colors on a caterpillar or a spoiler on a chevette, and demarks those people who don’t understand the relationship between the two or, as you say, the inherent risks of either extreme.

  2. Mike Hoye
    entered 19 July 2004 @ 11:52 am

    Oh, and P.S: you’re going to be in town, and I know that you’re equipped with a mechanism for ingesting liberal quantities of alcohol. And that’s why you need to drop me a line about your availability, so that we can form some policy and then implement the hell out of it.

  3. entered 19 July 2004 @ 8:28 pm

    “Mechanism not policy” so often doesn’t even mean that; it’s just a code phrase for “we deferred the difficult decisions”. So instead of a policy that was actually, like, designed, you get a de facto policy consisting more or less of whatever happened to be the defaults for the stuff they didn’t think of.

    Where is the X mechanism that will support my preferred policy of “not killing the entire process when the network to one of the X servers goes away”? There is none. Because it didn’t occur to whoever wrote Xlib that people might want multiple connections, we have the unintentional policy that apps can’t reliably open more than one server.

    OK, I’m ranting.

  4. entered 20 July 2004 @ 2:23 pm

    If I’m following this conversation correctly, then I think it should be pointed out that quite often, the people who are using the mechanisms to impliment those very arbitrary policies end up doing wonderful things: see Mono.

    Merci, et salut la visite.

  5. entered 21 July 2004 @ 7:48 am

    Hrm. You know, now that I think I’ve a better idea of the context, I’m not so sure my point makes sense.