Loading ...
Sorry, an error occurred while loading the content.

Specs - do we need them?

Expand Messages
  • Jeff Sutherland
    Linus thinks not ... Date Thu, 29 Sep 2005 12:57:05 -0700 (PDT) From Linus Torvalds A spec is close to useless. I have _never_ seen a spec that was both big
    Message 1 of 2 , Oct 5, 2005
    • 0 Attachment
      Linus thinks not ...

      Date Thu, 29 Sep 2005 12:57:05 -0700 (PDT)
      From Linus Torvalds

      "A 'spec' is close to useless. I have _never_ seen a spec that was
      both big enough to be useful _and_ accurate.

      And I have seen _lots_ of total crap work that was based on specs.
      It's _the_ single worst way to write software, because it by
      definition means that the software was written to match theory, not
      reality.

      So there's two MAJOR reasons to avoid specs:

      - they're dangerously wrong. Reality is different, and anybody who
      thinks specs matter over reality should get out of kernel programming
      NOW. When reality and specs clash, the spec has zero meaning. Zilch.
      Nada. None.

      It's like real science: if you have a theory that doesn't match
      experiments, it doesn't matter _how_ much you like that theory. It's
      wrong. You can use it as an approximation, but you MUST keep in mind
      that it's an approximation.

      - specs have an inevitably tendency to try to introduce abstractions
      levels and wording and documentation policies that make sense for a
      written spec. Trying to implement actual code off the spec leads to
      the code looking and working like CRAP.

      The classic example of this is the OSI network model protocols.
      Classic spec-design, which had absolutely _zero_ relevance for the
      real world. We still talk about the seven layers model, because it's a
      convenient model for _discussion_, but that has absolutely zero to do
      with any real-life software engineering. In other words, it's a way to
      _talk_ about things, not to implement them.

      And that's important. Specs are a basis for _talking_about_ things.
      But they are _not_ a basis for implementing software.

      So please don't bother talking about specs. Real standards grow up
      _despite_ specs, not thanks to them.

      Linus

      Linus Torvalds Outburst Sparks Fierce Debate: Does Open Source
      Software Need Specs? http://fr.sys-con.com/read/136960.htm
    • Tim Haughton
      Linus makes the tacit assumption that specs have to be written in a waterfall framework. Spec a little, test a little, design a little, lather rinse and repeat
      Message 2 of 2 , Oct 5, 2005
      • 0 Attachment
        Linus makes the tacit assumption that specs have to be written in a waterfall framework. Spec a little, test a little, design a little, lather rinse and repeat - looks quite different.
         
        Linus created something quite lovely when he created Linux. I don't see hime as an expert in methodology though. Could be wrong.
         
        Cheers,
         
        Tim

         
        On 05/10/05, Jeff Sutherland <jeff.sutherland@...> wrote:
        Linus thinks not ...

        Date    Thu, 29 Sep 2005 12:57:05 -0700 (PDT)
        From    Linus Torvalds

        "A 'spec' is close to useless. I have _never_ seen a spec that was
        both big enough to be useful _and_ accurate.
      Your message has been successfully submitted and would be delivered to recipients shortly.