>> If you invent a piece of hardware and get a patent on it, should I be able to implement the same invention in software and get around your patent?
Yes, it all depends on the patent examiner. There are many ways to get around patents. I have worked on projects where I wasted 8 capacitors to avoid a patent infringement when technically those caps are doing nothing. It will smarter to patent a model so that it stands whether in hardware or software.
>> The case of Alice Corporation Pty. Ltd. v. CLS Bank International raises questions about whether computer software can be patented.
In my opinion, software should not be patented. They are nothing but algorithms or mathematical models which many developed and made free. If Pythagoras had patented his theorem, Taylor his series, etc, we may not have most of these products they are working to patent. It makes no sense to patent software when you cannot patent math formulas.
DrQuine said: if we disallow software patents then it would seem we would have to disallow any physical patent that included software.
The courts have upheld the patentability of a physical patent that includes software using the Machine-or-Transformation test (see and donate to Wikipedia):
[A] process qualifies to be considered for patenting if it (1) is implemented with a particular machine, that is, one specifically devised and adapted to carry out the process in a way that is not concededly conventional and is not trivial; or else (2) transforms an article from one thing or state to another.
So if you create something like a printer that includes a mechanical mechanism but is primarily an embedded computer, it is patentable. However, you cannot patent the software by itself under the Machine-or-Transformation test.
DrQuine said: Many good patents are based upon an insight which is easy to replicate once the idea is made public.
Yes, this is true. However, software is protected by copyright so your competitors cannot just copy your source or object code, and many individual features such as trash can icons can be copyrighted or trademarked. To replicate closed-source software, you have to rewrite the code from scratch. That effort increases more than linearly with the complexity of the product, and you have to maintain that software. Meanwhile the original creator of the product has the advantage of being first to market.
I think the reason that software patents are so hard to pin down is that they exist in the grey area between algorithms and fomulas (which cannot be patented) and processes and applications of an algorithm or formula that produce a concrete, beneficial result (which can). Because software spans that range it's real easy to see it one way or the other.
I see two reasons why software patents should be allowed: First if we disallow software patents then it would seem we would have to disallow any physical patent that included software. Surely we don't want to force every inventor to propose a purely physical hardware implementation of every invention. Secondly, if software patents are not allowed then it would seem a reasonable conclusion that software could not violate a patent. In that case the very clever first physical abacus (that I postulated as a mind experiment pretending they had not already been invented) would have its market destroyed by a software clone. Many good patents are based upon an insight which is easy to replicate once the idea is made public - hence the rationale for granting exclusive rights to the inventor for a defined period of time. I believe that intellectual property theft can be a two way street going from hardware (which requires an investment in tooling to start and then materials for each copy) to software (where essentially all of the investment comes up front and the copies are essentially free) and also the reverse direction.
Software is copyrightable, both as source code and object code. IMO copyright is completely adequate to protect the time, effort, and expense needed to create and maintain software. The purpose of patents and copyrights according to the USA Consitituion is "to promote the Progress of Science and useful Arts". Software copyrights do that, while patents do the opposite by interfering with the ability of programmers to write software that doesn't infringe any of the myriad bogus patents that are lurking out there under bridges.
This is not just my opinion. Here is what a famous software producer said about the subject in 1991:
If people had understood how patents would be granted when most of today's ideas were invented, and had taken out patents, the industry would be at a complete standstill today.
Sound familiar? I'll let you look up the writer if you don't recognize him immediately.
IMO patents are appropriate for ideas that take a huge amount of time, effort, and expense to create but are trivial to copy once they'be been created. IMO this is never the case with software: either the software is trivial to re-create, in which case it does not deserve patent protection, or it's hard to re-create in which case it does not need patent protection -- copyright is good enough.
Here's my opinion (IANAL). Anything you can in principle do purely in your head -- or in your head supplemented by pencil and paper -- must not be patentable. All software is in this category. Otherwise the government is restricting what you can think, something anathema to a freedom-loving country. The courts recognize this by making mathematics non-patentable. They haven't figured out yet that software is mathematics.
Are you saying your abacus App -- which costs nothing to replicate -- cannot compete with a physical product that has manufacturing and distribution costs unless you have a monopoly from the USA government? :-)
I think that's an important question. The line between software and hardware is murkier than we often let on and its possible that some of these issues will spill over into hardware from the world of software where they currently animate courtroom arguments.
There are so many issues the courts have to wrestle with on this one. What is software, as an entity independent of it's incarnation on a processor that can execute it? Is it the ones & zeros stored in flash or on a disk? Is it the source code? If so, then does it not bear more resemblance to a written work that could be copyrighted -- like a book -- but not necessarily patented?