IBM is a strong believer in patents, having again in 2003 led the world - as it has for the past 11 years - by filing over 3,000 patents. Establishing defensible legal mechanisms for the protection of intellectual property within software is a vibrant and dynamic domain, with companies doing everything from nothing to copyright to aggresive patenting and attendant licensing of those patents. It's my personal opinion (and not that of any person living or dead and certainly not of any organization with which I'm affiliated) that the law is still playing catchup with software and that the various patenting offices around the world have struggled as well, in some cases rejecting quite legitimate patents while at the same time letting slip some overly broad and distinctly strange patents into the mix. I'm not a legal expert, so I won't begin to speak of these legal mechanisms; I'm also not an MBA, so I won't begin to comment on patenting as a corporate mechanism. However, from the perspective of a software professional, I have two subjects for consideration.
First, the presence of patents is steadily growing as an engineering force upon development teams. We are not quite at the point where every code warrior needs to pair program with a lawyer, but it is the case that many development teams are probably happily coding away not realizing that they are in violation of some patents which they otherwise might perceive as obvious prior art. This brings us back to the corporate mechanism of patents and cross-licensing, so I won't go further with that issue.
Second, studying patents is an amazingly valuable way to learn about and understand existing architectures. Using patented information to build a system is a clear violation of the law; talking about or describing the intellectual property within a patent is legal, for patents themselves are public information (and most software patents contain a considerable of design detail). I don't have the exact number, but IBM was awarded a few hundred software-specific patents in 2003; Amazon has just under 50 patents total in its portfolio in the United States, each of which is an interesting study in one aspect of their system's architecture and which I'm studying as I persue an archeological dig therein).
In addition to Amazon's system, I continue to advance my study of the JPL Spirit's software architecture. Spacecraft are actually on the US Munitions List and so are protected under federal export control. Disclosing source code would be a clear violation of these federal statutes, disclosing certain algorithms might even land me in jail (can I get a cell near Martha?), but disclosing the architecture of something like Spirit is fuzzy, since a considerable amount of these high level design decisions are already publically available in bits and pieces throughout various technical and trade journals. Nontheless, this is an area where the legal ground is soft and in some places total virgin territory, but territory where I'll be treading over the coming months.