What is a patent?

Software patents are patents that cover inventions implemented in software – for example, specific techniques, algorithms, protocols, or technological solutions executed by a computer program. A patent, in general, protects ideas or inventions (in a functional sense), which is fundamentally different from what copyright protects. While copyright protects the code’s expression, a patent can protect the underlying concepts or methods that the code implements . In other words, if you invent a novel process or solution and implement it in software, a patent (if granted) gives you the exclusive right to prevent others from using that same invention (even if they write their own code to do it) for a limited period of time (typically about 20 years from the filing date).

A simple definition: A software patent is a patent on a piece of software, such as a computer program, library, user interface, or algorithm . This means the patent holder has a monopoly on that particular invention – no one else can make, use, sell, or import software that implements the patented invention without permission (typically via a license) during the patent term. To get a patent, the inventor must apply to a patent office and meet requirements like novelty and non-obviousness; the process is rigorous and involves public disclosure of how the invention works. Patents are not automatic (unlike copyright) and are granted only after examination by patent authorities.

How patents differ from copyright (in software):

  • Protection scope: Copyright and patents protect different aspects of software. Copyright covers the specific expression (the code), whereas a patent covers the invention/idea (the functionality or method). For example, if you devise a new data compression technique and code it, copyright would stop others from copying your code verbatim, but it would not stop someone from writing their own code for the same technique. A patent, on the other hand, could stop others from using that technique altogether (even with different code) .
  • Obtaining rights: Copyright arises automatically and is free; a patent requires a complex, often costly application process and approval by the government . Not every software idea is patentable – laws vary, and some jurisdictions (like the EU) put strict limits on software patents, requiring a technical effect beyond just software algorithms.
  • Duration: Patents have a shorter term – generally 20 years – whereas copyright lasts decades (life of author + 70 years after, in many cases) . Patents expire sooner to balance the monopoly with encouraging public domain technology.
  • Exclusive rights: A patent grants the right to exclude others from making or using the invention. If someone independently comes up with the same algorithm, a patent could still block them. In contrast, independent creation is a complete defense in copyright (if you didn’t copy the code, you’re not infringing copyright).
  • Disclosure: Patents require public disclosure of the invention (the patent document publishes details), whereas copyright does not require disclosure of the source code (closed-source software can be copyrighted without revealing the code).

Patents in Open Source Software – How OSS licenses address patent concerns: Open source licenses are not just about copyright – many also include terms related to patents to protect both developers and users of the software. Two key concepts often encountered are patent grants and patent retaliation clauses:

  • Patent license grants: Some open source licenses explicitly grant users a license to any relevant patents held by contributors. For example, the Apache License 2.0 is well-known for its patent clause. It states that each contributor to an Apache-licensed project “grants to you a perpetual, worldwide, royalty-free, irrevocable… patent license to make, use, sell, offer to sell, import, and otherwise transfer” the software and its contributions . In essence, if a developer contributes code to an Apache 2.0 project, they can’t later claim you’re infringing their patent by using that contribution – they’ve already given you permission . This provides peace of mind: users and other contributors are shielded from patent suits by anyone who contributed to the project. Many other licenses have similar patent grants (for instance, MIT and BSD licenses are often interpreted to include an implicit patent license, and GPLv3 also has an explicit patent grant and requirements for distributors to license patents royalty-free). The Apache 2.0 approach has been particularly lauded because it tackles the scenario where a patent might only be infringed when the contribution is combined with the rest of the project – Apache 2.0 covers that as well .
  • Patent retaliation (termination) clauses: Some licenses include a “patent retaliation” provision which says that if a user of the software ever files a patent lawsuit against the project or its contributors, they lose their rights under the license. Apache 2.0, for example, states that if you initiate a patent litigation against the software or its contributors, any patent licenses granted to you under the license terminate immediately . This acts as a deterrent against patent aggression: you can’t enjoy the benefits of the open source license and simultaneously sue the developers or users for patent infringement on that software. The GNU GPL version 3 has a somewhat similar concept – it requires that if you convey the software, you must do so in a way that doesn’t impose patent restrictions on downstream users (effectively ensuring that any patents covering the code are made available for free use by all recipients of the software) . In short, open source licenses strive to ensure that patents won’t be used to “close off” the software or undermine the freedoms that the license is granting.
  • Defensive patent pools and pledges: Outside of licenses themselves, the open source community has developed initiatives like the Open Invention Network (OIN) – a cross-licensing alliance where companies agree not to assert patents against the Linux ecosystem – and patent pledge programs where companies promise not to sue open source developers for certain technologies. These are not license terms, but they play a role in reducing patent threats in open source.

Patent Trolls

Perhaps the most notorious challenge is the rise of patent trolls (also known as non-practicing entities).

These are companies or individuals that don’t actually create software or products but acquire patents solely to demand licensing fees or sue others for infringement. Patent trolls often target software companies and open source users, seeing them as easy targets for lawsuits. According to the Electronic Frontier Foundation, a patent troll “uses patents as legal weapons, instead of actually creating any new products or coming up with new ideas.”

They exist to extort money by threatening litigation. In the context of open source, trolls have even monitored activities (like job postings for certain software skills) to find targets – for instance, sending a demand letter to every company that deploys an open source project like Kubernetes, claiming those companies infringe some broad software patent.

Because defending a patent lawsuit is extremely expensive, many businesses (especially small ones) feel pressured to pay the troll to settle. In fact, over half of all patent lawsuits in recent years are initiated by patent trolls, illustrating how rampant this problem is. This is a serious concern for the open source ecosystem, since patent trolls often target downstream users of open source (who may not even realize they’re infringing a patent by using a given open source tool).

The open source community, along with organizations like the Open Source Initiative, has been rallying to curb patent troll abuse and to defend open source projects from such threats.

OSI Licensing 101

Start with the fundamentals of Open Source licensing and intellectual property.