Comment Re:Patents (Score 1) 78
Any realization that is novel can be patented. This means that ideas cannot be patented. But, any code can be patented. This can be a component, a DLL, a framework, a program, an application, or a system like a client-server system or multicomponent application.
But, here is the kick in the head. The patent examiners have no experience with software patents. There is no body of knowledge for the examiner to draw from to know what is prior art or not. So they are issuing many software patents that are bogus. This means that someone has to sue the patent holder and the patent holder must defend the patent. The courts ultimately decide what patents are valid. Eventually, the patent examiners will get a grip on what is prior art.
A patent is only as good as its ability to be defended in court. When you do a patent search you will see an entry called claims, which tells you how many times the patent holder got sued and successfully kept his patent.
Patents consist of separate claims. This is something different. In the patent a claim is one of the assertions regarding who the artifact works. Patented artifacts are combinations that might be prior art. What is important is that the function be novel.
As far as algorithms go, only algorithms that have been made into a realization, i.e. executing, debugged code can be patented.
Copyrights protect ideas, text, and algorithms in the mathematical sense.