Software relies on incremental development
Software is developed incrementally. That is to say, new software is the result of adding new ideas to old ideas.
(Can you help? I'm not sure if there are studies we can cite for this, but there are surely quotes from many respected software developers. To make this point solidly, we'll need plenty of such quotes.)
Steve Jobs (Apple CEO) on "stealing" ideas
Note: This isn't Jobs' position on software patents, he's talking about product development in general, but he coincidentally describes the problem of software patents pretty well:
It comes down to trying to expose yourself to the best things that humans have done, and then try to bring those things in to what you're doing. I mean, Picasso had a saying: good artists copy, great artists steal. And, we have, y'know, always been shameless about stealing great ideas[...] (Date unknown but by his age it's clearly pre-2000)
While explaining the value of this, he called it "stealing", but he was portraying it in a positive way. It's usually called "incremental development".
Richard Stallman on music
...because [Beethoven] combined his new ideas with a lot of known ideas, he was able to give people a chance to stretch a certain amount. And they could, which is why to us those ideas sound just fine. But nobody, not even a Beethoven, is such a genius that he could reinvent music from zero, not using any of the well-known ideas, and make something that people would want to listen to.
Software development is the same. If you produce a word processor that looks familiar and has some new functionality, people might like it, but if you produce a word processor in which every idea is new, no one will recognise it or know how to use it.
This wiki is part of the End Software Patents (ESP) campaign (donate). For more information, see: