X
Business

Why you should care about GPLv3

The open-source community has just seen an update to the licence that underpins most of its developments
Written by Jonathan Bennett, Contributor

The GNU General Public License is a software licence created and used by the Free Software Foundation. It's designed to allow widespread use, modification and redistribution of software released under its terms, and to prevent people denying others those rights.

It ensures that any software you obtain under its terms can be used or altered in any way you choose, by forcing distributors to make the source code — the original, human-readable, and more importantly editable version of the software — of any programs covered by the GPL available. However, if you make any changes to the software, the GPL obliges you to make those changes publicly available.

So it forces me to give away my software?
Not quite. You can obtain, use and alter any software released under the GPL (often called being GPL'd) without having to share anything with anyone. It's only when you start redistributing GPL'd software that you're obliged to start sharing source code. You can even charge for GPL'd software, but you can't stop anyone who buys it from you from then giving it away, if they want to.

Why is the new version needed?
The GPL is designed to protect the freedom of software. That is, the freedom to use, alter and redistribute it. New threats to this freedom have appeared since the GPL was last revised, and its creators now feel it doesn't do enough to ensure software freedom any more. Software patents are the biggest threat, but there are also issues around hardware devices that incorporate software, outside contractors working on GPL software, and web-based use of GPL software.

What's changed in the new version?
The biggest single change is that a level of protection against software patents has been introduced. The terms of version 3 (GPLv3) state that if you grant a patent licence to one recipient of a GPL'd program, you automatically grant it to all recipients of that program. You either grant the licence to everyone, or you can't redistribute the software.

There's also a provision now within the licence for situations where GPL'd code is distributed as part of a consumer device. The provision says that as well as making the source code of such programs available, the user has to be able to install their own version of the software on the device. This is designed primarily to prevent device manufacturers using GPL'd code, adding digital rights management (DRM) facilities, and preventing end users from removing it. Note that this doesn't apply to devices used purely within a business context; any consumer use of a device, even if it's not the majority, means the provision applies.

Anything else I should know?
One major achievement of the new version is that it's now compatible with version 2 of the Apache licence. The reason this is such a big deal is that the Free Software Foundation (FSF) and the Apache Software Foundation (ASF) are the two biggest custodians of open-source software, but with differing licence philosophies. The ASF licence doesn't require users of software covered by the licence to make the source code available publicly. This means Apache-licensed software can be made into a proprietary product, but the licence terms mean that anyone doing so assumes all responsibility for their version of the software — they agree to indemnify all upstream developers. The end result of the changes is that GPL'd software and Apache-licensed software can now be combined to make new software, without violating the licence terms of either. This will prevent a huge amount of duplication of effort in the open-source world.

Under GPL version 2, there is some ambiguity regarding the issue of outside contractors modifying GPL'd software: did that constitute redistribution? And did any changes made by contractors have to be released? This has been now been clarified, and any such modifications need not be distributed provided they are only used by the contracting organisation.

How does this affect me?
Unless you start using software licensed under GPLv3, it won't. If you do, then you're slightly better protected against the effects of patent litigation. While it's unlikely any end users of software would be sued over patent infringement, should someone succeed in enforcing a software patent against the creators of an application you're using, there's a chance that application would need to be rewritten, which would cause some disruption and possible incompatibility.

The consumer device provisions are likely to result in alternative distributions of firmware being made available for a range of equipment, such as broadband routers or personal video recorders.

What's this got to do with the Novell/Microsoft deal?
The patent protection provisions in the new licence prohibit the kind of deal that Novell and Microsoft entered into. The original draft of the licence applied this to all such deals, but it has been altered so that this section only applies to future deals, not pre-existing ones. Had the change not happened, Novell would have been unable to distribute software under GPLv3. The FSF decided the damage to free software done by banning Novell from distributing GPLv3 software would have been greater than the damage created by not applying the patent protection section retrospectively.

What about GPL'd software I'm already using?
Since you obtained that software under the terms of version 1 or version 2 of the GPL, it's unaffected. However, updated versions of that software may be released under version 3, so be careful to check whether your supplier has switched to the new licence.

Editorial standards