The five stages of reinventing the wheel

  1. Write the spec for a wheel.
  2. Assign someone to make the wheel.
  3. Make the wheel.
  4. Find the source code for an older wheel.
  5. Use the original wheel.