"Patents are a different story. Software patents don't cover programs or code; they cover ideas (methods, techniques, features, algorithms, etc.). Developing a large program entails combining thousands of ideas, and even if a few of them are new, the rest needs must have come from other software the developer has seen. If each of these ideas could be patented by someone, every large program would likely infringe hundreds of patents. Developing a large program means laying oneself open to hundreds of potential lawsuits. Software patents are menaces to software developers, and to the users, who can also be sued. A few fortunate software developers avoid most of the danger. These are the megacorporations, which typically have thousands of patents each, and cross-license with each other. This gives them an advantage over smaller rivals not in a position to do likewise. That's why it is generally the megacorporations that lobby for software patents."