Using GPL code in your software

I’ve written an article on using GPL code in your software, covering “the essentials” on:

  • The GPL (GNU General Public License) and LGPL (Lesser GPL)   *US spelling…
  • Challenges of interpreting the GPL
  • Key legal issues when incorporating GPL-licensed code in proprietary programs
  • Issues and consequences arising from GPL violations.

The article doesn’t cover other open source licences. While GPL is the most well-known open source licence, an interesting issue is the apparent (let’s say alleged) trend away from copyleft open source licences (such as the GPL) towards permissive open source licences such as the Apache, MIT and BSD licences.

Whatever licence is used on a third-party components of your software, it is important from a legal and commercial perspective to ensure that you understand the implications. As outlined in my article, consequences of a GPL (or other) licence breach can include:

  • Liability to the licensor or an injunction;
  • Problems arising from IP audits or due diligence projects, which could have significant implications for a proposed business/asset sale, valuation, joint-venture or merger;
  • Breaches of IP warranties or other contractual obligations to end-users; and
  • Potential conflicts with end-user procurement policies (i.e. policies stating that all suppliers must fully comply with licensing requirements)

The Affero General Public Licence

The AGPL arose from a perceived loophole in the GPL and other licences regarding software used across a network. (I’ll refer to this as software as a service for the purposes of this article even though, like “cloud computing”, I find the name rather inapt sometimes).

The latest version of the AGPL, version 3, essentially replicates the GPL version 3, but with an extension specifically applying to SaaS – that is, programs providing “remote network interaction”. The Free Software Foundation, publisher of the GPL and AGPL licences, says examples of programs meeting this criteria are web and mail servers, interactive web-based applications and online games servers (here).

Under the GPL, when software is distributed, the source code must also be distributed, thus allowing modification or incorporation into other software. But in the case of SaaS, it is not the software itself which is being distributed, but rather some functionality of the software. Continue reading