Software patents must stop. They are obsolete.
How can anyone know that an idea hasn't been used before? It is extremely unlikely for the patenter to actually be the first one to use an algorithm. Many go undocumented due to trade secrets or the true developers don't care to spend significant resources on a faulty patent system. It is impossible to verify that a patent is novel, period.
It is especially ridiculous for person X to claim ownership of an algorithm when persons A, B, and C actually come up with the same idea independently without knowledge of X, possibly even before X.
Then the government grants X exclusive monopoly rights to an algorithm, the problem is that this adds very little value to the community at very great cost. Even if the patent turns out to be invalid, it can cause a great deal of harm to developers.
Why grant software algorithm patents when someone else is perfectly willing to implement a custom solution at a lower cost without using any of X's work. The basic idea behind patents is to spread ideas and knowledge. This is noble, however anyone who's read a patent knows how cryptic and useless they are to actual developers. It's a failed cause and everyone knows it except those who profit by them by draining "intellectual property" out of the developer's domain. When the patent expires, nobody's going to gain any value whatsoever from these now public domain obsolete legal documents.
These days we have far better resources than patents for learning about software technologies: books, technical magazines, "the intenet". In fact I don't know any developers who ever consider patents as a source of information (this is the "value" they were intended to provide.)
These artificial monopolies on software algorithms just never made any sense, but today with the viable alternatives available it never made more sense to ditch software patents than now.