How is the phrase "When your program breaks, you get to keep both pieces." commonly used?

  1. I have read this phrase before. I'd say it's common among programmers who are writing their own warnings or licenses for software.

  2. Yes. I believe the metaphor relates to an object that is broken in two, as if software could break in this manner.

  3. Yes, it is playful. It's terse and sarcastic: it seems it may be a criticism of the verbosity of legalese in software licenses.


As far as I've been able to determine, the canonical appearance of "if it breaks, you get to keep both pieces" in software development comes from the manual page of the BSD chat program, a tool for communicating with modem hardware. The earliest version of that manual page I could find was from 1994 in the FreeBSD 2.0 distribution:

COPYRIGHT

The chat program is in public domain. This is not the GNU public license. If it breaks then you get to keep both pieces.

The statement was a clear dig at the GNU tools from the Free Software Foundation, which were infamous for having long copyright sections in their manual pages dotted with ALL CAPS warranty disclaimers, for example this is the equivalent section from the man page of GNU make:

COPYRIGHT

Copyright (C) 1992, 1993, 1996, 1999 Free Software Foundation, Inc. This file is part of GNU make. GNU make is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version.

GNU make is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with GNU make; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.

These days, the standard GNU copyright section is much shorter, if it appears at all, but at the time the GNU General Public Licence was legally novel and untested, and the FSF felt it best to be careful.

Since the userland of OS X is based on BSD, it's very likely the term made its way into some Apple developer's vocabulary through that tradition.