An app can be a home-cooked meal
<i>Now, some of you may not ever write computer programs, but perhaps you cook. And if you cook, unless you&#x27;re really great, you probably use recipes. And, if you use recipes, you&#x27;ve probably had the experience of getting a copy of a recipe from a friend who&#x27;s sharing it. And you&#x27;ve probably also had the experience — unless you&#x27;re a total neophyte — of changing a recipe. You know, it says certain things, but you don&#x27;t have to do exactly that. You can leave out some ingredients. Add some mushrooms, &#x27;cause you like mushrooms. Put in less salt because your doctor said you should cut down on salt — whatever. You can even make bigger changes according to your skill. And if you&#x27;ve made changes in a recipe, and you cook it for your friends, and they like it, one of your friends might say, “Hey, could I have the recipe?” And then, what do you do? You could write down your modified version of the recipe and make a copy for your friend. These are the natural things to do with functionally useful recipes of any kind.</i><p><i>Now a recipe is a lot like a computer program. A computer program&#x27;s a lot like a recipe: a series of steps to be carried out to get some result that you want. So it&#x27;s just as natural to do those same things with computer programs — hand a copy to your friend. Make changes in it because the job it was written to do isn&#x27;t exactly what you want. It did a great job for somebody else, but your job is a different job. And after you&#x27;ve changed it, that&#x27;s likely to be useful for other people. Maybe they have a job to do that&#x27;s like the job you do. So they ask, “Hey, can I have a copy?” Of course, if you&#x27;re a nice person, you&#x27;re going to give a copy. That&#x27;s the way to be a decent person.</i><p>— Richard Stallman, 2001 (<a href="https:&#x2F;&#x2F;www.gnu.org&#x2F;philosophy&#x2F;rms-nyu-2001-transcript.html" rel="nofollow">https:&#x2F;&#x2F;www.gnu.org&#x2F;philosophy&#x2F;rms-nyu-2001-transcript.html</a>)