Skip to main content

Ralsina.Me — Roberto Alsina's website

What is flexibility

Ok, a rant.

A word you see a lot on the free soft­ware (what­ev­er) cir­cles, is flex­i­bil­i­ty.

In par­tic­u­lar, peo­ple al­ways like to say how a cer­tain pro­gram, or op­er­at­ing sys­tem, is flex­i­ble.

For ex­am­ple, some peo­ple say gen­too (or GNOME, or KDE, or fvwm) is flex­i­ble.

Poor mis­guid­ed soul­s. They should say they are con­fig­urable.

Flex­i­ble does­n't mean con­fig­urable!

A flex­i­ble pro­gram will han­dle many dif­fer­ent con­di­tions with­out us­er in­ter­ven­tion (or with min­i­mal in­ter­ven­tion). The metaphore is that flex­i­ble ob­jects are bent with min­i­mal force.

Kudzu (or Knop­pix's hw­con­fig) is flex­i­ble.

Re­com­pil­ing your ker­nel to stat­i­cal­ly link a new driv­er is in­flex­i­ble.

If you think that just be­cause you can man­u­al­ly re­con­fig­ure your sys­tem in­to a bazil­lion dif­fer­ent con­fig­u­ra­tions, your sys­tem is flex­i­ble, then you sure­ly agree that mar­ble is flex­i­ble.

Af­ter al­l, you can turn mar­ble in­to many dif­fer­ent stat­ues, all dif­fer­en­t!

No, sil­ly put­ty is flex­i­ble, be­cause you can shape it in­to dif­fer­ent forms eas­i­ly and quick­ly and with lit­tle ef­fort.

If in or­der to change the ink set­tings on your print­er you need to cre­ate a new print­ing queue, or print to a file and per­form a mag­ic in­can­ta­tion with a .ps file, your print­ing sys­tem is not flex­i­ble.

In fac­t, the on­ly re­mote­ly flex­i­ble print­ing sys­tem on Lin­ux is CUP­S. The rest are rigid, in­flex­i­ble and bad at their work (at least the ones I know).

If in or­der to ac­cess a de­vice some­one tries to use you have to re­con­fig­ure your sys­tem, or down­load more stuff, or hunt for a driver, or re­build your ker­nel, or re­com­pile ap­pli­ca­tion­s, your sys­tem is bro­ken.

If you think that your sys­tem is flex­i­ble just be­cause af­ter ap­ply­ing force to your sys­tem it per­form­s, you are wrong. Your sys­tem is rigid, and you are the flex­i­ble buf­fer that is adapt­ing, it's like a bake­lite rod wrapped in rub­ber­foam. And you are the foam.

You know, when you take an in­flex­i­ble ob­ject and you try to make it adapt to some­thing, it breaks. That's why in­flex­i­ble soft­ware is bro­ken so of­ten.

Since al­most ev­ery­one has this sil­ly idea about what flex­i­ble mean­s, I will prob­a­bly start us­ing mal­leable or plas­tic in­stead.

Thank you very much, try the veal, I'll be here un­til thurs­day.


Contents © 2000-2024 Roberto Alsina