Should I copyright or patent my software?

Most discussions concerning protecting software touches upon this question, one way or the other. Patents and Copyrights are different forms of Intellectual Property, and they protect different aspects of a creation. Patents protect “concrete” ideas, and are intended to protect inventions – specific implementation or set of implementations of ideas. An example for a patentable…

Ancora Techs., Inc. v. Apple, Inc. illustrates the benefits of keeping things simple

On 3rd March 2014, Apple, Inc. (Apple) lost a case against Ancora Techs., Inc. The case was relating to claim construction (understanding the meaning of claims). This case illustrates the importance of writing clear claims and how clearly worded claims save the day, if and when a patent gets involved in a litigation. The case…

“Technical effect” requirement for Computer Related Inventions (CRIs): a mere guideline or a law?

The patentability requirements for Computer Related Inventions (CRIs) under Indian Patent Law have been unclear. It is generally understood that a CRI must demonstrate “technical effect” and the relevant claims must have “machine limitation”, in addition to the basic patentability requirements of novelty, inventive step, and industrial applicability. However, the phrase “technical effect” has not…

Revised Draft Manual: A case of over simplification re software inventions

The Indian patent office has published a revised draft manual on 04 November 2010. This manual is a revised version of the previous draft manual published in 2008. It is in this context that we revisit the requirements for patentability of software. Draft Manual, 2008: Section 3 of the Indian patent act provides exclusions covering the subject matter that…

Intellectual Property in the “cloud”ed era

Traditionally, computing has been done at defined and identified locations. For example, our computers, laptops, mobile phones, hosted servers, and so on. Cloud computing deviates from traditional computing by providing an abstraction layer on top of the various resources (like development/deployment of an application, processing instructions, and data storage) required in computing. By abstraction, I refer to…